mirror of
https://github.com/bjornharrtell/jsts.git
synced 2026-01-18 14:08:37 +00:00
281 lines
45 KiB
XML
281 lines
45 KiB
XML
<run>
|
|
|
|
<case>
|
|
<desc>
|
|
http://postgis.refractions.net/pipermail/postgis-users/2006-November/013743.html
|
|
</desc>
|
|
<a>
|
|
POLYGON((5417148.108 5658342.603,5417139.016
|
|
5658338.009,5417126.791 5658331.833,5417116.292 5658327.518,5417112.871
|
|
5658325.598,5417110.25 5658324.127,5417106.071 5658321.781,5417104.226
|
|
5658320.745,5417093.266 5658315.008,5417091.265 5658313.961,5417085.335
|
|
5658310.857,5417060.44 5658326.26,5417064.68 5658327.52,5417088.83
|
|
5658336.46,5417088.52 5658337.31,5417102.92 5658342.65,5417103.26
|
|
5658341.83,5417111.76 5658345.51,5417121.662 5658349.583,5417121.878
|
|
5658349.672,5417125.217 5658351.119,5417131.761 5658353.388,5417137.589
|
|
5658356.276,5417142.166 5658359.67,5417146.599 5658364.988,5417151.395
|
|
5658370.641,5417150.853 5658371.392,5417152.59741167
|
|
5658373.52811061,5417154.92 5658376.37,5417155.18955743
|
|
5658376.89699992,5417154.919 5658376.371,5417155.814
|
|
5658378.111,5417157.051 5658380.297,5417158.004 5658382.304,5417159.014
|
|
5658384.47,5417159.775 5658386.619,5417160.629 5658389.278,5417161.5
|
|
5658399.49,5417160.773 5658404.194,5417159.41 5658413.02,5417158.853
|
|
5658414.442,5417153.671 5658427.659,5417153.67051161
|
|
5658427.6586943,5417153.67 5658427.66,5417152.73 5658427.07,5417149.993
|
|
5658436.599,5417148.81 5658439.42,5417149.233 5658439.67,5417148.36
|
|
5658440.81,5417146.41 5658446.6,5417144.321 5658453.127,5417144.32092232
|
|
5658453.13043826,5417154.59 5658458.01,5417154.99551047
|
|
5658455.8409905,5417155.446 5658453.413,5417157.23981414
|
|
5658448.75748237,5417157.22660892 5658448.57861162,5417157.22660849
|
|
5658448.57860592,5417157.22660865 5658448.57860812,5417157.128
|
|
5658447.265,5417157.64950997 5658446.06368023,5417157.64950961
|
|
5658446.06368108,5417158.314 5658444.533,5417172.322
|
|
5658417.957,5417174.99 5658418.57,5417175.23 5658417.74,5417176.696
|
|
5658412.61,5417177.875 5658408.488,5417178.76 5658405.39,5417178.1
|
|
5658393.55,5417178.08 5658393.36,5417177.11 5658384.95,5417178.151
|
|
5658384.915,5417178.14836289 5658384.91508866,5417178.12
|
|
5658384.83,5417177.91415246 5658383.81114117,5417176.927
|
|
5658378.944,5417176.603 5658377.341,5417176.73975922
|
|
5658378.01762048,5417176.6 5658377.34,5417176.51210558
|
|
5658376.89535766,5417176.428 5658376.483,5417175.235
|
|
5658370.602,5417171.577 5658362.886,5417170.762 5658360.107,5417168.522
|
|
5658357.989,5417166.042 5658355.047,5417164.137 5658352.264,5417162.642
|
|
5658351.593,5417160.702 5658350.843,5417160.05417889
|
|
5658350.5823586,5417158.82 5658350.09,5417158.82103105
|
|
5658350.0862195,5417159.50373263 5658350.36089455,5417158.818
|
|
5658350.085,5417159.055 5658349.214,5417155.754
|
|
5658347.679,5417156.78066321 5658348.15640928,5417155.7525011
|
|
5658347.6811561,5417155.161 5658348.532,5417149.028
|
|
5658343.237,5417152.26877967 5658346.03496647,5417149.03
|
|
5658343.24,5417148.78133339 5658343.06701453,5417148.108
|
|
5658342.603))
|
|
</a>
|
|
|
|
<b>
|
|
POLYGON((5417148.36 5658440.81,5417149.233
|
|
5658439.67,5417148.81 5658439.42,5417149.993 5658436.599,5417152.73
|
|
5658427.07,5417153.67 5658427.66,5417153.67051161
|
|
5658427.6586943,5417153.671 5658427.659,5417158.853
|
|
5658414.442,5417159.41 5658413.02,5417160.773 5658404.194,5417161.5
|
|
5658399.49,5417160.63 5658389.28,5417159.78 5658386.62,5417159.366239
|
|
5658385.46469333,5417159.014 5658384.47,5417158.004
|
|
5658382.304,5417157.051 5658380.297,5417155.814
|
|
5658378.111,5417155.18955747 5658376.897,5417154.92
|
|
5658376.37,5417152.59740379 5658373.52810095,5417150.853
|
|
5658371.392,5417151.13020611 5658371.00790076,5417151.4
|
|
5658370.64,5417147.11100598 5658365.59149663,5417146.599
|
|
5658364.988,5417145.96673439 5658364.22950947,5417142.17
|
|
5658359.67,5417139.98754716 5658358.05460369,5417137.589
|
|
5658356.276,5417131.761 5658353.388,5417125.33011568
|
|
5658351.15822058,5417125.22 5658351.12,5417121.88 5658349.67,5417121.66
|
|
5658349.58,5417111.76 5658345.51,5417103.26 5658341.83,5417102.92
|
|
5658342.65,5417088.52 5658337.31,5417088.83 5658336.46,5417064.68
|
|
5658327.52,5417060.44 5658326.26,5417085.34 5658310.86,5417085.90750076
|
|
5658311.15666987,5417091.265 5658313.961,5417093.266
|
|
5658315.008,5417093.61266829 5658315.18946314,5417104.23
|
|
5658320.75,5417105.81727304 5658321.63852784,5417106.071
|
|
5658321.781,5417106.60319005 5658322.07975996,5417110.25
|
|
5658324.13,5417112.87 5658325.6,5417116.29 5658327.52,5417121.76604303
|
|
5658329.76778528,5417126.791 5658331.833,5417139.016
|
|
5658338.009,5417148.108 5658342.603,5417148.78133333
|
|
5658343.06701449,5417149.03 5658343.24,5417152.26878253
|
|
5658346.03496893,5417155.161 5658348.532,5417155.7525011
|
|
5658347.6811561,5417156.78066337 5658348.15640935,5417159.055
|
|
5658349.214,5417158.818 5658350.085,5417158.82103105
|
|
5658350.0862195,5417158.82 5658350.09,5417160.0541792
|
|
5658350.58235872,5417160.702 5658350.843,5417162.642
|
|
5658351.593,5417164.137 5658352.264,5417165.25343486
|
|
5658353.89499119,5417166.04 5658355.05,5417168.52 5658357.99,5417170.76
|
|
5658360.11,5417171.26171711 5658361.81094338,5417171.577
|
|
5658362.886,5417175.235 5658370.602,5417176.428
|
|
5658376.483,5417176.51210558 5658376.89535766,5417176.6
|
|
5658377.34,5417176.73975924 5658378.01762057,5417176.927
|
|
5658378.944,5417177.91415134 5658383.81113564,5417178.12
|
|
5658384.83,5417178.14836289 5658384.91508866,5417177.11
|
|
5658384.95,5417178.08 5658393.36,5417178.1 5658393.55,5417178.76
|
|
5658405.39,5417177.875 5658408.488,5417176.696 5658412.61,5417175.23
|
|
5658417.74,5417174.99 5658418.57,5417172.322
|
|
5658417.957,5417172.32037372 5658417.96008538,5417172.32
|
|
5658417.96,5417158.31 5658444.53,5417157.64951003
|
|
5658446.06368011,5417157.128 5658447.265,5417157.22660867
|
|
5658448.5786084,5417157.23981414 5658448.75748238,5417155.446
|
|
5658453.413,5417154.99551072 5658455.84098918,5417154.59
|
|
5658458.01,5417144.32092232 5658453.13043826,5417144.321
|
|
5658453.127,5417146.41 5658446.6,5417148.36 5658440.81))
|
|
</b>
|
|
<test>
|
|
<op name="difference" arg1="A" arg2="B">
|
|
POLYGON EMPTY
|
|
</op>
|
|
</test>
|
|
</case>
|
|
|
|
|
|
<case>
|
|
<desc>
|
|
http://lists.osgeo.org/pipermail/geos-devel/2010-September/004949.html
|
|
|
|
Fails because B is invalid
|
|
</desc>
|
|
<a>
|
|
|
|
0106000000010000000103000000010000009F0100009031772D4C6639418E06F0763C7352417524970F63663941411361A736735241075F980C76663941DF718AFA31735241F4FDD4D88466394135EF38B12E735241083D9B358E663941B7F3FDAC2C7352417E8CB9EB9B66394183E2C7C029735241DE9387E59B663941D9F0F4BE297352410BB5A6E99B6639415DFE43BE2973524103098AEF9B663941D9CEF7BF29735241AA825129B166394187A7572A257352416BBC7423B1663941797AA52825735241E4141D29B1663941C6FEB22725735241B5C8762EB1663941C74B372925735241E561A1C6C0663941850D4FBB2173524115AE47C1C066394183C0CAB9217352416ADE71EAC0663941D578E9B22173524116FBCBBECB6639411895D4FD1E7352411D5A64EBCB6639419DA223ED1E73524165AA60F4CB663941D9F0F4EE1E7352415305A312D766394196B20C811B7352410BB5A609D76639415A643B7F1B73524174469416D76639416766667A1B735241EB043421D7663941FA7E6A7C1B7352416A4DF32EDC663941615452D319735241AC1C5A24DC663941CD3B4ED11973524193A98261DC6639411FF46CBA19735241E0BE0E6CDC663941D3DEE0BB197352418E75711BE7663941736891E51473524189D2DE10E7663941C07D1DE414735241C364AA40E7663941C8293AD2147352418738D645E7663941A5BDC1CB14735241A4703D4AE766394131992ACC14735241B003E77CEC66394173F90F5511735241C520B0C2F96639418E06F07E0873524188855AB3026739414B5986E802735241B8AF03D70F673941645DDCB6FA725241B4EA73D50F673941A167B3B6FA72524193CB7FD80F673941AE47E1B2FA725241075F98DC0F673941EF3845B3FA72524142CF66C5146739412A3A9273F772524115AE47C114673941E9482E73F77252415D8FC2C514673941287E8C6DF7725241E78C28CD14673941C4B12E6EF77252412731086C196739418126C212F47252419C33A26419673941E5F21F12F4725241053411661967394117485010F472524143AD696E19673941933A0111F47252415917B7511C673941DF718AE6F17252411B9E5E491C673941F5DBD7E5F17252415305A3621C67394197900FC6F172524145696F701C673941E2E995C6F172524167D5E79A1E673941A245B633EE72524176711B8D1E673941C58F3133EE725241068195A31E6739416A4DF316EE725241068195A31E6739417958A8A9EB7252412141F1331F67394143AD69C2E972524132772DC120673941FCA9F19EE6725241A245B6A322673941E3361AF0E4725241CC10C7CA29673941E3C79853E1725241A0ABADA8346739414260E544DD725241AED85FC6396739410E4FAFECDB7252412731081C3E6739415DFE435ADB725241713D0AD741673941910F7A32DB72524151FC18A34E67394196B20CDDDC725241C442AD095B67394193A98209DF725241BB490C125B673941022B8706DF7252413108AC9C5B67394132E6AE1DDF725241E2E995C25C6739413B014D2CDF725241DA3D79E85D67394132E6AE1DDF7252412F6EA3E15E6739414E6210F4DE725241C07D1D885F673941A779C7B5DE725241E2E995C25F6739413B014D6CDE725241C07D1D885F6739413D2CD422DE7252412F6EA3E15E67394128A089E4DD725241098A1F735E67394173D712D2DD72524100917E7B5E673941E25817CFDD7252412A3A92EB51673941AFB6629BDB725241343333E35167394140355E9EDB7252417CF2B090516739412B189590DB725241FB5C6D9551673941F2D24D8EDB725241F4FDD4B843673941C9E53FC0D9725241759318B443673941022B87C2D9725241B615FB7B4367394179E926B9D9725241577DAE8642673941211FF4ACD9725241B22E6E7342673941EEEBC0A5D97252411B2FDD5442673941797AA5A0D97252415839B458426739419565889FD9725241B6847C203E673941DB1B7CB5D8725241910F7A0639673941E02D9038D772524112A5BD01396739414FAF9439D7725241F0A7C6EB386739413F575B31D77252415B423EE838673941A69BC430D77252413B70CEE838673941C0EC9E30D77252414EF38E0327673941151DC9C9D2725241CFF753B308673941A54E4023CB7252416EC5FEB2086739413D9B5523CB72524176E09CB108673941CF88D222CB725241F31FD2AF0867394126E48322CB725241E3361AB008673941FC3A7022CB7252412E90A008E66639414D840D8BC272524185EB5108E6663941772D218BC2725241280F0B05E66639417446948AC27252413FC6DC05E6663941AED85F8AC27252418FE4F22FCD6639413FC6DC79BC72524130BB272FCD6639410534117ABC72524126530523CD66394104780B78BC7252416C787A25CD663941D26F5F77BC725241F931E6AEB666394117485048B7725241244A7B538E6639415327A041AC7252412B8716A98066394192ED7C57A87252413355303A75663941F6B9DA56A2725241BEC11736756639411AE25857A2725241B7627F09756639410C93A946A272524105C58F1175663941A70A4645A2725241B459F52963663941AE69DEC59B72524166F7E4216366394113F241C79B72524141F1631C636639417C6132C59B7252412E211F2463663941A935CDC39B7252418A4160C54D6639419CC4205494725241E4839EBD4D66394170F0855594725241AD8BDBB84D663941ED2FBB53947252417FFB3AC04D663941D2915C5294725241C7DCB5A4436639410F2DB2ED90725241F46C569D436639412ACB10EF9072524189D2DE8043663941FA7E6AE490725241857CD08343663941C976BEE390725241AD8BDB18376639410612147F8D725241B1E1E91537663941371AC07F8D7252411C0DE00D37663941ED0DBE7C8D72524195F6060F376639416C9A777C8D725241190456BE2566394188855A0389725241E6D0220B11663941295C8F7A8372524131992AD8066639412C6519028072524141F163BCFF653941B8AF03077C725241C976BE7FF465394134A2B49B74725241D95F76AFEA653941EF3845D36D7252419C559FABEA6539412DB29DD36D7252415B423EA8EA653941411361CF6D7252411B9E5EA9EA653941EF3845CF6D725241DBF97E0AE66539414872F9EB6A725241D42B6509E665394107F016EC6A725241780B2408E665394170CE88EA6A72524198DD93E7E565394187A757DE6A72524133C4B1EEE5653941D1B359DD6A725241653BDFEFD86539415EBA490465725241CA54C1E8D865394115AE4705657252416FA301CCD865394126E483FA64725241D9CEF7D3D8653941C05B20F964725241508D970EC6653941CBA145425E7252412DD49A06C66539419FCDAA435E725241D200DEF2C5653941F016483C5E7252416619E2F8C56539412ACB103B5E725241A8C64B27BC653941F241CF325B72524115AE4721BC653941B98D06345B72524141136103BC65394162A1D6285B7252417E1D38B7BB653941C07D1D1C5B725241143FC6BCBB6539419A081B1A5B72524177BE9F3AB4653941FB5C6DCD59725241E19C1135B465394120D26FCF597252412D431CDBB36539418CDB68C059725241F775E0CCB3653941C6FEB2BF59725241AAF1D2CDB365394174B515BF597252417E8CB9EBA3653941D9F0F43A58725241CC10C7EAA365394198DD933B58725241CFF753B3A365394118B7D138587252414FAF94B5A36539415305A3365872524186C954518C653941B84082B2567252410612144F8C6539417CF2B0B456725241676666268C6539417A36ABB25672524195D409288C653941F01648B0567252418F5374C47465394105C58FAD5572524145696FF04E65394192CB7F0454725241A5DFBEEE4E6539411DEBE2065472524139D6C5ED4E6539411973D70654725241684469EF4E6539418F537404547252419BE61DB70F653941F8C2644651725241E02D90D0DF64394190C2F5E44E72524176711B6DAC6439411973D7264C725241577DAEB6766439412A3A9243497252419C33A2B47664394122FDF645497252413A234AAB76643941B7627F4549725241A01A2FAD7664394174B51543497252419B779CC22C643941772D21A745725241BADA8ADDE4633941C8293AE64172524171AC8BDBE46339412E90A0E841725241835149CDE463394168B3EAE741725241DC6800CFE463394170F085E5417252418B8EE452B9633941AF25E4F33F7252410DE02DF0A46339410AF9A05F3E725241E27A14EEA4633941182653613E7252412E90A058A4633941F853E3593E7252417D3F35FE9D633941F853E3593E725241F1F44A999D633941D578E95E3E725241615452979D63394192CB7F5C3E725241BC051254926339411AC05BF03E7252410534115692633941EFC9C3F23E725241713D0AF79163394100917EF73E7252416991ED7C91633941AF25E40B3F72524107F0167891633941D509680A3F725241797AA5FC7E633941234A7BCB42725241228E75017F633941FE65F7CC427252416C787AD57E63394185EB51D4427252414EF38EC37E633941B8AF03DB42725241752497BF7E633941C13923DA42725241DFE00B736D6339414260E5C0477252410022FD06436339415AF5B9CA52725241F7065F0843633941BB270FCB52725241E7AE2504436339410AD7A3CC5272524183C0CA0143633941759318CC52725241539621EE1E633941A54E40775C725241E04F8D17F562394164CC5DFF66725241E19C11A5C66239419FCDAA3F727252415EDC46E3C0623941A69BC48473725241A70A4615C162394113F241877372524143AD690EC2623941F775E0B073725241D4BCE3B4C26239419E5E29EF73725241F6285CEFC26239410AD7A33874725241DFE00BC3C26239413E7958707472524195658853C96239410BB5A6FD72725241B98D0650C9623941E71DA7FC72725241925CFE63C9623941AA8251F972725241E19C1165C96239412CF697F972725241789CA2E3F7623941D2915CB667725241E2E995E2F7623941501E16B667725241D42B65E9F7623941B37BF2B467725241F9C264EAF7623941BD7493B467725241304CA6EAF76239419C33A2B46772524187A757CA21633941C8293A2A5D72524109AC1CCA216339417AC7292A5D725241098A1FD321633941A857CA265D725241B4EA73D521633941AB3E57275D7252416FA301EC45633941F9A0677B53725241DAACFA5C706339413B014D70487252412A3A925B70633941D9CEF76F4872524134A2B46770633941B22E6E6B487252410D71AC6B70633941A9A44E6C487252414EF38EC3786339415474240F46725241A857CA2283633941C2A8A40A4A725241AFB662FF906339419F3C2CE047725241C07D1D489E633941C8293AAE49725241C7DCB524AC633941C58F31D34972524110E9B72FB0633941B30C71D0487252411748500CBE6339419EEFA7F247725241280F0B55CB6339412B18953C48725241C0EC9E9CF06339417C832FAC4972524164CC5DFB0A6439410EBE30E944725241B9FC87F42B64394166F7E4A146725241BBB88DF62B64394100917E9F46725241221FF4FC2B643941857CD09F46725241BC270FFB2B643941C8293AA246725241E7AE25E4756439419A081B3E4A725241A1F83196AB6439419DA223214D7252415B423E98AB6439411383C01E4D7252414850FC98AB643941A857CA1E4D7252418E06F096AB643941A01A2F214D72524160764FFEDE643941DCD781DF4F7252411BC05B00DF643941E4141DDD4F725241A8C64B07DF643941228E75DD4F7252418A416005DF643941653BDFDF4F725241083D9BF50E653941151DC9415272524127C286F70E653941D26F5F3F527252414EF38E030F6539414872F93F5272524166F7E4010F65394163EE5A4252725241ACADD83F4E65394155C1A8005572524104780B1474653941A401BCA956725241A401BC1574653941AB3E57A756725241713D0A1774653941F9A067A7567252418A4160157465394183C0CAA956725241AA13D0648B653941E63FA4AB57725241BA6B0999A265394155C1A82C59725241577DAE26B2653941A323B9A85A725241E10B9339B96539412FDD24E25B72524176E09CD1C26539412E90A0D85E725241BADA8A7DD5653941AED85F86657252413B92CB5FE2653941E2E995526B72524120D26FEFE66539411AC05B2C6E7252419A081BBEF06539410D71ACF374725241D812F2C1F0653941CFF753F374725241B22E6EC3F065394159A835F574725241EE0DBEC0F0653941903177F574725241925CFE03FC6539412FFF21657C7252419EEFA706FC6539416519E2647C725241A779C709FC6539415F29CB687C72524176E09C11FC6539417E8CB96B7C725241CC7F480FFC65394124B9FC6B7C7252416E348047036639416EC5FE7680725241D122DB4903663941C898BB76807252416A6FF0850366394135EF388D8072524143AD697E036639412CD49A8E80725241F797DDE30D6639417FFB3A18847252411D5A64EB0D6639418716D91684725241143FC60C0E663941AB3E572384725241DBF97E0A0E663941653BDF238472524142CF66D522663941DC6800B389725241C286A7D722663941236C78B289725241075F98DC2266394185EB51B4897252418E7571DB22663941075F98B4897252413355302A34663941EB04342D8E7252418816D97E406639415E4BC88B9172524185EB51884A6639418A1F63EA94725241E27A141E546639417FFB3A40987252415F984C9524663941D49AE675A0725241D812F2112A66394108AC1CC6A9725241221FF41C2E663941653BDFD3AE7252410D022BF730663941CF88D24AB1725241371AC01B3B663941B1E1E9B9B27252414850FC483E663941ACADD803B372524108CE19C182663941D2915C76AA72524168B3EA538B66394174B515EBAC725241EA2631588B6639410C2428EAAC72524140A4DF5E8B66394155C1A8ECAC725241FD87F45B8B66394186C954EDAC725241267502CAB366394152B81EF9B7725241221FF4CCB366394121B072F8B77252417DD0B3D9B3663941C74B37FDB77252412063EEEAB366394175931800B872524121B072E8B366394138F8C200B87252415327A069CA663941EF5A4232BD72524190C2F538E3663941C4D32B41C3725241D7A370DD05673941857CD0D7CB7252418A1F632E24673941022B877ED3725241EC51B82E246739416ADE717ED3725241E3361A3024673941D9F0F47ED3725241BF0E9C332467394171AC8B7FD3725241DFE00B3324673941575BB17FD3725241E6D0220B36673941A8C64BE3D772524110E9B72F3B673941A8C64B63D97252418F5374343B673941A7E84862D9725241B1506B4A3B6739414A9D806AD97252414850FC683B673941BF0E9C6FD972524152B81E653B673941A323B970D9725241386744593D6739412B8716DDD97252419A2A18A53C673941075F98E4D9725241FD1873A73C673941780B24E8D9725241D7A370FD3B673941075F98F0D9725241AE69DEC13B6739414D158CFAD9725241F775E0BC3B6739410DE02DF8D97252417AC7298A366739411461C3A7DA72524130BB278F36673941539621AADA72524105C58FD135673941F263CCC9DA7252418126C2C635673941637FD9CDDA7252419F3C2CC43567394111363CCDDA725241295C8F22306739412E211F48DC72524152B81E25306739417F6ABC48DC72524176711BDD2F6739417B14AE63DC725241D044D8D02F6739415327A061DC725241E2E995B2246739411AC05B88E07252418816D9BE2467394143AD698AE072524195D4098824673941431CEB9EE0725241B6847C80246739416DE7FB9DE0725241166A4D231D6739413C4ED155E4725241F6B9DA2A1D6739411383C056E4725241B7D1000E1D673941BADA8A61E4725241E0BE0EFC1C67394107F01678E4725241000000F01C67394137AB3E77E4725241DBF97EEA1A673941CD3B4E45E6725241744694F61A6739419E802646E6725241B6847CE01A673941B1E1E961E67252413E0AD7D31A67394170F08561E672524112363C3D19673941B615FB97E9725241D122DB4919673941F7065F98E9725241E2E9954219673941014D84A1E9725241287E8C3919673941D1B359A1E972524132E6AEA518673941F7065F94EB725241A5DFBEAE1867394128A08994EB725241068195A318673941BBB88DA2EB725241068195A318673941B6847C08EE7252410D71AC8B16673941CA54C17CF172524143AD69BE1367394133C4B196F372524148E17A240F673941DF718AEEF6725241462575420A6739415C8FC229FA7252414C378921FD663941EB73B55902735241098A1F23FD663941AE69DE59027352416EC5FE22FD6639419418045A0273524186C95421FD663941F5DBD75902735241024D842DF46639415A8638F207735241A2D6342FF46639418A1F63F207735241B615FB2BF4663941FC3A70F607735241516B9A27F4663941DE0209F607735241C364AA00E8663941A01A2F0D1073524130BB27DFE6663941C13923CE10735241ECC039E3E666394126E483CE107352417BA52CE3E66639412CD49ACE107352414D840DDFE6663941EBE236CE1073524110E9B7BFE1663941341136381473524177BE9F4ADE6639414260E5C81573524174469446D766394122FDF6F518735241D812F261D2663941287E8C911A735241A1F83176D0663941A3923A291B735241AC1C5A64C7663941F8E461F51D73524112A5BDD1BD663941DE02095A20735241C7BAB8BDBC663941713D0A9F207352414D158C3AAD663941F48E530824735241EE7C3F0598663941DAACFA9C28735241827346548A663941759318882B73524103098A4F8A66394176711B892B735241A401BC558A6639412063EE8A2B735241FFB27B528A663941B5A6798B2B73524196438B4C8A6639418048BF892B73524171CE880272663941B537F8DE307352418126C20672663941555227E03073524132E6AEE57166394132E6AEE530735241D4BCE3E4716639416C787AE53073524197218ED55E6639413D2CD49635735241AED85FD65E66394195F6069735735241B07268D15E66394188F4DB9735735241705F07CE5E663941C05B209935735241A01A2FCD5E663941FBEDEB9835735241D066D5D747663941ADFA5C6D3B735241E71DA7D8476639417368916D3B73524152499DC047663941295C8F763B7352414D158CBA4766394135EF38753B735241FED478E944663941E27A14423C7352413FC6DCD54966394115AE47213D7352419031772D4C6639418E06F0763C735241
|
|
</a>
|
|
|
|
<b>
|
|
010600000005000000010300000001000000A900000086EB51F8B265394115AE47A99472524186EB51F8BD65394115AE47C99372524186EB51F8DF65394115AE47798072524186EB5178DF65394115AE47497E72524186EB5178DF65394115AE47697D72524186EB5138DE65394115AE47A97C72524186EB51B8DB65394115AE47497B72524186EB5178D965394115AE47797972524186EB51B8D865394115AE47197772524186EB51B8D865394115AE47A972725241ACCFD506D9653941D44D62106D7252418B1F63CED66539411383C0D66B7252412D651902D16539410D71AC3769725241F56C56CDC565394168B3EAFB6472524197218ED5C56539412A5C8FFA647252415CB1BFCCC5653941F03845F76472524156C1A8C4C5653941DDB584F86472524156C1A864B0653941DDB584505C7252415CB1BF6CB0653941F038454F5C725241448B6C67B065394115AE474D5C7252412EB29D5FB06539418E976E4E5C7252412EB29DFFA06539418E976ECE55725241448B6C07A165394115AE47CD55725241B30C71FCA0653941C4D32BC9557252415D8FC2F5A065394174D712CA557252415D8FC2B59C65394174D712D253725241B30C71BC9C653941C4D32BD153725241CC7F489F9C6539415DFE43C6537252419E11A59D9C65394158CA32C4537252417C832F9C9C653941D0D556C4537252417C832F7C9A653941D0D5566C527252419E11A57D9A65394158CA326C5272524142F1637C9A6539412DD49A6A52725241D222DB799A6539418816D96A52725241D222DB79986539418816D91A5172524142F1637C986539412DD49A1A51725241F41FD26F9865394161E5D00A51725241577DAE6698653941D36F5F0B51725241B8627F0990653941F2D24D66487252417D61329586653941CD5D4B5040725241D0D556CC7D653941DB8AFD1D3B725241526B9A4778653941BD0512B0387252410B68220C65653941C520B09634725241F116481065653941FFD478953472524134C4B10E65653941EB04349534725241E9D9AC0A65653941AED85F9634725241B5C8768E49653941E9482EAF2E725241F56C564D3665394197218EB52A7252419F5E294B2B6539417AC72902297252410EE02D502B653941790B240029725241C464AA102B653941DE9387F52872524125287E0C2B6539418126C2F62872524125287E2C256539418126C2B627725241C464AA3025653941DE9387B5277252418126C21625653941EB0434B127725241B4EA731525653941297E8CB127725241B4EA73550E653941297E8C39227252418126C2560E653941EB04343922725241A8E8484E0E653941CDEEC9372272524112C7BA480E653941EB73B535227252418CFD65470E653941DF020936227252418CFD658701653941DF0209E61E72524112C7BA8801653941EB73B5E51E725241E20B93790165394196D409E01E725241E19C11750165394101DE02E11E72524197218E75F964394179E926911C72524153B81EA5EE6439415327A075197252415C423EE8E664394129ED0D9A177252416C9A777CD464394102BC05FE13725241E8FBA981D4643941F7065FFC137252415F29CB70D464394197218EF913725241C1EC9E6CD46439413AB4C8FA137252413FE8D9ACB9643941ABCFD54A0E7252413C70CE48B8643941850D4FFF0D72524112C7BA48B8643941A9C64BFF0D7252410712142FB5643941C898BB1A0F72524118B7D1809B643941DDD781170B7252413580B7809B643941B91E85170B72524186EB51B89664394115AE47A90B72524186EB51B88B64394115AE47690D72524186EB51F88564394115AE47390F72524186EB51F88364394115AE47291172524186EB51B88164394115AE47491572524186EB51B87F64394115AE47E91772524186EB51B87C64394115AE47491D72524186EB51787E64394115AE47692172524186EB51B88064394115AE47092472524186EB51388164394115AE47F92572524186EB51F88564394115AE47092772524186EB51B88A64394115AE47492772524186EB51789064394115AE47892772524186EB51789864394115AE47E92872524186EB51389D64394115AE47892B72524186EB51B89E64394115AE47192E72524186EB51F89D64394115AE47D93072524186EB51789D64394115AE47793372524186EB51F89D64394115AE47E93572524186EB51F89E64394115AE47D93772524186EB5178A164394115AE47093A72524186EB51F8A864394115AE47C93C72524186EB5138B264394115AE47593E72524186EB5178BA64394115AE47493F72524186EB51F8CB64394115AE47E94072524186EB5138DB64394115AE47594272524186EB5178EC64394115AE47694372524186EB51780065394115AE47694472524186EB51781465394115AE47B94572524186EB51382065394115AE470946725241AA825129266539415CB1BFF045725241297E8C2926653941EE0DBEF0457252417F1D38473965394108CE190543725241D3DEE07B50653941A4923A993F725241275305935D6539412B1895683E725241ABF1D2ED626539412B1895683E725241837346F45F653941782D21733F7252410712146F56653941B39DEFEF407252413D4ED1B12B65394199DD939346725241CB32C4B12B6539412EB29D934672524186EB51782965394115AE47E94772524186EB51F82865394115AE47894872524186EB51782865394115AE47E94972524186EB51B82965394115AE47894B72524186EB51B82C65394115AE47E94C72524186EB51F82E65394115AE47A94F72524186EB51382C65394115AE47E95272524186EB51F82865394115AE47995572524186EB51F82565394115AE47C95772524186EB51F81F65394115AE47895A72524186EB51781865394115AE47F95C72524186EB51781165394115AE47F95E7252414282E2D70F6539418738D6B15F72524186EB51F81A65394115AE47895F72524186EB51B83565394115AE47F95F72524186EB51385465394115AE47896072524186EB51F86465394115AE47E96072524186EB51B87865394115AE47E96172524186EB51F87865394115AE47C96B72524186EB51387865394115AE47697072524186EB51387A65394115AE47397572524186EB51F87965394115AE47597672524186EB51F87465394115AE47E97672524186EB51F86965394115AE47E97672524186EB51F85465394115AE47897672524186EB51F83365394115AE47697572524186EB51F81B65394115AE47F97472524186EB51F80C65394115AE47597472524186EB51B80465394115AE47A97372524186EB5178FE64394115AE47E97272524186EB51F8F864394115AE47297472524186EB51B8F564394115AE47C97472524186EB5178F164394115AE47497672524186EB5178F064394115AE47C97772524186EB5138F164394115AE47B97872524186EB51F8FD64394115AE47B97A72524186EB51F80765394115AE47397C72524186EB51F81565394115AE47597E72524186EB51382465394115AE47998072524186EB51F83365394115AE47698472524186EB51B84265394115AE47398872524186EB51B85165394115AE47A98B72524186EB51F85E65394115AE47D98E72524186EB51B86565394115AE47C99172524186EB51F86C65394115AE47799172524186EB51787465394115AE47899172524186EB51B88565394115AE47099272524186EB51389365394115AE47A99272524186EB51B89D65394115AE47F99272524186EB51B8A965394115AE47A99372524186EB51F8B265394115AE47A9947252410103000000010000000B000000859ECD1A0D663941806ABCE06872524129ED0D5E186639417EAEB6826872524186EB51781666394115AE47096872524186EB51F80866394115AE47096572524186EB51F8FB65394115AE47496272524186EB5178F465394115AE47F96072524186EB5178E965394115AE47096172524147257582CA6539413E79582462725241F931E6EED96539418CDB68486872524142F1630CE4653941E86A2BD667725241859ECD1A0D663941806ABCE06872524101030000000100000054000000AEFA5C7D6666394162C3D3E389725241472575126D66394194A982D189725241B47BF2309A66394191A0F8318972524168B3EAF3AC663941B615FB938872524147257582B4663941C5B12E2A8872524121D26FCFBD6639416BBC741787725241ACCFD526C76639419A9999AD85725241986E12A3D76639413355301E8372524178BE9FAAD766394112363C218372524114F241BFD7663941151DC91D837252415939B4B8D76639416B4DF31A837252415939B478F36639416B4DF31A7F72524114F2417FF3663941151DC91D7F725241B09465A8F3663941441CEB167F725241806ABCA4F3663941E19C11157F72524168B3EA6305673941C4D32BE57C7252413F575B112467394147037817797252412EB29D2F3E6739413511366C757252413DBD52864F673941A267B3B27272524184C0CAE1576739411C9E5E257172524150AF943546673941516B9AAB6E725241C74B3759386739415E6DC5226B7252417B36AB8E2367394167D5E7BA657252411DEBE286326739418AB0E1B56172524105C58F9102673941A779C7A151725241E6D022ABEC663941221FF4CC49725241BE529661F16639413B92CBE346725241C6FEB20BD7663941F9C2649A3D725241A345B673CE66394142F163C03F725241EE9E3C6CC16639414794F65A437252414803787BBF663941E0BE0EAC44725241016F8134BF663941184850C0467252412EB29D5FBE663941C5B12E024A7252416ADE712AB766394120F46C6250725241790B2458B1663941024D84D95372524104780B44A1663941C15B202D577252419FCDAAFF9B66394199DD939757725241837346A4A7663941F4FDD49C467252418CDB6820AF663941EDC03923417252411C9E5E39D16639418A41604935725241CF88D26EBC663941283108982D72524131BB273F8F6639412B18953C40725241668863FD846639411F166AC543725241986E12937666394179E926FD457252418E28ED5D6F663941184850C046725241B025E45367663941CC7F4807477252411995D4495F66394115AE472D49725241AB60547263663941365EBABD4B7252411A73D7327066394140355ECA4E72524184C0CA1179663941ACADD813517252417F1D3877756639410CB5A6BD52725241100BB5B668663941A5DFBE0E547252410E4FAF14586639416BBC74675472524104098ADF5066394141A4DFF252725241E5F21FE24B663941B1E1E98550725241DF718A5E376639417CF2B0044C725241C07D1D78216639414FD191D448725241ABF1D20D1366394112A5BD25437252413B014D9406663941D144D8043E725241859ECDEAE8653941244A7B37437252415F4BC8C7BE653941CDEEC92F4B72524186EB5138A165394115AE47E95072524186EB5138A365394115AE47895172524186EB51F8A265394115AE47C95272524186EB5138A765394115AE47695472524186EB5138AC65394115AE47F95672524186EB5138B565394115AE47895A72524186EB51B8C265394115AE47C95F72524186EB51F8C965394115AE47296272524186EB5178E965394115AE47096172524186EB5178F465394115AE47F96072524186EB51F8FB65394115AE47496272524186EB51F80866394115AE47096572524186EB51781666394115AE47096872524186EB51B81E66394115AE47196A72524186EB51B82B66394115AE47496D72524186EB51F83666394115AE47897172524186EB51783666394115AE47997272524186EB51782766394115AE47E97572524186EB51F81D66394115AE47D97772524186EB51F82066394115AE47697972524186EB51783D66394115AE474980725241713D0A9766663941B91E85DB89725241AEFA5C7D6666394162C3D3E3897252410103000000010000004C00000086EB5138A463394115AE47396C72524186EB5138A163394115AE47D95C72524186EB51789563394115AE47C95972524186EB51F88063394115AE47195672524186EB51F87263394115AE47595472524186EB51B86263394115AE47695372524186EB51385463394115AE47795272524186EB51B84863394115AE47595172524186EB51383E63394115AE47E94F72524186EB51383063394115AE47494D72524186EB51B81B63394115AE47094772524186EB51B81963394115AE47F94472524186EB51F81963394115AE47894072524186EB51B82163394115AE47793E72524186EB51B82463394115AE47493D72524186EB51F82763394115AE47D93672524186EB51381463394115AE47893372524186EB51780163394115AE47C92F72524186EB51B8EC62394115AE47692B72524186EB5178E462394115AE473929725241BA8D06A0E262394171CE881A2872524186EB51B8E062394115AE47F92772524186EB51B8DC62394115AE47492772524186EB51F8D962394115AE47B92572524186EB5178D862394115AE47A92372524186EB51F8D162394115AE47191F72524186EB51F8C962394115AE47591872524186EB51B8C562394115AE47E91672524186EB51B8B662394115AE47591272524186EB51B8A362394115AE47C90B72524186EB51F89E62394115AE47E90A72524186EB51B89862394115AE47190A72524186EB51F89262394115AE47790972524186EB51788D62394115AE47190972524186EB51388662394115AE47590872524186EB51F88262394115AE47F90672524186EB51788262394115AE47190672524186EB51F88062394115AE47690472524186EB51B87F62394115AE47690372524186EB51387C62394115AE47B90272524186EB51F87662394115AE47590372524186EB51386D62394115AE47490572524186EB51785D62394115AE47E90772524186EB51F85262394115AE47490A72524186EB51B84862394115AE47E90C72524111E9B7FF466239418E28ED610D72524186EB51B84E62394115AE47991372524186EB51385962394115AE47E91A72524186EB51B86162394115AE47791D72524186EB51386C62394115AE47892172524186EB51387362394115AE47892472524186EB51387862394115AE47A92872524186EB51387A62394115AE47792B72524186EB51788162394115AE47A93372524186EB51788762394115AE47493A72524186EB51789362394115AE47094372524186EB51789E62394115AE47594872524186EB51F8AC62394115AE47194F72524186EB5138BA62394115AE47895472524186EB51F8C462394115AE47E95772524186EB51F8CB62394115AE47995972524186EB5178D862394115AE47D95B72524186EB51F8ED62394115AE47695F72524186EB51B8FF62394115AE47596172524186EB51380963394115AE47696272524186EB51381563394115AE47996272524186EB51782663394115AE47596272524186EB51F83863394115AE47D96172524186EB51784463394115AE47996172524186EB51785A63394115AE47996272524186EB51F86A63394115AE47896372524186EB51F88263394115AE47596572524186EB51F88F63394115AE47896672524186EB51389A63394115AE47C96872524186EB51B89D63394115AE47E96972524186EB5138A463394115AE47396C7252410103000000010000003000000086EB5178E463394115AE47718072524186EB5178FD63394115AE47117572524186EB51780764394115AE47D16F72524186EB51780664394115AE47916D72524186EB51781164394115AE47916872524186EB51781264394115AE47F16572524186EB51780F64394115AE47716472524186EB51780A64394115AE47116372524186EB51780464394115AE47516272524186EB5178FD63394115AE47716172524186EB5178F663394115AE47316072524186EB5178F163394115AE47315E72524186EB5178EF63394115AE47715C72524186EB5178EC63394115AE47F15A72524186EB5178E163394115AE47715A72524186EB5178D863394115AE47B15972524186EB51F8CF63394115AE47915772524186EB51F8C763394115AE47515372524186EB5178C463394115AE47B15172524186EB5178BB63394115AE47D14F72524186EB51F8AA63394115AE47314E72524186EB51F88E63394115AE47114C72524186EB51F86C63394115AE47514A72524186EB51F85A63394115AE47D14972524186EB51784263394115AE47314872524186EB51F83563394115AE47914672524186EB51F82C63394115AE47D14472524186EB51F82063394115AE47114272524186EB51F81963394115AE47894072524186EB51B81963394115AE47F94472524186EB51B81B63394115AE47094772524186EB51383063394115AE47494D72524186EB51383E63394115AE47E94F72524186EB51B84863394115AE47595172524186EB51385463394115AE47795272524186EB51B86263394115AE47695372524186EB51F87263394115AE47595472524186EB51F88063394115AE47195672524186EB51789563394115AE47C95972524186EB5138A163394115AE47D95C72524186EB5138A463394115AE47396C72524186EB51F8A763394115AE47916E72524186EB5178AE63394115AE47517172524186EB51F8B563394115AE47917572524186EB51F8C663394115AE47B17A72524186EB5178D863394115AE47917F72524186EB51F8DE63394115AE47718072524186EB5178E463394115AE477180725241
|
|
</b>
|
|
<test>
|
|
<op name="difference" arg1="A" arg2="B">
|
|
POLYGON EMPTY
|
|
</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>A.union(B) fails, but B.union(A) works!
|
|
|
|
Lowering the precision slightly works.
|
|
|
|
Possibly due to ordering issues in RobustDeterminant?
|
|
Or due to robustness issue with ordering points along line segments?
|
|
|
|
http://sourceforge.net/mailarchive/forum.php?thread_name=4DD83610.70607%40telus.net&forum_name=jts-topo-suite-user
|
|
</desc>
|
|
<a>
|
|
|
|
POLYGON ((-73.16540347748551 -94.50735621934908, -74 -95, -76.23310243744803 -100.58620689655172, -76.23310243744801 -100.5862068965517, -76.23310243744801 -100.58620689655172, 100 -30, 30 90, -73.16540347748551 -94.50735621934908))</a>
|
|
|
|
<b>
|
|
POLYGON ((-76.23310243744803 -100.58620689655172, 70 -7, -100 -90, -76.23310243744803 -100.58620689655172))</b>
|
|
<test>
|
|
<op name="union" arg1="A" arg2="B">
|
|
POLYGON ((-100 -90, -76.23310243744803 -100.58620689655172, 100 -30, 30 90, -59.62241169305726 -70.28623629719854, -100 -90))
|
|
</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>A.intersection(B) fails, since it computes a result equal to A
|
|
|
|
This is a case which exhibits a (luckily VERY rare) issue
|
|
with the RobustDeterminant code in JTS.
|
|
This code is sensitive to the order of the input coordinates, in some cases.
|
|
Due to the way JTS computes topology,
|
|
this can cause an inconsistency in the evaluation of how two polygons intersect.
|
|
|
|
As a demonstration of this,
|
|
notice that if the triangle in the example is reversed,
|
|
the intersection computation produces a more reasonable result:
|
|
|
|
polyA = POLYGON ((0 0, 40 0, 40 10.883854, 15.552673 10.883854, 15.552673 20.540905, 0 20.540905, 0 0))
|
|
|
|
tri = POLYGON ((-20.43142161511487 -186.3790522565901, -20.43142161511487 13.620947743409914, 279.56857838488514 -186.3790522565901, -20.43142161511487 -186.3790522565901))
|
|
|
|
polyA.intersection(tri) = POINT (0 0)
|
|
|
|
I have noticed this once before,
|
|
but wasn't sure of the best way to address this issue.
|
|
It may be best to always force a standard ordering of the inputs to
|
|
the RobustDeterminant calculation, in order to at least be consistent.
|
|
Hopefully if this proves out I can address this in a future version of JTS.
|
|
|
|
http://sourceforge.net/mailarchive/forum.php?thread_name=BANLkTi%3D0UrBPmBSg%3Duy4M0ng9Pdptm%2BaYQ%40mail.gmail.com&forum_name=jts-topo-suite-user
|
|
</desc>
|
|
<a>
|
|
POLYGON ((0 0, 40 0, 40 10.883854, 15.552673 10.883854, 15.552673 20.540905, 0 20.540905, 0 0))
|
|
</a>
|
|
<b>
|
|
POLYGON ((-20.43142161511487 -186.3790522565901, 279.56857838488514 -186.3790522565901, -20.43142161511487 13.620947743409914, -20.43142161511487 -186.3790522565901))
|
|
</b>
|
|
<test>
|
|
<op name="intersection" arg1="A" arg2="B">
|
|
GEOMETRYCOLLECTION EMPTY
|
|
</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>
|
|
JTS list - March 19 2012.
|
|
Union of two partially-overlapping polygons returns an incorrect result equal to one of inputs (with node added).
|
|
|
|
This is definitely a robustness error, and a particularly insidious one. At least part of the problem is that while mathematically the point
|
|
|
|
POINT (42.975 -92.25)
|
|
|
|
lies exactly on the line segment
|
|
|
|
LINESTRING (126 -184.5, -9 -34.5)
|
|
|
|
the algorithms that JTS uses report that the point lies off the line (and that's with 2 completely different procedures). This makes me think that possibly the Java text-to-floating point conversion is not converting the numbers precisely (although there may well be something else causing this - I hesitate to blame the core Java library, which must be pretty well tested by now!).
|
|
|
|
Correct expected result is computed by hand.
|
|
</desc>
|
|
<a>
|
|
POLYGON ((42.975 -92.25, 100 0, -200 0, 126 -184.5, 42.975 -92.25))</a>
|
|
<b>
|
|
POLYGON ((126 -184.5, -9 -34.5, -200 -300, 126 -184.5))</b>
|
|
<test>
|
|
<op name="intersection" arg1="A" arg2="B">
|
|
POLYGON ((-46.626 -86.802, -200 0, 100 0, 42.975 -92.25, 126 -184.5, -200 -300, -46.626 -86.802))</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>
|
|
Personal email - Nov 6 2012
|
|
Two issues:
|
|
- Intersection point roundoff causes intersected segment to move across another vertex
|
|
- Polygon B has a very small hole very near the shell, which prevents snapping from working.
|
|
</desc>
|
|
<a>
|
|
POLYGON ((3331887.403422648 3661593.7342660464, 3327296.9868580834 3657803.3373506065, 3327296.986858083 3657803.337350607, 3317921.869437724 3650062.1191730825, 3311387.4153281646 3645901.186354534, 3305053.3363020215 3641286.7914633057, 3299086.6115955096 3636933.941773851, 3297499.392954649 3635662.6758946413, 3295324.0128066926 3633920.328315541, 3295045.714079711 3633595.6292730314, 3293565.164852161 3632452.7563738194, 3292474.2338423817 3631621.6423231405, 3286874.8634554786 3627440.9454131294, 3282210.5767912427 3624351.770955207, 3265913.4033391126 3616450.6177417412, 3256462.3785707573 3612975.182767922, 3253389.9606248685 3611937.9276924506, 3248369.451590094 3610382.207194177, 3244751.568139308 3609552.5691044494, 3241790.469684211 3609215.5444242037, 3235968.4603157192 3609254.431421657, 3232094.5420361166 3609578.4944577864, 3228164.964011107 3610861.866942827, 3226083.289533279 3611548.979333302, 3216443.0216305773 3616035.589352473, 3208761.976765846 3622262.4713822454, 3207415.010927249 3625701.567667901, 3205258.9681641697 3626845.17957722, 3206289.5011845753 3666248.8020421667, 3219295.258535436 3702080.408060125, 3241801.4708900433 3730426.8331502397, 3263508.182716755 3759390.05243975, 3294866.0710920906 3781063.4589725398, 3333321.9692174913 3792235.6356382854, 3375265.845799257 3790616.8764862325, 3416369.0761096925 3775180.4012540504, 3452029.973596725 3746378.882900946, 3380458.352319166 3697463.11371601, 3379704.1868279953 3697687.925809469, 3379918.1410615044 3697093.905240371, 3380615.424125954 3695157.9749436243, 3381641.1459678006 3692310.17024148, 3383155.0910425847 3690587.700537338, 3383210.7507879776 3690144.073401217, 3382865.6603665194 3689922.2658687886, 3379225.5130175836 3690705.1339442288, 3373514.8231398915 3676308.3710248633, 3373501.8268529885 3675716.066330261, 3350005.1709094755 3668750.204309147, 3350004.1466843495 3668751.623547086, 3347380.2646923093 3672818.5056534447, 3346675.6939096297 3673910.5541211097, 3344861.186209702 3672425.1852227207, 3344409.203278647 3672041.4701543376, 3341106.9941277714 3669238.0293093817, 3340959.336490231 3669112.6739992737, 3339751.6215822888 3668087.373315006, 3339125.0525215594 3667570.002962731, 3339125.052521558 3667570.0029627304, 3338812.978401363 3667312.3172459896, 3337605.9170656055 3666315.6230463563, 3337274.0313226706 3666041.578484473, 3336842.8996134163 3665685.584583283, 3336764.676513244 3665620.9942365377, 3336617.7565904423 3665499.679577101, 3336590.4324163995 3665477.1174711236, 3336590.4324163985 3665477.117471123, 3336560.9745151736 3665452.7935047974, 3336429.729052863 3665344.4215545594, 3336428.0115904314 3665343.003412172, 3336299.7005536538 3665237.054474602, 3336286.567177854 3665226.2099888306, 3336008.8910545986 3664996.9273722586, 3335933.998703782 3664935.087290529, 3335893.7218288947 3664901.8298856313, 3335407.723254248 3664500.531338465, 3335362.523048113 3664463.208642474, 3335314.4406720516 3664423.5060822926, 3335261.4149379516 3664379.721694505, 3335260.510816078 3664378.9751433562, 3334839.2565166103 3664031.1372129936, 3334812.0876403297 3664008.703339422, 3334770.685480715 3663974.5167648727, 3334730.7931710533 3663941.5769030186, 3334145.131445489 3663457.9845390473, 3333807.269145311 3663179.005016726, 3333299.550412865 3662759.7717096163, 3333003.8960653218 3662515.644120932, 3332914.5570490086 3662441.875144392, 3331887.403422648 3661593.7342660464))
|
|
</a>
|
|
<b>
|
|
POLYGON ((3334546.228183764 3663789.1779761068, 3334507.2045345404 3663756.955384199, 3334447.580123011 3663707.7223391435, 3334364.100090413 3663638.791240275, 3334255.5397380586 3663549.150829886, 3334184.017357254 3663490.0933984364, 3334094.3533072392 3663416.0560351987, 3333989.606200989 3663329.5642968463, 3333477.0091599287 3662906.302874714, 3333111.689118296 3662604.650957186, 3332904.0328812357 3662433.18513282, 3332837.148123394 3662377.9570775344, 3317921.869437724 3650062.1191730825, 3311387.4153281646 3645901.186354534, 3305053.3363020215 3641286.7914633057, 3299086.6115955096 3636933.941773851, 3295324.0128066926 3633920.328315541, 3295224.653915473 3633804.403470344, 3293565.164852161 3632452.7563738194, 3292474.2338423817 3631621.6423231405, 3286874.8634554786 3627440.9454131294, 3282210.5767912427 3624351.770955207, 3265913.4033391126 3616450.6177417412, 3256462.3785707573 3612975.182767922, 3253389.9606248685 3611937.9276924506, 3248369.451590094 3610382.207194177, 3244751.568139308 3609552.5691044494, 3241790.469684211 3609215.5444242037, 3235968.4603157192 3609254.431421657, 3232094.5420361166 3609578.4944577864, 3228164.964011107 3610861.866942827, 3226083.289533279 3611548.979333302, 3216443.0216305773 3616035.589352473, 3208761.976765846 3622262.4713822454, 3207415.010927249 3625701.567667901, 3206177.122372398 3626358.170643491, 3207216.5521676997 3666101.9715910545, 3220222.309518561 3701933.577609012, 3242728.521873168 3730280.0026991265, 3264435.2336998796 3759243.221988637, 3295793.1220752154 3780916.6285214275, 3334249.0202006157 3792088.8051871713, 3376192.896782382 3790470.0460351193, 3417296.1270928173 3775033.570802938, 3452957.02457985 3746232.0524498327, 3381253.4504837343 3697226.09984442, 3379704.1868279953 3697687.925809469, 3380625.319008783 3695130.502881807, 3381641.1459678006 3692310.17024148, 3347592.204268893 3672490.010212623, 3347063.84174406 3673308.944945371, 3346675.6939096297 3673910.5541211097, 3344861.186209702 3672425.1852227207, 3344429.4712065626 3672058.6767982435, 3342102.119152011 3670082.849855667, 3339751.6215822888 3668087.373315006, 3339088.9738270175 3667540.212077616, 3338947.70378563 3667423.562635983, 3338527.258746467 3667076.3929277137, 3338271.9889883357 3666865.6116859205, 3338029.3884901595 3666665.291700351, 3337553.3827166916 3666272.244404946, 3337430.7193630626 3666170.958870029, 3337412.8016879032 3666156.1638945187, 3337148.6051139445 3665938.011605959, 3336234.327469112 3665183.0746375844, 3335983.920729437 3664976.308885431, 3335654.786631622 3664704.5364108467, 3335594.7123942864 3664654.931935808, 3335477.9477768918 3664558.517102997, 3335469.921747958 3664551.889853621, 3335455.214000046 3664539.745377943, 3335453.8412725255 3664538.611889928, 3335425.4093908416 3664515.1351280445, 3335327.003273468 3664433.8792684707, 3335095.3411379377 3664242.591303297, 3335073.0805383325 3664224.210289963, 3334935.914729842 3664110.9497938636, 3334697.3017278565 3663913.9223620417, 3334647.0299117416 3663872.411938302, 3334632.67936931 3663860.56241419, 3334583.2839290625 3663819.7756311786, 3334546.228183764 3663789.1779761068), (3339088.9738270175 3667540.212077616, 3339088.9738270165 3667540.2120776153, 3339088.973827016 3667540.212077615, 3339088.9738270175 3667540.212077616))
|
|
</b><test>
|
|
<op name="intersection" arg1="A" arg2="B">
|
|
GEOMETRYCOLLECTION EMPTY</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>
|
|
http://trac.osgeo.org/postgis/ticket/2055
|
|
|
|
A triangle which has a segment crossing a segment of a hole very near one end.
|
|
Computed intersection causes a topology failure.
|
|
</desc>
|
|
<a>
|
|
POLYGON ((184315 319325, 184315 319290, 184276 319290, 184276 319325, 184315 319325), (184311.5625999868 319321, 184304.75 319308.59379998595, 184295.64059999958 319292.90599998087, 184304.75 319308.5937999822, 184311.5625999868 319321))
|
|
</a>
|
|
<b>
|
|
POLYGON ((184299.5210452684 319312.2400717032, 184311.5626000017 319321, 184306.59797855775 319312.2400717032, 184299.5210452684 319312.2400717032))
|
|
</b><test>
|
|
<op name="intersection" arg1="A" arg2="B">
|
|
GEOMETRYCOLLECTION EMPTY</op>
|
|
</test>
|
|
</case>
|
|
|
|
<case>
|
|
<desc>
|
|
http://trac.osgeo.org/geos/ticket/614
|
|
|
|
Two polygons with nearly coincident linework, causes robustness failure.
|
|
Correct result unknown.
|
|
</desc>
|
|
<a>
|
|
0106000020E61000000400000001030000000100000005000000E42CEC69873FF2BF9E98F56228E34740E92B4833164DF2BF3B1E335019E34740768E01D9EB5DF2BFD0D556EC2FE3474050C5FEB27B72F2BFB94E232D95E34740E42CEC69873FF2BF9E98F56228E34740010300000001000000040000000DB0F50EA8B7F2BF17C856DD28E447407FF6234564D8F2BFF1BA7EC16EE447409DD7D825AAB7F2BFE4FC4D2844E447400DB0F50EA8B7F2BF17C856DD28E4474001030000000100000004000000F9C5FEB27B72F2BFBB4E232D95E347406EC5FEB27B72F2BFBA4E232D95E3474050C5FEB27B72F2BFB94E232D95E34740F9C5FEB27B72F2BFBB4E232D95E3474001030000000100000005000000F9C5FEB27B72F2BFBB4E232D95E34740988BF84ECC7AF2BF25EEB1F4A1E347402C137EA99FB7F2BFD656EC2FBBE347400DB0F50EA8B7F2BF17C856DD28E44740F9C5FEB27B72F2BFBB4E232D95E34740
|
|
</a>
|
|
<b>
|
|
0106000020E6100000050000000103000000010000000C000000E42CEC69873FF2BF9E98F56228E347400EDB16653648F2BF4985B18520E34740E92B4833164DF2BF3A1E335019E34740A94D9CDCEF50F2BF33F9669B1BE347407DAEB6627F59F2BF2CF180B229E34740758E01D9EB5DF2BFD0D556EC2FE34740533F6F2A5261F2BFD717096D39E34740F4893C49BA66F2BFC8073D9B55E34740B8239C16BC68F2BF33A7CB6262E34740AA2B9FE57970F2BF4165FCFB8CE3474041C5FEB27B72F2BFB94E232D95E34740E42CEC69873FF2BF9E98F56228E3474001030000000100000004000000FCC5FEB27B72F2BFBB4E232D95E347406DC5FEB27B72F2BFBA4E232D95E3474041C5FEB27B72F2BFB94E232D95E34740FCC5FEB27B72F2BFBB4E232D95E34740010300000001000000050000007AB36FCD03D2F2BFDB15192461E447405070B1A206D3F2BFF19D98F562E4474062670A9DD7D8F2BF0E4FAF9465E447407FF6234564D8F2BFF1BA7EC16EE447407AB36FCD03D2F2BFDB15192461E447400103000000010000000C000000FCC5FEB27B72F2BFBB4E232D95E34740978BF84ECC7AF2BF24EEB1F4A1E34740E527D53E1D8FF2BF8F8D40BCAEE3474036CD3B4ED191F2BF649291B3B0E34740841266DAFE95F2BF1DE6CB0BB0E34740E3361AC05BA0F2BFB2632310AFE347405C5A0D897BACF2BF72F90FE9B7E3474031D3F6AFACB4F2BF4F232D95B7E347402B137EA99FB7F2BFD656EC2FBBE347402D431CEBE2B6F2BF551344DD07E447400AC902499DB6F2BF2CE8C3A326E44740FCC5FEB27B72F2BFBB4E232D95E34740010300000001000000090000007AB36FCD03D2F2BFDB15192461E447400473F4F8BDCDF2BFEA5BE67459E44740A31EA2D11DC4F2BFB1F9B83654E447405969520ABABDF2BF2384471B47E447409DD7D825AAB7F2BFE3FC4D2844E447406519E25817B7F2BF63EE5A423EE4474011E4A08499B6F2BF15E3FC4D28E447400AC902499DB6F2BF2CE8C3A326E447407AB36FCD03D2F2BFDB15192461E44740
|
|
</b>
|
|
<test>
|
|
<op name="symDifference" arg1="A" arg2="B">
|
|
GEOMETRYCOLLECTION EMPTY</op>
|
|
</test>
|
|
</case>
|
|
|
|
</run>
|