[PostGIS] #5619: ST_Intersection, side location conflict on Postgis 3.4

PostGIS trac at osgeo.org
Fri Nov 24 00:31:23 PST 2023


#5619: ST_Intersection, side location conflict on Postgis 3.4
-------------------------------+---------------------------
 Reporter:  Lars Aksel Opsahl  |      Owner:  pramsey
     Type:  defect             |     Status:  new
 Priority:  medium             |  Milestone:  PostGIS 3.4.2
Component:  postgis            |    Version:  3.4.x
 Keywords:                     |
-------------------------------+---------------------------
 We have two geometries that do not intersect and that are valid , but when
 running ST_Intersection we get 'ERROR:  XX000: lwgeom_intersection_prec:
 GEOS Error: TopologyException: side location conflict at
 9.2512880982753085 61.996457201510005 '

 So for a temp solution for now we test on ST_Intersects before running
 ST_Intersection.

 Another thing is that this does not fail on Postgis 3.3 and we get an
 empty geometry back.

 The test code I run is here

 {{{

 SELECT
 ST_IsValid('0107000020A2100000010000000106000000070000000103000000010000002500000046CC913AA67F2240020E5F2E7BFF4E40CDC5843D927F2240C5C46A1C7FFF4E40B0F7C9EE557F2240564BD79F86FF4E40D849745C397F2240F0086E8C8AFF4E40C75938DE377F2240456256D08AFF4E40F2D0A5F53A7F2240887FB4018CFF4E40504D2AF9457F2240881465AB8DFF4E4068CC1673487F2240BD0D55A48DFF4E4009D11CFE527F2240F460E6E98DFF4E4069BF5FD84C7F2240B72B56C18DFF4E4005459D77417F224077B3F4DE8CFF4E40DEB4536F3C7F22402E90EABB8AFF4E400B4ABA98867F224038A8DA2482FF4E40F27FE66BAC7F2240338308527BFF4E4096284F6CE47F22406ED6BFE773FF4E40F5F01B4395812240BE8BD19294FF4E40921D6C37A9812240D80C05AD97FF4E409B10CF1A9C812240B809EE019AFF4E40735583F49B812240E3FA55039AFF4E40F3E6DD6D7D812240AD4A4C4A99FF4E407E2EBA2876812240380A44E298FF4E4032A0C76C80812240EF8B2A7599FF4E401702750782812240752E1F8C99FF4E40F4FE3A248B812240A136840E9AFF4E405D081AE8968122403E57C9329AFF4E40A2EA4B16A081224033E27FDC99FF4E40400E2EC7A181224016359BCC99FF4E40DBC6AC3FA68122400A4CA33699FF4E40315B1D78A7812240A88AB20D99FF4E40319F504DA9812240C74337D098FF4E4055B65686AA8122406374533398FF4E4041AD65C3AB812240D6E7699497FF4E4037EC9D6EAC812240095AE25597FF4E405D9658CCAF81224036062E1B96FF4E4023F7C4C8E17F22404D3D971773FF4E403F810EABE17F22408529331973FF4E4046CC913AA67F2240020E5F2E7BFF4E400103000000010000001C00000094BE5F2BFF7F224074ECFD4491FF4E406C68298604802240BC79DF0191FF4E408F443B2017802240471532748FFF4E408CF5493B2F8022407CDFDA708DFF4E40EC348C0A31802240EA122B4A8DFF4E405D5E0D5832802240075BD2308DFF4E40B141548665802240AC10084D89FF4E40F864044E6680224065D5DA3D89FF4E40A411CC256780224018C02B2E89FF4E406DBB251477802240AF70BC0588FF4E404A143BF17E802240A6216A7387FF4E403253D83D8E80224041E7764187FF4E40D7D86C1392802240B923F23487FF4E40200A43AF958022409B60225E87FF4E40DA8DD3D1A4802240DBABE00A88FF4E40EEFCB97EA5802240E576123388FF4E4095AFB075AC8022403DA58FD189FF4E40A16BCFB0AC802240B5B1670B8AFF4E409B0C66B3AD802240C85769088BFF4E40645D2750AD802240EE174FA78AFF4E4047FC91F7AE80224060C29EFB89FF4E408BE891F7AE802240666B9CFB89FF4E408BEF91F7AE8022408F689CFB89FF4E4065D672EAAE80224014C3576D88FF4E406699B9738A8022407EB2F64D86FF4E40ACA256FAD67F2240FF28C83C93FF4E4017CF12C6C67F2240C285E50794FF4E4094BE5F2BFF7F224074ECFD4491FF4E4001030000000100000017000000D7EE67D5A8802240B12CDAE88BFF4E40A1872F5EA58022402EC1AA888CFF4E4087A65C4FA6802240BACB81848DFF4E409200BF06A780224018D5FF438EFF4E40A3389365B5802240D5CCB4348FFF4E40DD1F9ACBBD802240FEF361C18FFF4E40D5B54D7CEE802240A2ADAE5993FF4E4061C1D9EEEE80224031BA236293FF4E40A384909EFC802240C219CD9194FF4E408F9E07E9FC8022406244419894FF4E40FB118658FD802240443B1B9F94FF4E401431C5CE03812240D2F0C20495FF4E40589855000B812240E65BED7595FF4E402D433FB20E812240D8E10DB095FF4E40686CE6311281224044BB17E795FF4E4047AD776319812240E80E425896FF4E40C9B44EA41781224071A1C73C96FF4E4065AF07CEA68022407870E54A8DFF4E405579E551AB802240BEDC35768BFF4E40571966B3AD80224097B16B088BFF4E40E80F64B3AD8022406AB369088BFF4E409B0C66B3AD802240C85769088BFF4E40D7EE67D5A8802240B12CDAE88BFF4E4001030000000100000006000000F4795A0D45812240EAFB820698FF4E4002E30157468122404F4D031298FF4E40C7104C984A812240A9BE551598FF4E40CD4462704A8122404E95361598FF4E40D3080BCC3E81224041C9A4CE97FF4E40F4795A0D45812240EAFB820698FF4E400103000000010000002700000093DE28E3BC81224085E5F82399FF4E400FE73346BC812240165E544599FF4E4099CF4C2FB5812240FE970AC79AFF4E403D722956B48122406C4C30F59AFF4E401E1538EBB3812240CCA7EA0B9BFF4E402EAFEA23B38122404DF145369BFF4E40042047DEB1812240E56A21D19BFF4E40323EFE39AE812240A1067A8C9DFF4E4076114960AD812240AEC301F49DFF4E406E0C8D2AAD812240F0F32E6C9EFF4E400BA6571BAD812240D374328E9EFF4E40ED63BAC5AC812240DA1CAC4D9FFF4E40A6E714FCAB812240616EA610A1FF4E40DF134297AB812240009723F2A1FF4E40EFA1B13BAB8122404159EBBEA2FF4E40942FFAE6A981224048023FDDA4FF4E407D295D21A8812240DB859855A6FF4E40411FB513A7812240EE395235A7FF4E40E152564CA6812240316FBBDAA7FF4E4035B71630A681224076567C15A8FF4E40335FFB24A6812240AF23962CA8FF4E40CC5AB6C3A58122404C4DE5F6A8FF4E40AF13D8CCA4812240E1B859F8AAFF4E4017E9BD65A6812240AED936A0ABFF4E4011A21427A78122405CC695EFABFF4E40D13AFB9BA8812240BFB8AB88ACFF4E40FD1B41A5A98122406E8392F5ACFF4E4052CD2DADA9812240D73746E4ADFF4E40174E70E2A6812240C454AF2BAFFF4E40F6D6D38BA68122400C275C53AFFF4E40F54B536AA4812240F03DA58EAFFF4E40BF48107DA1812240BB5B13E0AFFF4E407681FD9D0E822240EAB0A11FB6FF4E40F1A52A4C638222401D5E4A3CA4FF4E40CD30DE2440822240A80CF350A1FF4E4008D34919E5812240E73345259AFF4E40580BC629C381224042ADE19297FF4E40A6E830C3BF812240A7FD8B8798FF4E4093DE28E3BC81224085E5F82399FF4E400103000000010000003C000000B3AAFCB29581224006708D1BAFFF4E403C77B97E8E812240A654E0ADAEFF4E40714D3416808122409AFA85D2ADFF4E401C57F2E178812240EFBBD864ADFF4E40CAFC28C875812240DEFDA335ADFF4E4074A272FF788122403C0FD23DADFF4E40941A3F78808122401C4FD350ADFF4E40F16E24A6838122400475E958ADFF4E401076C21E8E81224089C506F2ACFF4E408ABC7E948F812240CF00BE45ACFF4E409FB2618F9081224035AD16D2ABFF4E40410D7BEF8E81224015F97961ABFF4E40E6573F058A812240E5C5C90CAAFF4E4083295B8E7C8122402FD5CD88A8FF4E40C6F85A8D7C812240EAFEB088A8FF4E40D746F60F7881224014895007A8FF4E40DD138EE44A812240A5C6ED85A4FF4E40B60BCD2E4A81224027D5D277A4FF4E40F8C4FEC54881224069A1D25BA4FF4E403F90A2A943812240DC1B1821A4FF4E402C5CBB1839812240309DADA7A3FF4E40A7EBD619358122403967C379A3FF4E4086C8082C3381224005FD9863A3FF4E40878DCA952181224013448481A3FF4E40F0D4EB331781224028027331A3FF4E406142B0D70F812240E9BEAFF8A2FF4E40F623B0D70F81224025E7AFF8A2FF4E4081D01C4403812240298CB297A2FF4E40296E391F01812240CF8B2987A2FF4E40E4A0D217FE8022400CA1CD6FA2FF4E40498A1E97EB802240F2A5EE22A1FF4E40B8BF1E97EB802240455FEE22A1FF4E400A35F597D78022400D852EBB9FFF4E4035AE072BD780224090D986B39FFF4E4098555922D6802240572B26A59FFF4E4007C61A61BF8022408F66B7689EFF4E40B397A3F1B880224024F1376D9EFF4E409D39B667B1802240890A7E729EFF4E40EB3978B6AA80224053832C779EFF4E40DB926FC6A98022407EDB78939EFF4E4029B6FF93A580224044E423129FFF4E40311C0210A180224024BA9224A0FF4E4065EEA34F9A8022404538E3BEA1FF4E4027123DE3978022405AA92B52A2FF4E4005F8B0BF97802240A8049C5AA2FF4E40ACF4FEF59380224038321238A5FF4E40F874EC799380224030BEEA95A5FF4E40DFA002DA94802240B44B0A56A6FF4E40D61BF8BD978022408221D0E9A7FF4E40DB6B3D6599802240103DC7D0A8FF4E40BA3B432E9A802240F342783EA9FF4E40AFC97CC39A802240F794E58FA9FF4E40C246F3DB99802240FE7953ABA9FF4E40D52C5094998022402109D0B3A9FF4E40F87E920C97802240CC3D8C00AAFF4E4057BBDC161B812240F77FE573B4FF4E404AC232F457812240CC553DAAABFF4E404E354095968122407E473A40AFFF4E40201E7D469681224077015324AFFF4E40B3AAFCB29581224006708D1BAFFF4E4001030000000100000005000000FCE0F77D597F2240A5E00DDC90FF4E4019CA264C5A7F2240B639A5EE90FF4E40CE6EAC207C7F22406B75199C93FF4E40CD48AD8B5A7F22409A7950DF90FF4E40FCE0F77D597F2240A5E00DDC90FF4E40');

 SELECT
 ST_IsValid('0103000020A2100000010000003D0000003A4541D9457F2240D44752C190FF4E40ACD688DD407F22403B7499D890FF4E408397B605F67E22409AC2AC5799FF4E406406A436DE7E22407C0159DE9CFF4E40B2B7FA1ADD7E224020D56EAB9DFF4E404A335711F37E22408CCBEE3BA4FF4E40B67A864A117F2240E0D41C8BA4FF4E40E55507661A7F22404DCFDC33A4FF4E40B2A217003F7F2240F808CD249FFF4E40B93F314A427F224012BC5F739FFF4E40AC4B2ACC437F22409AD8C75D9FFF4E408F5D09314B7F2240C0B892BF9FFF4E40D5E5DD60617F2240F82262CEA1FF4E4018EBB8746A7F224091E1CB32A3FF4E403827F6C7707F2240E799E1C9A3FF4E4026AE6A84707F2240A731C820A4FF4E40C76C4405717F2240D7438B34A4FF4E40DB00E2AC727F2240E4037E12A5FF4E400609AE30737F22405D043ED0A7FF4E4025605D966F7F22402F7010E5AAFF4E40F4B6CF7D677F2240E925B68BADFF4E400E49514E587F224002B4BBFDAFFF4E4022ECD626507F224039A71CCEB1FF4E404F487EBC497F224062484EBDB1FF4E404FA393A0457F224052EE0DE4B1FF4E40F86C50802F7F2240B47FA8B5B1FF4E40A46098B50E7F2240B9F7C956B1FF4E40747631C9007F2240EF54CB01B1FF4E40E204884EDE7E22404D7E71C3AEFF4E4023726B95DD7E2240C5EFAFB6AEFF4E40206CC335A77E22405A5272A8ABFF4E40B83648F9AB7E2240F2BD07C9AAFF4E409D280FF0AA7E2240FB766736AAFF4E405AA74923B77E22401B560B90A7FF4E4039E07CAAC87E2240635545DCA4FF4E40DCC43B0CCB7E2240E7E6F09AA4FF4E40A9DE4BF1C77E2240C38CC5C0A0FF4E403A3541655E7E2240F133A7E9AAFF4E40EF635BFC637E2240D66FED37AEFF4E40887BE912677E2240182C12C5AEFF4E40B471CB4C6A7E224056D97A42B0FF4E406FD9C6676B7E2240FFD613F1B1FF4E40E92AA3D86A7E22403B7D7E46B2FF4E402AAEF6646C7E22409F01DC30B3FF4E409494D407E07F22405C6CD0B1D3FF4E40C7DC65FB218022402F29B8DBCCFF4E405F9BB7E15180224083D5BE80CAFF4E405D0143A07E80224059DEF3D0CCFF4E405A42EAB0D480224038F4A0F1CDFF4E4091F9B2E81481224034AE44C6C4FF4E409EC07AD926812240A0CECCFCBCFF4E40E8272EB11C8122403E3AC1FDB5FF4E40B888310AF5802240E7BEA990B7FF4E4006320E88D780224038FE0BBFBFFF4E4086A07361B6802240E12812D1BDFF4E40D6EE3C5CC8802240A3444F32B7FF4E40F6F85FC1EC8022405BE30F2EB7FF4E409DD4BC041B812240A5049968B5FF4E402543DB5FBB7F2240BA5DFF2C99FF4E40F1F152644A7F2240842ECCC090FF4E403A4541D9457F2240D44752C190FF4E40');

 select ST_Intersects(
 '0107000020A2100000010000000106000000070000000103000000010000002500000046CC913AA67F2240020E5F2E7BFF4E40CDC5843D927F2240C5C46A1C7FFF4E40B0F7C9EE557F2240564BD79F86FF4E40D849745C397F2240F0086E8C8AFF4E40C75938DE377F2240456256D08AFF4E40F2D0A5F53A7F2240887FB4018CFF4E40504D2AF9457F2240881465AB8DFF4E4068CC1673487F2240BD0D55A48DFF4E4009D11CFE527F2240F460E6E98DFF4E4069BF5FD84C7F2240B72B56C18DFF4E4005459D77417F224077B3F4DE8CFF4E40DEB4536F3C7F22402E90EABB8AFF4E400B4ABA98867F224038A8DA2482FF4E40F27FE66BAC7F2240338308527BFF4E4096284F6CE47F22406ED6BFE773FF4E40F5F01B4395812240BE8BD19294FF4E40921D6C37A9812240D80C05AD97FF4E409B10CF1A9C812240B809EE019AFF4E40735583F49B812240E3FA55039AFF4E40F3E6DD6D7D812240AD4A4C4A99FF4E407E2EBA2876812240380A44E298FF4E4032A0C76C80812240EF8B2A7599FF4E401702750782812240752E1F8C99FF4E40F4FE3A248B812240A136840E9AFF4E405D081AE8968122403E57C9329AFF4E40A2EA4B16A081224033E27FDC99FF4E40400E2EC7A181224016359BCC99FF4E40DBC6AC3FA68122400A4CA33699FF4E40315B1D78A7812240A88AB20D99FF4E40319F504DA9812240C74337D098FF4E4055B65686AA8122406374533398FF4E4041AD65C3AB812240D6E7699497FF4E4037EC9D6EAC812240095AE25597FF4E405D9658CCAF81224036062E1B96FF4E4023F7C4C8E17F22404D3D971773FF4E403F810EABE17F22408529331973FF4E4046CC913AA67F2240020E5F2E7BFF4E400103000000010000001C00000094BE5F2BFF7F224074ECFD4491FF4E406C68298604802240BC79DF0191FF4E408F443B2017802240471532748FFF4E408CF5493B2F8022407CDFDA708DFF4E40EC348C0A31802240EA122B4A8DFF4E405D5E0D5832802240075BD2308DFF4E40B141548665802240AC10084D89FF4E40F864044E6680224065D5DA3D89FF4E40A411CC256780224018C02B2E89FF4E406DBB251477802240AF70BC0588FF4E404A143BF17E802240A6216A7387FF4E403253D83D8E80224041E7764187FF4E40D7D86C1392802240B923F23487FF4E40200A43AF958022409B60225E87FF4E40DA8DD3D1A4802240DBABE00A88FF4E40EEFCB97EA5802240E576123388FF4E4095AFB075AC8022403DA58FD189FF4E40A16BCFB0AC802240B5B1670B8AFF4E409B0C66B3AD802240C85769088BFF4E40645D2750AD802240EE174FA78AFF4E4047FC91F7AE80224060C29EFB89FF4E408BE891F7AE802240666B9CFB89FF4E408BEF91F7AE8022408F689CFB89FF4E4065D672EAAE80224014C3576D88FF4E406699B9738A8022407EB2F64D86FF4E40ACA256FAD67F2240FF28C83C93FF4E4017CF12C6C67F2240C285E50794FF4E4094BE5F2BFF7F224074ECFD4491FF4E4001030000000100000017000000D7EE67D5A8802240B12CDAE88BFF4E40A1872F5EA58022402EC1AA888CFF4E4087A65C4FA6802240BACB81848DFF4E409200BF06A780224018D5FF438EFF4E40A3389365B5802240D5CCB4348FFF4E40DD1F9ACBBD802240FEF361C18FFF4E40D5B54D7CEE802240A2ADAE5993FF4E4061C1D9EEEE80224031BA236293FF4E40A384909EFC802240C219CD9194FF4E408F9E07E9FC8022406244419894FF4E40FB118658FD802240443B1B9F94FF4E401431C5CE03812240D2F0C20495FF4E40589855000B812240E65BED7595FF4E402D433FB20E812240D8E10DB095FF4E40686CE6311281224044BB17E795FF4E4047AD776319812240E80E425896FF4E40C9B44EA41781224071A1C73C96FF4E4065AF07CEA68022407870E54A8DFF4E405579E551AB802240BEDC35768BFF4E40571966B3AD80224097B16B088BFF4E40E80F64B3AD8022406AB369088BFF4E409B0C66B3AD802240C85769088BFF4E40D7EE67D5A8802240B12CDAE88BFF4E4001030000000100000006000000F4795A0D45812240EAFB820698FF4E4002E30157468122404F4D031298FF4E40C7104C984A812240A9BE551598FF4E40CD4462704A8122404E95361598FF4E40D3080BCC3E81224041C9A4CE97FF4E40F4795A0D45812240EAFB820698FF4E400103000000010000002700000093DE28E3BC81224085E5F82399FF4E400FE73346BC812240165E544599FF4E4099CF4C2FB5812240FE970AC79AFF4E403D722956B48122406C4C30F59AFF4E401E1538EBB3812240CCA7EA0B9BFF4E402EAFEA23B38122404DF145369BFF4E40042047DEB1812240E56A21D19BFF4E40323EFE39AE812240A1067A8C9DFF4E4076114960AD812240AEC301F49DFF4E406E0C8D2AAD812240F0F32E6C9EFF4E400BA6571BAD812240D374328E9EFF4E40ED63BAC5AC812240DA1CAC4D9FFF4E40A6E714FCAB812240616EA610A1FF4E40DF134297AB812240009723F2A1FF4E40EFA1B13BAB8122404159EBBEA2FF4E40942FFAE6A981224048023FDDA4FF4E407D295D21A8812240DB859855A6FF4E40411FB513A7812240EE395235A7FF4E40E152564CA6812240316FBBDAA7FF4E4035B71630A681224076567C15A8FF4E40335FFB24A6812240AF23962CA8FF4E40CC5AB6C3A58122404C4DE5F6A8FF4E40AF13D8CCA4812240E1B859F8AAFF4E4017E9BD65A6812240AED936A0ABFF4E4011A21427A78122405CC695EFABFF4E40D13AFB9BA8812240BFB8AB88ACFF4E40FD1B41A5A98122406E8392F5ACFF4E4052CD2DADA9812240D73746E4ADFF4E40174E70E2A6812240C454AF2BAFFF4E40F6D6D38BA68122400C275C53AFFF4E40F54B536AA4812240F03DA58EAFFF4E40BF48107DA1812240BB5B13E0AFFF4E407681FD9D0E822240EAB0A11FB6FF4E40F1A52A4C638222401D5E4A3CA4FF4E40CD30DE2440822240A80CF350A1FF4E4008D34919E5812240E73345259AFF4E40580BC629C381224042ADE19297FF4E40A6E830C3BF812240A7FD8B8798FF4E4093DE28E3BC81224085E5F82399FF4E400103000000010000003C000000B3AAFCB29581224006708D1BAFFF4E403C77B97E8E812240A654E0ADAEFF4E40714D3416808122409AFA85D2ADFF4E401C57F2E178812240EFBBD864ADFF4E40CAFC28C875812240DEFDA335ADFF4E4074A272FF788122403C0FD23DADFF4E40941A3F78808122401C4FD350ADFF4E40F16E24A6838122400475E958ADFF4E401076C21E8E81224089C506F2ACFF4E408ABC7E948F812240CF00BE45ACFF4E409FB2618F9081224035AD16D2ABFF4E40410D7BEF8E81224015F97961ABFF4E40E6573F058A812240E5C5C90CAAFF4E4083295B8E7C8122402FD5CD88A8FF4E40C6F85A8D7C812240EAFEB088A8FF4E40D746F60F7881224014895007A8FF4E40DD138EE44A812240A5C6ED85A4FF4E40B60BCD2E4A81224027D5D277A4FF4E40F8C4FEC54881224069A1D25BA4FF4E403F90A2A943812240DC1B1821A4FF4E402C5CBB1839812240309DADA7A3FF4E40A7EBD619358122403967C379A3FF4E4086C8082C3381224005FD9863A3FF4E40878DCA952181224013448481A3FF4E40F0D4EB331781224028027331A3FF4E406142B0D70F812240E9BEAFF8A2FF4E40F623B0D70F81224025E7AFF8A2FF4E4081D01C4403812240298CB297A2FF4E40296E391F01812240CF8B2987A2FF4E40E4A0D217FE8022400CA1CD6FA2FF4E40498A1E97EB802240F2A5EE22A1FF4E40B8BF1E97EB802240455FEE22A1FF4E400A35F597D78022400D852EBB9FFF4E4035AE072BD780224090D986B39FFF4E4098555922D6802240572B26A59FFF4E4007C61A61BF8022408F66B7689EFF4E40B397A3F1B880224024F1376D9EFF4E409D39B667B1802240890A7E729EFF4E40EB3978B6AA80224053832C779EFF4E40DB926FC6A98022407EDB78939EFF4E4029B6FF93A580224044E423129FFF4E40311C0210A180224024BA9224A0FF4E4065EEA34F9A8022404538E3BEA1FF4E4027123DE3978022405AA92B52A2FF4E4005F8B0BF97802240A8049C5AA2FF4E40ACF4FEF59380224038321238A5FF4E40F874EC799380224030BEEA95A5FF4E40DFA002DA94802240B44B0A56A6FF4E40D61BF8BD978022408221D0E9A7FF4E40DB6B3D6599802240103DC7D0A8FF4E40BA3B432E9A802240F342783EA9FF4E40AFC97CC39A802240F794E58FA9FF4E40C246F3DB99802240FE7953ABA9FF4E40D52C5094998022402109D0B3A9FF4E40F87E920C97802240CC3D8C00AAFF4E4057BBDC161B812240F77FE573B4FF4E404AC232F457812240CC553DAAABFF4E404E354095968122407E473A40AFFF4E40201E7D469681224077015324AFFF4E40B3AAFCB29581224006708D1BAFFF4E4001030000000100000005000000FCE0F77D597F2240A5E00DDC90FF4E4019CA264C5A7F2240B639A5EE90FF4E40CE6EAC207C7F22406B75199C93FF4E40CD48AD8B5A7F22409A7950DF90FF4E40FCE0F77D597F2240A5E00DDC90FF4E40',
 '0103000020A2100000010000003D0000003A4541D9457F2240D44752C190FF4E40ACD688DD407F22403B7499D890FF4E408397B605F67E22409AC2AC5799FF4E406406A436DE7E22407C0159DE9CFF4E40B2B7FA1ADD7E224020D56EAB9DFF4E404A335711F37E22408CCBEE3BA4FF4E40B67A864A117F2240E0D41C8BA4FF4E40E55507661A7F22404DCFDC33A4FF4E40B2A217003F7F2240F808CD249FFF4E40B93F314A427F224012BC5F739FFF4E40AC4B2ACC437F22409AD8C75D9FFF4E408F5D09314B7F2240C0B892BF9FFF4E40D5E5DD60617F2240F82262CEA1FF4E4018EBB8746A7F224091E1CB32A3FF4E403827F6C7707F2240E799E1C9A3FF4E4026AE6A84707F2240A731C820A4FF4E40C76C4405717F2240D7438B34A4FF4E40DB00E2AC727F2240E4037E12A5FF4E400609AE30737F22405D043ED0A7FF4E4025605D966F7F22402F7010E5AAFF4E40F4B6CF7D677F2240E925B68BADFF4E400E49514E587F224002B4BBFDAFFF4E4022ECD626507F224039A71CCEB1FF4E404F487EBC497F224062484EBDB1FF4E404FA393A0457F224052EE0DE4B1FF4E40F86C50802F7F2240B47FA8B5B1FF4E40A46098B50E7F2240B9F7C956B1FF4E40747631C9007F2240EF54CB01B1FF4E40E204884EDE7E22404D7E71C3AEFF4E4023726B95DD7E2240C5EFAFB6AEFF4E40206CC335A77E22405A5272A8ABFF4E40B83648F9AB7E2240F2BD07C9AAFF4E409D280FF0AA7E2240FB766736AAFF4E405AA74923B77E22401B560B90A7FF4E4039E07CAAC87E2240635545DCA4FF4E40DCC43B0CCB7E2240E7E6F09AA4FF4E40A9DE4BF1C77E2240C38CC5C0A0FF4E403A3541655E7E2240F133A7E9AAFF4E40EF635BFC637E2240D66FED37AEFF4E40887BE912677E2240182C12C5AEFF4E40B471CB4C6A7E224056D97A42B0FF4E406FD9C6676B7E2240FFD613F1B1FF4E40E92AA3D86A7E22403B7D7E46B2FF4E402AAEF6646C7E22409F01DC30B3FF4E409494D407E07F22405C6CD0B1D3FF4E40C7DC65FB218022402F29B8DBCCFF4E405F9BB7E15180224083D5BE80CAFF4E405D0143A07E80224059DEF3D0CCFF4E405A42EAB0D480224038F4A0F1CDFF4E4091F9B2E81481224034AE44C6C4FF4E409EC07AD926812240A0CECCFCBCFF4E40E8272EB11C8122403E3AC1FDB5FF4E40B888310AF5802240E7BEA990B7FF4E4006320E88D780224038FE0BBFBFFF4E4086A07361B6802240E12812D1BDFF4E40D6EE3C5CC8802240A3444F32B7FF4E40F6F85FC1EC8022405BE30F2EB7FF4E409DD4BC041B812240A5049968B5FF4E402543DB5FBB7F2240BA5DFF2C99FF4E40F1F152644A7F2240842ECCC090FF4E403A4541D9457F2240D44752C190FF4E40'
 );

 select ST_Intersection(
 '0107000020A2100000010000000106000000070000000103000000010000002500000046CC913AA67F2240020E5F2E7BFF4E40CDC5843D927F2240C5C46A1C7FFF4E40B0F7C9EE557F2240564BD79F86FF4E40D849745C397F2240F0086E8C8AFF4E40C75938DE377F2240456256D08AFF4E40F2D0A5F53A7F2240887FB4018CFF4E40504D2AF9457F2240881465AB8DFF4E4068CC1673487F2240BD0D55A48DFF4E4009D11CFE527F2240F460E6E98DFF4E4069BF5FD84C7F2240B72B56C18DFF4E4005459D77417F224077B3F4DE8CFF4E40DEB4536F3C7F22402E90EABB8AFF4E400B4ABA98867F224038A8DA2482FF4E40F27FE66BAC7F2240338308527BFF4E4096284F6CE47F22406ED6BFE773FF4E40F5F01B4395812240BE8BD19294FF4E40921D6C37A9812240D80C05AD97FF4E409B10CF1A9C812240B809EE019AFF4E40735583F49B812240E3FA55039AFF4E40F3E6DD6D7D812240AD4A4C4A99FF4E407E2EBA2876812240380A44E298FF4E4032A0C76C80812240EF8B2A7599FF4E401702750782812240752E1F8C99FF4E40F4FE3A248B812240A136840E9AFF4E405D081AE8968122403E57C9329AFF4E40A2EA4B16A081224033E27FDC99FF4E40400E2EC7A181224016359BCC99FF4E40DBC6AC3FA68122400A4CA33699FF4E40315B1D78A7812240A88AB20D99FF4E40319F504DA9812240C74337D098FF4E4055B65686AA8122406374533398FF4E4041AD65C3AB812240D6E7699497FF4E4037EC9D6EAC812240095AE25597FF4E405D9658CCAF81224036062E1B96FF4E4023F7C4C8E17F22404D3D971773FF4E403F810EABE17F22408529331973FF4E4046CC913AA67F2240020E5F2E7BFF4E400103000000010000001C00000094BE5F2BFF7F224074ECFD4491FF4E406C68298604802240BC79DF0191FF4E408F443B2017802240471532748FFF4E408CF5493B2F8022407CDFDA708DFF4E40EC348C0A31802240EA122B4A8DFF4E405D5E0D5832802240075BD2308DFF4E40B141548665802240AC10084D89FF4E40F864044E6680224065D5DA3D89FF4E40A411CC256780224018C02B2E89FF4E406DBB251477802240AF70BC0588FF4E404A143BF17E802240A6216A7387FF4E403253D83D8E80224041E7764187FF4E40D7D86C1392802240B923F23487FF4E40200A43AF958022409B60225E87FF4E40DA8DD3D1A4802240DBABE00A88FF4E40EEFCB97EA5802240E576123388FF4E4095AFB075AC8022403DA58FD189FF4E40A16BCFB0AC802240B5B1670B8AFF4E409B0C66B3AD802240C85769088BFF4E40645D2750AD802240EE174FA78AFF4E4047FC91F7AE80224060C29EFB89FF4E408BE891F7AE802240666B9CFB89FF4E408BEF91F7AE8022408F689CFB89FF4E4065D672EAAE80224014C3576D88FF4E406699B9738A8022407EB2F64D86FF4E40ACA256FAD67F2240FF28C83C93FF4E4017CF12C6C67F2240C285E50794FF4E4094BE5F2BFF7F224074ECFD4491FF4E4001030000000100000017000000D7EE67D5A8802240B12CDAE88BFF4E40A1872F5EA58022402EC1AA888CFF4E4087A65C4FA6802240BACB81848DFF4E409200BF06A780224018D5FF438EFF4E40A3389365B5802240D5CCB4348FFF4E40DD1F9ACBBD802240FEF361C18FFF4E40D5B54D7CEE802240A2ADAE5993FF4E4061C1D9EEEE80224031BA236293FF4E40A384909EFC802240C219CD9194FF4E408F9E07E9FC8022406244419894FF4E40FB118658FD802240443B1B9F94FF4E401431C5CE03812240D2F0C20495FF4E40589855000B812240E65BED7595FF4E402D433FB20E812240D8E10DB095FF4E40686CE6311281224044BB17E795FF4E4047AD776319812240E80E425896FF4E40C9B44EA41781224071A1C73C96FF4E4065AF07CEA68022407870E54A8DFF4E405579E551AB802240BEDC35768BFF4E40571966B3AD80224097B16B088BFF4E40E80F64B3AD8022406AB369088BFF4E409B0C66B3AD802240C85769088BFF4E40D7EE67D5A8802240B12CDAE88BFF4E4001030000000100000006000000F4795A0D45812240EAFB820698FF4E4002E30157468122404F4D031298FF4E40C7104C984A812240A9BE551598FF4E40CD4462704A8122404E95361598FF4E40D3080BCC3E81224041C9A4CE97FF4E40F4795A0D45812240EAFB820698FF4E400103000000010000002700000093DE28E3BC81224085E5F82399FF4E400FE73346BC812240165E544599FF4E4099CF4C2FB5812240FE970AC79AFF4E403D722956B48122406C4C30F59AFF4E401E1538EBB3812240CCA7EA0B9BFF4E402EAFEA23B38122404DF145369BFF4E40042047DEB1812240E56A21D19BFF4E40323EFE39AE812240A1067A8C9DFF4E4076114960AD812240AEC301F49DFF4E406E0C8D2AAD812240F0F32E6C9EFF4E400BA6571BAD812240D374328E9EFF4E40ED63BAC5AC812240DA1CAC4D9FFF4E40A6E714FCAB812240616EA610A1FF4E40DF134297AB812240009723F2A1FF4E40EFA1B13BAB8122404159EBBEA2FF4E40942FFAE6A981224048023FDDA4FF4E407D295D21A8812240DB859855A6FF4E40411FB513A7812240EE395235A7FF4E40E152564CA6812240316FBBDAA7FF4E4035B71630A681224076567C15A8FF4E40335FFB24A6812240AF23962CA8FF4E40CC5AB6C3A58122404C4DE5F6A8FF4E40AF13D8CCA4812240E1B859F8AAFF4E4017E9BD65A6812240AED936A0ABFF4E4011A21427A78122405CC695EFABFF4E40D13AFB9BA8812240BFB8AB88ACFF4E40FD1B41A5A98122406E8392F5ACFF4E4052CD2DADA9812240D73746E4ADFF4E40174E70E2A6812240C454AF2BAFFF4E40F6D6D38BA68122400C275C53AFFF4E40F54B536AA4812240F03DA58EAFFF4E40BF48107DA1812240BB5B13E0AFFF4E407681FD9D0E822240EAB0A11FB6FF4E40F1A52A4C638222401D5E4A3CA4FF4E40CD30DE2440822240A80CF350A1FF4E4008D34919E5812240E73345259AFF4E40580BC629C381224042ADE19297FF4E40A6E830C3BF812240A7FD8B8798FF4E4093DE28E3BC81224085E5F82399FF4E400103000000010000003C000000B3AAFCB29581224006708D1BAFFF4E403C77B97E8E812240A654E0ADAEFF4E40714D3416808122409AFA85D2ADFF4E401C57F2E178812240EFBBD864ADFF4E40CAFC28C875812240DEFDA335ADFF4E4074A272FF788122403C0FD23DADFF4E40941A3F78808122401C4FD350ADFF4E40F16E24A6838122400475E958ADFF4E401076C21E8E81224089C506F2ACFF4E408ABC7E948F812240CF00BE45ACFF4E409FB2618F9081224035AD16D2ABFF4E40410D7BEF8E81224015F97961ABFF4E40E6573F058A812240E5C5C90CAAFF4E4083295B8E7C8122402FD5CD88A8FF4E40C6F85A8D7C812240EAFEB088A8FF4E40D746F60F7881224014895007A8FF4E40DD138EE44A812240A5C6ED85A4FF4E40B60BCD2E4A81224027D5D277A4FF4E40F8C4FEC54881224069A1D25BA4FF4E403F90A2A943812240DC1B1821A4FF4E402C5CBB1839812240309DADA7A3FF4E40A7EBD619358122403967C379A3FF4E4086C8082C3381224005FD9863A3FF4E40878DCA952181224013448481A3FF4E40F0D4EB331781224028027331A3FF4E406142B0D70F812240E9BEAFF8A2FF4E40F623B0D70F81224025E7AFF8A2FF4E4081D01C4403812240298CB297A2FF4E40296E391F01812240CF8B2987A2FF4E40E4A0D217FE8022400CA1CD6FA2FF4E40498A1E97EB802240F2A5EE22A1FF4E40B8BF1E97EB802240455FEE22A1FF4E400A35F597D78022400D852EBB9FFF4E4035AE072BD780224090D986B39FFF4E4098555922D6802240572B26A59FFF4E4007C61A61BF8022408F66B7689EFF4E40B397A3F1B880224024F1376D9EFF4E409D39B667B1802240890A7E729EFF4E40EB3978B6AA80224053832C779EFF4E40DB926FC6A98022407EDB78939EFF4E4029B6FF93A580224044E423129FFF4E40311C0210A180224024BA9224A0FF4E4065EEA34F9A8022404538E3BEA1FF4E4027123DE3978022405AA92B52A2FF4E4005F8B0BF97802240A8049C5AA2FF4E40ACF4FEF59380224038321238A5FF4E40F874EC799380224030BEEA95A5FF4E40DFA002DA94802240B44B0A56A6FF4E40D61BF8BD978022408221D0E9A7FF4E40DB6B3D6599802240103DC7D0A8FF4E40BA3B432E9A802240F342783EA9FF4E40AFC97CC39A802240F794E58FA9FF4E40C246F3DB99802240FE7953ABA9FF4E40D52C5094998022402109D0B3A9FF4E40F87E920C97802240CC3D8C00AAFF4E4057BBDC161B812240F77FE573B4FF4E404AC232F457812240CC553DAAABFF4E404E354095968122407E473A40AFFF4E40201E7D469681224077015324AFFF4E40B3AAFCB29581224006708D1BAFFF4E4001030000000100000005000000FCE0F77D597F2240A5E00DDC90FF4E4019CA264C5A7F2240B639A5EE90FF4E40CE6EAC207C7F22406B75199C93FF4E40CD48AD8B5A7F22409A7950DF90FF4E40FCE0F77D597F2240A5E00DDC90FF4E40',
 '0103000020A2100000010000003D0000003A4541D9457F2240D44752C190FF4E40ACD688DD407F22403B7499D890FF4E408397B605F67E22409AC2AC5799FF4E406406A436DE7E22407C0159DE9CFF4E40B2B7FA1ADD7E224020D56EAB9DFF4E404A335711F37E22408CCBEE3BA4FF4E40B67A864A117F2240E0D41C8BA4FF4E40E55507661A7F22404DCFDC33A4FF4E40B2A217003F7F2240F808CD249FFF4E40B93F314A427F224012BC5F739FFF4E40AC4B2ACC437F22409AD8C75D9FFF4E408F5D09314B7F2240C0B892BF9FFF4E40D5E5DD60617F2240F82262CEA1FF4E4018EBB8746A7F224091E1CB32A3FF4E403827F6C7707F2240E799E1C9A3FF4E4026AE6A84707F2240A731C820A4FF4E40C76C4405717F2240D7438B34A4FF4E40DB00E2AC727F2240E4037E12A5FF4E400609AE30737F22405D043ED0A7FF4E4025605D966F7F22402F7010E5AAFF4E40F4B6CF7D677F2240E925B68BADFF4E400E49514E587F224002B4BBFDAFFF4E4022ECD626507F224039A71CCEB1FF4E404F487EBC497F224062484EBDB1FF4E404FA393A0457F224052EE0DE4B1FF4E40F86C50802F7F2240B47FA8B5B1FF4E40A46098B50E7F2240B9F7C956B1FF4E40747631C9007F2240EF54CB01B1FF4E40E204884EDE7E22404D7E71C3AEFF4E4023726B95DD7E2240C5EFAFB6AEFF4E40206CC335A77E22405A5272A8ABFF4E40B83648F9AB7E2240F2BD07C9AAFF4E409D280FF0AA7E2240FB766736AAFF4E405AA74923B77E22401B560B90A7FF4E4039E07CAAC87E2240635545DCA4FF4E40DCC43B0CCB7E2240E7E6F09AA4FF4E40A9DE4BF1C77E2240C38CC5C0A0FF4E403A3541655E7E2240F133A7E9AAFF4E40EF635BFC637E2240D66FED37AEFF4E40887BE912677E2240182C12C5AEFF4E40B471CB4C6A7E224056D97A42B0FF4E406FD9C6676B7E2240FFD613F1B1FF4E40E92AA3D86A7E22403B7D7E46B2FF4E402AAEF6646C7E22409F01DC30B3FF4E409494D407E07F22405C6CD0B1D3FF4E40C7DC65FB218022402F29B8DBCCFF4E405F9BB7E15180224083D5BE80CAFF4E405D0143A07E80224059DEF3D0CCFF4E405A42EAB0D480224038F4A0F1CDFF4E4091F9B2E81481224034AE44C6C4FF4E409EC07AD926812240A0CECCFCBCFF4E40E8272EB11C8122403E3AC1FDB5FF4E40B888310AF5802240E7BEA990B7FF4E4006320E88D780224038FE0BBFBFFF4E4086A07361B6802240E12812D1BDFF4E40D6EE3C5CC8802240A3444F32B7FF4E40F6F85FC1EC8022405BE30F2EB7FF4E409DD4BC041B812240A5049968B5FF4E402543DB5FBB7F2240BA5DFF2C99FF4E40F1F152644A7F2240842ECCC090FF4E403A4541D9457F2240D44752C190FF4E40'
 );

 }}}

 Test 1, Postgis 3.3, ok

 {{{
  PostgreSQL 14.8 (Homebrew) on x86_64-apple-darwin22.4.0, compiled by
 Apple clang version 14.0.3 (clang-1403.0.22.14.1), 64-bit

  POSTGIS="3.3.3 2355e8e" [EXTENSION] PGSQL="140" GEOS="3.12.0-CAPI-1.18.0"
 PROJ="9.2.1" LIBXML="2.11.4" LIBJSON="0.16" LIBPROTOBUF="1.4.1"
 WAGYU="0.5.0 (Internal)" TOPOLOGY

 st_isvalid
 ------------
  t
 (1 row)

  st_isvalid
 ------------
  t
 (1 row)

  st_intersects
 ---------------
  f
 (1 row)

       st_intersection
 ----------------------------
  0103000020A210000000000000

 }}}


 Test 2, Postgis 3.4.0, FAILS

 {{{

 PostgreSQL 15.4 (Ubuntu 15.4-2.pgdg22.04+1) on x86_64-pc-linux-gnu,
 compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit

 POSTGIS="3.4.0 0874ea3" [EXTENSION] PGSQL="150" GEOS="3.10.2-CAPI-1.16.0"
 PROJ="8.2.1 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org
 USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db"
 LIBXML="2.9.13" LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0
 (Internal)" TOPOLOGY


 st_isvalid
 ------------
  t
 (1 row)

  st_isvalid
 ------------
  t
 (1 row)

  st_intersects
 ---------------
  f
 (1 row)

 ERROR:  XX000: lwgeom_intersection_prec: GEOS Error: TopologyException:
 side location conflict at 9.2512880982753085 61.996457201510005. This can
 occur if the input geometry is invalid.
 CONTEXT:  SQL function "st_intersection" statement 1
 LOCATION:  pg_error, lwgeom_pg.c:332



 }}}


 Test 3, Postgis (close to 3.4.1) , FAILS


 {{{
 PostgreSQL 12.13 (Ubuntu 12.13-1.pgdg20.04+1) on x86_64-pc-linux-gnu,
 compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit
 POSTGIS="3.4.1dev 3.4.0-30-gbfab1e9b7" [EXTENSION] PGSQL="120"
 GEOS="3.9.1-CAPI-1.14.2" SFCGAL="1.3.7" PROJ="7.2.1 NETWORK_ENABLED=OFF
 URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj
 DATABASE_PATH=/usr/share/proj/proj.db" LIBXML="2.9.10" LIBJSON="0.13.1"
 LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" TOPOLOGY


 st_isvalid
 ------------
  t
 (1 row)

  st_isvalid
 ------------
  t
 (1 row)

  st_intersects
 ---------------
  f
 (1 row)

 ERROR:  XX000: lwgeom_intersection_prec: GEOS Error: TopologyException:
 side location conflict at 9.2512880982753085 61.996457201510005
 CONTEXT:  SQL function "st_intersection" statement 1
 LOCATION:  pg_error, lwgeom_pg.c:332

 }}}
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5619>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list