Opened 4 months ago

Last modified 4 months ago

#980 new defect

GEOSBuffer emits invalid buffering a collection

Reported by: komzpa Owned by: geos-devel@…
Priority: major Milestone:
Component: Default Version: 3.7.0
Severity: Unassigned Keywords:
Cc:

Description

Follow-up on #978. I replaced Unary Union by Buffer(0), given that all my inputs are polygons. I believe on mailing lists Martin mentioned Overlays-NG are going to be similar to it, so may be worth checking it.

PostGIS query for reference:

09:42:59 [gis] >  select w_geom from tmp_osm_population_raw_nowater where p_geom && '(-7885150.676182366,5282400.9061096404)'::point::geometry::box2d and not ST_IsValid(ST_Buffer(w_geom, 0)) ;
NOTICE:  00000: Self-intersection at or near point -7885150.676182366 5282400.9061096404
LOCATION:  pg_notice, lwgeom_pg.c:265
NOTICE:  00000: Self-intersection at or near point -7885150.676182366 5282400.9061096404
LOCATION:  pg_notice, lwgeom_pg.c:265
Time: 1229,412 ms (00:01,229)

Input collections are elementwise valid:

09:40:41 [gis] >  select ST_IsValid((ST_Dump(w_geom)).geom) from tmp_osm_population_raw_nowater where p_geom && '(-7885150.676182366,5282400.9061096404)'::point::geometry::box2d and not ST_IsValid(ST_Buffer(w_geom, 0)) ;
NOTICE:  00000: Self-intersection at or near point -7885150.676182366 5282400.9061096404
LOCATION:  pg_notice, lwgeom_pg.c:265
NOTICE:  00000: Self-intersection at or near point -7885150.676182366 5282400.9061096404
LOCATION:  pg_notice, lwgeom_pg.c:265
┌────────────┐
│ st_isvalid │
├────────────┤
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
│ t          │
└────────────┘
(14 rows)

Exhibit 1:

0106000020110F000004000000010300000001000000330000000484E06A4F145EC17F6FB520972654411930D2B74F145EC1B1FFF12E972654416096742251145EC12B18861B97265441000000D054145EC1D3564D0296265441213CEBA358145EC17B649EDD9426544135A0554C61145EC1F187438D9226544108F66E4668145EC1DE9077B09026544134F258B859145EC19A322D5195265441000000D054145EC1936538CD9626544116C8BC4C53145EC143E75D429726544162149C8C51145EC1A9C3DAD997265441C403FE8950145EC1B54BF63A982654415C21BC4750145EC103869D319926544108F5E71951145EC17D9B0BCB992654416C72B8E452145EC13E79C09199265441000000D054145EC143DE9C07992654416A9246AB57145EC149B3FD3998265441000000D054145EC1D685DA4099265441AEDFAF6E51145EC1D89CE5779A26544114CB604051145EC170D0F8819B2654416BEA14B351145EC110DAD22E9C26544108052F7D53145EC1D8EF661B9C265441000000D054145EC1C4A18AC69B2654416A9246AB57145EC1D186620F9B265441000000D054145EC1A70991129C265441AAF29AC551145EC127C872269D265441FE1E6FF350145EC17A550B1F9E265441048AAB0651145EC190E9A3179F265441BB3350FF51145EC1B928833D9F265441000000D054145EC171D5717D9E26544170ED3B5B55145EC1067F56589E265441000000D054145EC1AFC39E8F9E265441BAB5289551145EC1B7F0E9D79F2654415CA95F7951145EC1414CFDE1A0265441077D8B4B52145EC19695FF67A12654411EB120CA53145EC122542042A1265441000000D054145EC14EB97810A12654417075DF8C56145EC1610B1EBCA0265441DCD86FE15A145EC1E46B85C39F265441000000D054145EC1856406CFA12654410E706B9053145EC1FFFDB83AA22654415F1E185452145EC15C4CBBC0A2265441BB3350FF51145EC18F79EFA4A326544172DDF4F752145EC1E9AB3ADEA3265441000000D054145EC1856DE998A32654411D39C4FB54145EC1FC237C92A326544175F0620359145EC1628F9AE6A226544189343FE55C145EC197B1B6B4A12654417583182A56145EC1A7DE8517A42654410484E06A4F145EC1A7DE8517A42654410484E06A4F145EC17F6FB520972654410103000000010000002600000011E0B76D55145EC119DD9C959E2654413A64E61450145EC1D724CA3EA026544127839C0850145EC12EA75141A0265441EEC110FC4F145EC169FD6641A0265441998DBEEF4F145EC19F55093FA0265441041D1FE44F145EC138F64F3AA026544161C8A4D94F145EC1ED586933A026544148A4B6D04F145EC19761992AA0265441A28BACC94F145EC142C23620A026544157BFCBC44F145EC14AA6A714A0265441003D44C24F145EC137C55D08A0265441C5E62EC24F145EC1FE03D2FB9F2654418F8E8CC44F145EC1A9CF7FEF9F265441F6ED45C94F145EC1145FE0E39F265441418B2CD04F145EC1710A66D99F2654419782FCD84F145EC158E677D09F265441EC215FE34F145EC1B2CD6DC99F265441E43DEEEE4F145EC167018DC49F26544143DA3F4855145EC14AED371B9E2654418FBD404955145EC1236FEA1A9E265441C14252C27A145EC10F899022932654417052A6CE7A145EC1B0A13C2093265441DBFE31DB7A145EC11BE55B2093265441C2DB79E77A145EC1BD1FED2293265441081805F37A145EC1D10FD72793265441422262FD7A145EC1D35DE92E93265441FD052B067B145EC11878DE3793265441CD56090D7B145EC13D3F5E42932654417F82B9117B145EC10F69014E93265441DE690D147B145EC1BE78555A932654417326EE137B145EC12925E16693265441D1EB5C117B145EC11002297393265441BDFB720C7B145EC1563EB47E93265441BBAD60057B145EC1904811899326544176936BFC7A145EC14B2CDA919326544151CCEBF17A145EC11B7DB898932654417FA248E67A145EC1CDA8689D9326544111E0B76D55145EC119DD9C959E265441010300000001000000260000006DDAC7F35A145EC14B03D600A0265441ECE616F35A145EC173DE0901A0265441C54E17CC50145EC11FD1D3EAA22654410A1BC0BF50145EC1B9D616EDA22654412AA534B350145EC1B867E6ECA22654414A57F0A650145EC1996044EAA226544185DF6B9B50145EC166A84AE5A2265441B48C189150145EC1E5312ADEA2265441AFF35B8850145EC10A1A29D5A2265441F8078C8150145EC130F69FCAA226544124CEEB7C50145EC1A26CF6BEA22654418AC8A87A50145EC1E7389FB2A22654418B37D97A50145EC107C313A6A2265441AA3E7B7D50145EC12775CF99A2265441DDF6748250145EC162FD4A8EA22654415E6D958950145EC191AAF783A22654413985969250145EC18C113B7BA226544113A91F9D50145EC1D5256B74A2265441A132C9A850145EC101ECCA6FA2265441F52B70CF5A145EC15F671A869F2654414BE1903F77145EC177B7140497265441955DE14B77145EC14A2DAE0197265441EF2A6D5877145EC1FC76BA0197265441D6DBB86477145EC1AA1B39049726544182794B7077145EC16590110997265441EB29B37A77145EC1A729141097265441DE8F898377145EC149F0FB189726544107BA778A77145EC10248712397265441457A398F77145EC14B4D0D2F972654417204A09177145EC195C95D3B97265441C0BA939177145EC1EF96E947972654411216158F77145EC1D64735549726544157A13C8A77145EC182E5C75F9726544115083A8377145EC1EB952F6A972654417341527A77145EC1DEFB057397265441BAE9DC6F77145EC10726F4799726544171E4406477145EC145E6B57E972654416DDAC7F35A145EC14B03D600A02654410103000000010000002C000000FB18A4574F145EC1714B261D972654411830D2B74F145EC1B1FFF12E972654415E96742251145EC12B18861B97265441203CEBA358145EC17B649EDD9426544133A0554C61145EC1EC87438D9226544106F66E4668145EC1DA9077B09026544133F258B859145EC19A322D519526544114C8BC4C53145EC143E75D429726544161149C8C51145EC1A5C3DAD997265441C303FE8950145EC1B14BF63A982654415A21BC4750145EC1FF859D319926544107F5E71951145EC17D9B0BCB992654416A72B8E452145EC13E79C09199265441699246AB57145EC149B3FD3998265441ACDFAF6E51145EC1D89CE5779A26544111CB604051145EC170D0F8819B2654416AEA14B351145EC110DAD22E9C26544106052F7D53145EC1D8EF661B9C265441699246AB57145EC1D186620F9B265441A9F29AC551145EC127C872269D265441FC1E6FF350145EC17A550B1F9E265441028AAB0651145EC190E9A3179F265441B93350FF51145EC1B528833D9F2654416EED3B5B55145EC1027F56589E265441B8B5289551145EC1B4F0E9D79F26544159A95F7951145EC1414CFDE1A0265441067D8B4B52145EC19195FF67A12654411BB120CA53145EC122542042A12654416E75DF8C56145EC15C0B1EBCA0265441DAD86FE15A145EC1E46B85C39F2654410C706B9053145EC1FFFDB83AA22654415D1E185452145EC15C4CBBC0A2265441B93350FF51145EC18B79EFA4A326544170DDF4F752145EC1E9AB3ADEA32654411C39C4FB54145EC1FC237C92A326544172F0620359145EC15D8F9AE6A226544187343FE55C145EC197B1B6B4A1265441BC30AC0B54145EC1A400CCD7A4265441C7F6DDCE51145EC1A50944F6A52654410D60242D51145EC1960C7DE6A7265441504B432150145EC1C90D8EFDA9265441543858CA4F145EC141FC217DAB265441FB18A4574F145EC1D9A5157CAC265441FB18A4574F145EC1714B261D97265441

Exhibit 2:

0106000020110F00000A000000010300000001000000490000007583182A56145EC1A7DE8517A4265441000000D054145EC14C4B3492A4265441BE30AC0B54145EC1A400CCD7A4265441C9F6DDCE51145EC1A50944F6A52654410E60242D51145EC1960C7DE6A7265441514B432150145EC1CD0D8EFDA9265441553858CA4F145EC141FC217DAB265441B53AA51E4F145EC1D1C8C4FAAC26544158A638D14D145EC1F71ED105AE26544157A06D354C145EC1760A4225AF265441FFFEE02C4C145EC1FEC12D56B0265441FA1B484B4D145EC131E9EE27B1265441B2C5EC434E145EC18679859AB1265441582EDC024F145EC120DF69CCB226544114CB604051145EC169202119B3265441000000D054145EC17867023EB326544119CE87E854145EC1B874003FB32654411CC1672D56145EC19CF7F333B226544116DECE4B57145EC16C6FF1ADB1265441D2F2AF5758145EC13AC2D0D3B12654412B1CE09159145EC1417862CDB22654412B1CE09159145EC1F5C2B8E3B52654417D48B4BF58145EC163FFC1A3B5265441C3B1FA1D58145EC19A27A642B52654412C84F5FC55145EC179F72DB7B5265441000000D054145EC1382BC606B6265441B4D85A4F54145EC12FFDCB28B6265441B550B71D53145EC1515C3F3BB62654416601B13551145EC1C24679F0B5265441A9ECCF2950145EC1C8A5EC02B626544152C39FEF4E145EC13DEEADD4B626544158A638D14D145EC126879C8BB82654415996F16D4B145EC1B51C59E4B9265441F52868064C145EC17B3B6FA6B7265441581E959F4C145EC13DEEADD4B62654410087845E4D145EC18CAD80EFB526544104F2C0714D145EC1F2C83230B5265441ACD20CFF4C145EC1F14E4EFEB3265441FB93A4194C145EC169202119B32654415C8306174B145EC18CB9191AB3265441F03588C14A145EC146413F6DB2265441F51821A349145EC15D655DC1B12654419DF96C3049145EC193A1A3EEB02654419DF96C3049145EC18E067483AF265441F1ADE48F49145EC1EB6DB02BAE26544191AB973B4A145EC13D23380DAD265441ABBCFAFF48145EC17CD558E7AC265441939B50D847145EC1E8EE80C0AC265441F608DA3F47145EC1EC794418AE26544148BD519F47145EC1A3867609B026544148BD519F47145EC14A5A58B5B0265441F608DA3F47145EC12D313A61B12654418DA8709346145EC131E9EE27B1265441F115FAFA45145EC14A5A58B5B026544199F6458845145EC152FBDF96AF265441444C4AF045145EC1A5D18AD8AE265441415F354746145EC1D92FCCF9AC26544184D2F76C46145EC11A6EEA4DAC265441F29D9D2C47145EC1FCFBE7C7AB265441ECBA044B48145EC198AF08A2AB265441398CE3C849145EC1F9BC9C8EAB26544100773DFB4A145EC1F9BC9C8EAB265441A174F0A64B145EC14D7E5155AB2654419B9157C54C145EC15AD20396AA265441F4B00B384D145EC1A4D142C4A92654414ED0BFAA4D145EC190E415DFA8265441637CB1F74D145EC139FDE8F9A7265441FE0E28904E145EC11AE470DBA6265441FE0E28904E145EC1293B00BCA52654414ED0BFAA4D145EC1B41160C4A4265441610455294F145EC1EBDD148BA42654418D9DFD324F145EC1A7DE8517A42654417583182A56145EC1A7DE8517A42654410103000000010000002C000000FB18A4574F145EC1714B261D972654411830D2B74F145EC1B1FFF12E972654415E96742251145EC12B18861B97265441203CEBA358145EC17B649EDD9426544133A0554C61145EC1EC87438D9226544106F66E4668145EC1DA9077B09026544133F258B859145EC19A322D519526544114C8BC4C53145EC143E75D429726544161149C8C51145EC1A5C3DAD997265441C303FE8950145EC1B14BF63A982654415A21BC4750145EC1FF859D319926544107F5E71951145EC17D9B0BCB992654416A72B8E452145EC13E79C09199265441699246AB57145EC149B3FD3998265441ACDFAF6E51145EC1D89CE5779A26544111CB604051145EC170D0F8819B2654416AEA14B351145EC110DAD22E9C26544106052F7D53145EC1D8EF661B9C265441699246AB57145EC1D186620F9B265441A9F29AC551145EC127C872269D265441FC1E6FF350145EC17A550B1F9E265441028AAB0651145EC190E9A3179F265441B93350FF51145EC1B528833D9F2654416EED3B5B55145EC1027F56589E265441B8B5289551145EC1B4F0E9D79F26544159A95F7951145EC1414CFDE1A0265441067D8B4B52145EC19195FF67A12654411BB120CA53145EC122542042A12654416E75DF8C56145EC15C0B1EBCA0265441DAD86FE15A145EC1E46B85C39F2654410C706B9053145EC1FFFDB83AA22654415D1E185452145EC15C4CBBC0A2265441B93350FF51145EC18B79EFA4A326544170DDF4F752145EC1E9AB3ADEA32654411C39C4FB54145EC1FC237C92A326544172F0620359145EC15D8F9AE6A226544187343FE55C145EC197B1B6B4A1265441BC30AC0B54145EC1A400CCD7A4265441C7F6DDCE51145EC1A50944F6A52654410D60242D51145EC1960C7DE6A7265441504B432150145EC1C90D8EFDA9265441543858CA4F145EC141FC217DAB265441FB18A4574F145EC1D9A5157CAC265441FB18A4574F145EC1714B261D972654410103000000010000002C000000F4B69CE65E145EC1B73597E3AF2654419B72502B5F145EC1915A214BAF265441F884E4E260145EC1F1FA1440AE265441AB4BF0F962145EC16E3A9A9BAC265441A4F0FA4965145EC1856A3BC5A9265441FD8DD62666145EC172F3A9CBA8265441FC157A5867145EC139FDE8F9A7265441B3BF1E5168145EC11A1AD8E2A5265441FD9D1D8A68145EC1A3DE8517A4265441B1C99A1869145EC18AEB244EA22654410291FDCE69145EC1CC70E399A22654410BEF19276B145EC1192E0474A226544110E2F96B6C145EC115837786A2265441106A9D9D6D145EC1F703C545A32654412033F6086F145EC1A3DE8517A42654412526D64D70145EC1E7DD148BA42654411F433D6C71145EC1D022F4B0A4265441DB571E7872145EC1DE45ABFDA426544124BEC0E273145EC11A1AD8E2A52654413CDF6A0A75145EC12876DA68A626544185BD694375145EC10D96E1FAA7265441D8F984D476145EC124180C5AA8265441EE2D1A5378145EC1916E7AF3A8265441EE2D1A5378145EC175172DB5AB265441D50C702B77145EC1C524DE42AB2654413E670E3C76145EC17C7F8B0AAB26544128B1A02775145EC10602BBE2AA26544124BEC0E273145EC179586D23AA265441727F58FD72145EC10E2EF504A926544172F7B4CB71145EC1FE1B11D3A7265441C030A9B46F145EC14F9BE673A72654410B8704BC6E145EC11AE470DBA626544115D5D9B06D145EC12DCD4D7BA6265441B7C245F96B145EC11A1AD8E2A52654410684DD136B145EC1DF704BF5A526544165862A686A145EC1C4D331ADA7265441AEDC856F69145EC159A48B77A92654419E132D0468145EC18FB6DBBCAA26544150424E8666145EC181E1BFEEAB2654414C4F6E4165145EC16FA6CE7FAD265441579D433664145EC1F6E8B2B1AE265441951D261763145EC11CF04BAAAF2654419067CFB362145EC1B73597E3AF265441F4B69CE65E145EC1B73597E3AF26544101030000000100000029000000FC1462F75C145EC1902617F2A12654415550B3F351145EC1CB0EF73BA5265441B38C1EEF51145EC18679263DA526544104443A4250145EC1EB5A589BA5265441F9C7C43550145EC16386D29CA5265441ECCD422950145EC1D430D79BA5265441B5622F1D50145EC1DD027098A52654418453011250145EC11777BE92A5265441189D260850145EC1C390FA8AA5265441BD31000050145EC1B4B47081A5265441823FDEF94F145EC1C8B97E76A52654416E1BFDF54F145EC1B14D906AA5265441F6EF82F44F145EC1A6D11A5EA526544185457EF54F145EC199D79851A52654417C73E5F84F145EC1626C8545A526544142FF96FE4F145EC1315D573AA526544196E55A0650145EC1C5A67C30A5265441A5C1E40F50145EC16A3B5628A526544191BCD61A50145EC12F493422A5265441A828C52650145EC11B25531EA5265441C17259D151145EC1D547A3C0A426544137E3EFD25C145EC16A816377A126544182D848D35C145EC122384977A1265441BC4C0F716E145EC157C38F509C265441378B637D6E145EC105D43C4E9C2654412235EF896E145EC1D9135D4E9C26544159DE36966E145EC19045EF509C265441B9B7C1A16E145EC1E21DDA559C265441A3331EAC6E145EC1603CED5C9C2654411F63E6B46E145EC15E07E3659C265441ACE0C3BB6E145EC1AB5863709C265441362273C06E145EC1C7E0067C9C2654418811C6C26E145EC1421F5B889C265441B4D1A5C26E145EC12DC9E6949C265441FD9F13C06E145EC164722EA19C265441ABC728BB6E145EC1C44BB9AC9C2654412DA915B46E145EC1AEC715B79C2654412FDE1FAB6E145EC12AF7DDBF9C265441E28C9FA06E145EC1B774BBC69C265441C604FC946E145EC141B66ACB9C265441FC1462F75C145EC1902617F2A1265441010300000001000000260000006DDAC7F35A145EC14B03D600A0265441ECE616F35A145EC173DE0901A0265441C54E17CC50145EC11FD1D3EAA22654410A1BC0BF50145EC1B9D616EDA22654412AA534B350145EC1B867E6ECA22654414A57F0A650145EC1996044EAA226544185DF6B9B50145EC166A84AE5A2265441B48C189150145EC1E5312ADEA2265441AFF35B8850145EC10A1A29D5A2265441F8078C8150145EC130F69FCAA226544124CEEB7C50145EC1A26CF6BEA22654418AC8A87A50145EC1E7389FB2A22654418B37D97A50145EC107C313A6A2265441AA3E7B7D50145EC12775CF99A2265441DDF6748250145EC162FD4A8EA22654415E6D958950145EC191AAF783A22654413985969250145EC18C113B7BA226544113A91F9D50145EC1D5256B74A2265441A132C9A850145EC101ECCA6FA2265441F52B70CF5A145EC15F671A869F2654414BE1903F77145EC177B7140497265441955DE14B77145EC14A2DAE0197265441EF2A6D5877145EC1FC76BA0197265441D6DBB86477145EC1AA1B39049726544182794B7077145EC16590110997265441EB29B37A77145EC1A729141097265441DE8F898377145EC149F0FB189726544107BA778A77145EC10248712397265441457A398F77145EC14B4D0D2F972654417204A09177145EC195C95D3B97265441C0BA939177145EC1EF96E947972654411216158F77145EC1D64735549726544157A13C8A77145EC182E5C75F9726544115083A8377145EC1EB952F6A972654417341527A77145EC1DEFB057397265441BAE9DC6F77145EC10726F4799726544171E4406477145EC145E6B57E972654416DDAC7F35A145EC14B03D600A0265441010300000001000000460000004C3D5CD075145EC17552FF24B126544100E9E2FB75145EC183B030E2B02654418959F3A576145EC11408B38DAF26544198209DAE76145EC12B58A580AF265441B15230BA76145EC107971676AF265441F7AB138378145EC1F8FE2332AE265441475399217A145EC1542BA8DBAC265441475399217A145EC1F4B40AF5AB265441164C858479145EC159A61E51AB265441C9AFF11577145EC1FC578D14AA2654416EA78EB375145EC1C2D394C9A92654418CD3FBA775145EC1B462F5C5A9265441ED234D9D75145EC11CB237C0A92654418AA67CD273145EC1999B538EA82654419F6779C773145EC113FA0885A8265441D2880F8672145EC1B13EEF30A7265441E81931A170145EC17FE158BBA5265441F03623126E145EC19AD7E0C8A42654417CB14DD96A145EC167B00826A4265441B02A727369145EC1D2936221A6265441ACF0D61E69145EC1D6C1113EA82654410B262B1C69145EC1EE5EE048A8265441804BAA1769145EC165A40E53A82654417242771169145EC16AB74D5CA82654413B0FC20969145EC1DDF95564A826544187378BB865145EC186568B4BAB265441DB91116265145EC19E51FF9BAB265441DB91116265145EC158DD2AEDAA265441C774836365145EC17515DDEBAA2654413AB0F8A368145EC14FDE5113A826544123F94BF768145EC1F16DD2FEA526544170DE34FB68145EC17DD1B1F0A526544127673A0269145EC175CDD3E3A5265441CDD9A5886A145EC1A7B14FBAA3265441B5C2A4906A145EC1727D03B1A32654413A10449A6A145EC1EC6069A9A32654419D5229A56A145EC1ECCEC8A3A32654419022EEB06A145EC1E0AA56A0A3265441AEE323BD6A145EC1BB57339FA32654410DD457C96A145EC18C8769A0A32654416E57F32F6E145EC1D2204B4CA42654412763C5396E145EC166B10F4FA426544139B4C1D670145EC14DD9AF46A5265441CA2388DF70145EC1E920B64AA52654419D0C9AE770145EC136950250A526544142FD2CD872145EC1DDBA9DCEA6265441AEF7A0DF72145EC1AFB05AD5A62654418807861F74145EC12A02D927A826544189A113DA75145EC14BB4E54EA9265441F30BAF3877145EC152851199A9265441941A724877145EC1E156A29EA9265441B69938C879145EC1866CF2E3AA26544166165CD179145EC1B0409BE9AA2654411D196CD979145EC12430B7F0AA2654416DE0CE8F7A145EC1F5450CAFAB265441C9E75F977A145EC17B6CA0B8AB2654417A22FC9C7A145EC1DEBC77C3AB26544142516FA07A145EC152412DCFAB265441475399A17A145EC1BAEE53DBAB265441475399A17A145EC1D92FCCF9AC265441FA2E0EA07A145EC15AC2C407AD2654415DD17F9B7A145EC1B1D01015AD265441ED7C26947A145EC1F8280C21AD265441ACF05C8A7A145EC10FD7222BAD2654414EDEC8D278145EC153585296AE265441BFB109CF78145EC1320A3199AE265441029F4C1177145EC177DD3BD5AF265441E12FC36C76145EC11F7FA81EB1265441E64D216976145EC17552FF24B12654414C3D5CD075145EC17552FF24B126544101030000000100000008000000FE9D1D8A68145EC1A7DE8517A4265441B3C99A1869145EC18EEB244EA22654410391FDCE69145EC1CC70E399A22654410EEF19276B145EC1192E0474A226544111E2F96B6C145EC115837786A2265441126A9D9D6D145EC1F703C545A32654412133F6086F145EC1A7DE8517A4265441FE9D1D8A68145EC1A7DE8517A4265441010300000001000000230000002B1CE09159145EC1417862CDB2265441D10C73825B145EC176FBD066B32654418E21548E5C145EC176FBD066B326544139F57F605D145EC163DA376EB22654413312E77E5E145EC1C6E8BCC9B02654419C72502B5F145EC1965A214BAF265441FB84E4E260145EC1F4FA1440AE265441AC4BF0F962145EC16E3A9A9BAC265441A6F0FA4965145EC1856A3BC5A9265441FF8DD62666145EC172F3A9CBA8265441FE157A5867145EC139FDE8F9A7265441B5BF1E5168145EC11F1AD8E2A5265441FE9D1D8A68145EC1A7DE8517A4265441C80D77FA6C145EC1A7DE8517A4265441C80D77FA6C145EC195F40B3CA6265441B9C245F96B145EC11F1AD8E2A52654410884DD136B145EC1DF704BF5A526544166862A686A145EC1C4D331ADA7265441AFDC856F69145EC159A48B77A9265441A0132D0468145EC18FB6DBBCAA26544151424E8666145EC181E1BFEEAB2654414E4F6E4165145EC16FA6CE7FAD265441589D433664145EC1FBE8B2B1AE265441971D261763145EC11CF04BAAAF26544191AC1E6861145EC1FFFDE4A2B02654418D37668D60145EC13EB83CE7B12654413318B21A60145EC1BD0B97B1B32654414066870F5F145EC1246E5D8FB5265441DB705A765E145EC13DEEADD4B626544193925B3D5E145EC1DB046015B6265441E64008015D145EC1F3EDA34FB6265441796BE6795B145EC16EAC8A74B6265441747806355A145EC1DB046015B62654412B1CE09159145EC1F5C2B8E3B52654412B1CE09159145EC1417862CDB22654410103000000010000004D000000C80D77FA6C145EC1A7DE8517A42654412133F6086F145EC1A7DE8517A42654412626D64D70145EC1EBDD148BA426544121433D6C71145EC1D422F4B0A4265441DC571E7872145EC1E345ABFDA426544126BEC0E273145EC11F1AD8E2A52654413EDF6A0A75145EC12876DA68A626544187BD694375145EC10D96E1FAA7265441DAF984D476145EC124180C5AA8265441EF2D1A5378145EC1956E7AF3A82654418C48341D7A145EC1A9E41066A926544143F2D8157B145EC11BD53D4BAA265441962478DF7B145EC15887639EA9265441F4AE68657C145EC19010CD2BA926544196AC1B117D145EC12C707F6CA8265441EFCBCF837D145EC150E3C599A7265441A675747C7E145EC10ABDB98EA6265441EF5373B57E145EC1293B00BCA52654419A279F877F145EC132CD4D7BA62654415CA7BCA680145EC1190499B4A62654415CA7BCA680145EC10CE7E124A9265441A307947580145EC128B85919A92654415D1F19757F145EC12C707F6CA82654419534BF427E145EC172F3A9CBA826544196AC1B117D145EC132799083AA265441F4AE68657C145EC1643B3301AC2654414ECE1CD87C145EC13558EF59AD2654419041DFFD7C145EC17600DB8AAE265441FF84E18B7C145EC1C8402BD0AF265441EEC504E87B145EC1BBA17190B0265441FA9101477B145EC193F38214B12654419C89E9567A145EC1AA8C7B15B12654419D7F6D8F79145EC1AB08798FB0265441E6D5C89678145EC1C8402BD0AF2654419399AD0577145EC1D8DE5A3BB1265441D60C702B77145EC1F94AD359B2265441901B869B76145EC1DA0DF93FB3265441DB71E1A275145EC10B471CA0B32654412546641475145EC1153EC496B42654418D1E2A8F74145EC15A0FEA7CB5265441D6F65D2C73145EC16696C429B6265441D381A55172145EC18DF541C1B62654416E0E514E71145EC1BDD467A7B726544180458AC070145EC1BE77565EB92654416A99987370145EC14A2A6369BA265441166DC44571145EC1E1251D3CBB265441DC571E7872145EC1E8ECE319BD26544122BB993A70145EC1C0DD016EBC2654412133F6086F145EC1CA82FC61BB2654416A8951106E145EC11484B634BC265441BFB5253E6D145EC1E8ECE319BD265441C80D77FA6C145EC163F8DC8CBD265441C80D77FA6C145EC1711AA7A3BA265441D36B93526E145EC1ABBBE5D1B92654416EFE09EB6E145EC11AC0217AB826544175E76D686F145EC17E468DFAB62654416A99987370145EC1455E35B6B5265441C340F01772145EC1F5F0785DB426544125361DB172145EC1CA57E2EAB326544136FF751C74145EC1ADD5D5DFB2265441E1D2A1EE74145EC12D313A61B126544194110AD475145EC1B73597E3AF26544188C334DF76145EC121B1FB64AE26544144D815EB77145EC16FA6CE7FAD2654413EF57C0979145EC120615661AC265441E16A8C8378145EC1FCFBE7C7AB265441D60C702B77145EC1C524DE42AB2654413F670E3C76145EC17C7F8B0AAB26544129B1A02775145EC10A02BBE2AA26544126BEC0E273145EC179586D23AA265441737F58FD72145EC10E2EF504A926544175F7B4CB71145EC1021C11D3A7265441C230A9B46F145EC14F9BE673A72654410C8704BC6E145EC11AE470DBA626544118D5D9B06D145EC132CD4D7BA6265441C80D77FA6C145EC195F40B3CA6265441C80D77FA6C145EC1A7DE8517A4265441010300000001000000330000000484E06A4F145EC17F6FB520972654411930D2B74F145EC1B1FFF12E972654416096742251145EC12B18861B97265441000000D054145EC1D3564D0296265441213CEBA358145EC17B649EDD9426544135A0554C61145EC1F187438D9226544108F66E4668145EC1DE9077B09026544134F258B859145EC19A322D5195265441000000D054145EC1936538CD9626544116C8BC4C53145EC143E75D429726544162149C8C51145EC1A9C3DAD997265441C403FE8950145EC1B54BF63A982654415C21BC4750145EC103869D319926544108F5E71951145EC17D9B0BCB992654416C72B8E452145EC13E79C09199265441000000D054145EC143DE9C07992654416A9246AB57145EC149B3FD3998265441000000D054145EC1D685DA4099265441AEDFAF6E51145EC1D89CE5779A26544114CB604051145EC170D0F8819B2654416BEA14B351145EC110DAD22E9C26544108052F7D53145EC1D8EF661B9C265441000000D054145EC1C4A18AC69B2654416A9246AB57145EC1D186620F9B265441000000D054145EC1A70991129C265441AAF29AC551145EC127C872269D265441FE1E6FF350145EC17A550B1F9E265441048AAB0651145EC190E9A3179F265441BB3350FF51145EC1B928833D9F265441000000D054145EC171D5717D9E26544170ED3B5B55145EC1067F56589E265441000000D054145EC1AFC39E8F9E265441BAB5289551145EC1B7F0E9D79F2654415CA95F7951145EC1414CFDE1A0265441077D8B4B52145EC19695FF67A12654411EB120CA53145EC122542042A1265441000000D054145EC14EB97810A12654417075DF8C56145EC1610B1EBCA0265441DCD86FE15A145EC1E46B85C39F265441000000D054145EC1856406CFA12654410E706B9053145EC1FFFDB83AA22654415F1E185452145EC15C4CBBC0A2265441BB3350FF51145EC18F79EFA4A326544172DDF4F752145EC1E9AB3ADEA3265441000000D054145EC1856DE998A32654411D39C4FB54145EC1FC237C92A326544175F0620359145EC1628F9AE6A226544189343FE55C145EC197B1B6B4A12654417583182A56145EC1A7DE8517A42654410484E06A4F145EC1A7DE8517A42654410484E06A4F145EC17F6FB52097265441

Change History (3)

comment:1 Changed 4 months ago by dbaston

Can you please provide all arguments to GEOSBuffer in this ticket?

What do exhibits 1 and 2 represent?

comment:2 Changed 4 months ago by mdavis

Confirmed that JTS buffer(0) exhibits the same issue. It produces an invalid output on both geometries above (of which the first is a subset of the second).

This is almost certainly due to a noding robustness failure, in an area with several very close high precision vertices:

A
[]  POLYGON(108)
Ring-CW  Vert[0 11]  POINT ( -7885150.676182368 5282400.906109639 )
Ring-CW  Vert[0 12]  POINT ( -7885150.676182364 5282400.90610964 )
Ring-CW  Vert[0 13]  POINT ( -7885150.676182369 5282400.906109639 )

Some light precision reduction might solve this problem, in this case.

comment:3 Changed 4 months ago by mdavis

Snap-rounding is highly applicable to buffer construction, and should solve problems like this. It's probably too much impact to try and add it to the current (complex) buffer code, so that may have to wait for a rewrite using the upcoming OverlayNG framework. Although at that point UnaryUnion? should work as well.

Note: See TracTickets for help on using tickets.