[geos-devel] [GEOS] #1004: Simplify method provides wrong result
GEOS
geos-trac at osgeo.org
Sun Nov 24 06:53:31 PST 2019
#1004: Simplify method provides wrong result
------------------------+--------------------------
Reporter: kamad3 | Owner: geos-devel@…
Type: defect | Status: new
Priority: minor | Milestone:
Component: Default | Version: 3.8.0
Severity: Unassigned | Keywords: simplify
------------------------+--------------------------
In some random cases the gdal.Geometry.Simplify() which uses the GEOS
Simplify() provides wrong results. I tested it both with geos 3.7.2 and
3.8.0, the results were the same. The details from the gdal guys can be
found here: https://github.com/OSGeo/gdal/issues/2044
EXAMPLE
The original polygon is:
POLYGON ((21.44786 47.65323,21.38886 47.66023,21.37386 47.65123,21.36586
47.66323,21.34886 47.66423,21.33286 47.65623,21.32186 47.66123,21.30886
47.65923,21.30186 47.66623,21.30786 47.66823,21.30286 47.67523,21.26786
47.67823,21.25586 47.69623,21.23886 47.70023,21.25186 47.70123,21.25186
47.70523,21.24486 47.71023,21.23286 47.70723,21.23286 47.71123,21.25186
47.71523,21.23886 47.72223,21.24186 47.72523,21.23586 47.73023,21.24286
47.73023,21.23586 47.73123,21.23686 47.73523,21.24986 47.73423,21.24486
47.73323,21.24986 47.72423,21.26586 47.71823,21.25886 47.72923,21.26086
47.73723,21.24986 47.74023,21.25986 47.74823,21.25386 47.75123,21.27786
47.75423,21.28086 47.76323,21.26786 47.76123,21.29286 47.77723,21.28086
47.78123,21.26086 47.77623,21.28986 47.78523,21.29486 47.78123,21.29586
47.78623,21.32086 47.77123,21.32686 47.78723,21.31686 47.79023,21.31186
47.80023,21.32386 47.79023,21.34186 47.79223,21.34886 47.78723,21.34686
47.78323,21.35686 47.78223,21.33886 47.79923,21.32886 47.80523,21.32186
47.80223,21.31486 47.81023,21.32786 47.81123,21.33986 47.80223,21.33886
47.81123,21.32686 47.82023,21.32586 47.82723,21.32786 47.82323,21.33886
47.82623,21.34186 47.82123,21.36386 47.82223,21.36786 47.81823,21.36086
47.81423,21.37386 47.81423,21.37386 47.81023,21.37486 47.81423,21.38686
47.81423,21.39486 47.80723,21.39586 47.81423,21.40686 47.81723,21.42286
47.80823,21.42286 47.81323,21.43586 47.81623,21.44486 47.80723,21.44486
47.81723,21.44986 47.80523,21.46386 47.81023,21.46186 47.80323,21.47986
47.80723,21.48186 47.80223,21.47686 47.80123,21.49486 47.80123,21.50486
47.78523,21.48686 47.78023,21.49386 47.77023,21.50686 47.77223,21.49986
47.76623,21.49686 47.75123,21.50486 47.75323,21.50686 47.74623,21.50986
47.75223,21.50886 47.74123,21.51286 47.74623,21.51986 47.74223,21.51386
47.72323,21.52586 47.71723,21.52586 47.71123,21.51886 47.70823,21.51986
47.71223,21.51386 47.71223,21.50886 47.70723,21.50686 47.69223,21.49686
47.69023,21.50286 47.68823,21.50186 47.67323,21.48586 47.66623,21.48386
47.65623,21.45386 47.65423,21.45686 47.65923,21.44786 47.65323))
This polygon with Simplify(0.0036) provides the following wrong polygon:
POLYGON ((21.3280682018927 47.8232867823344,21.32786 47.82323,21.32586
47.82723,21.3280682018927 47.8232867823344))
I checked with QGIS, it generates a proper one:
Polygon ((21.44785999999999859 47.65323000000000064, 21.38886000000000109
47.66022999999999854, 21.37386000000000053 47.6512299999999982,
21.36586000000000141 47.66322999999999865, 21.34885999999999839
47.66423000000000343, 21.33286000000000016 47.65623000000000076,
21.30885999999999925 47.65923000000000087, 21.30186000000000135
47.66622999999999877, 21.30786000000000158 47.66823000000000121,
21.30285999999999902 47.67522999999999911, 21.26785999999999888
47.67822999999999922, 21.25585999999999842 47.6962299999999999,
21.23885999999999896 47.70022999999999769, 21.25186000000000064
47.70123000000000246, 21.25186000000000064 47.70523000000000025,
21.24485999999999919 47.7102300000000028, 21.23285999999999873
47.70723000000000269, 21.23285999999999873 47.71123000000000047,
21.25186000000000064 47.71522999999999826, 21.23885999999999896
47.72223000000000326, 21.24185999999999908 47.72523000000000337,
21.23585999999999885 47.73022999999999882, 21.2428600000000003
47.73022999999999882, 21.23585999999999885 47.73122999999999649,
21.23686000000000007 47.73523000000000138, 21.24986000000000175
47.73422999999999661, 21.24485999999999919 47.73322999999999894,
21.24986000000000175 47.7242299999999986, 21.26585999999999999
47.71822999999999837, 21.25885999999999854 47.72923000000000116,
21.26086000000000098 47.73722999999999672, 21.24986000000000175
47.74022999999999683, 21.25985999999999976 47.74822999999999951,
21.25385999999999953 47.75122999999999962, 21.27786000000000044
47.75422999999999973, 21.28086000000000055 47.76323000000000008,
21.26785999999999888 47.76122999999999763, 21.29286000000000101
47.77723000000000297, 21.28086000000000055 47.78123000000000076,
21.26086000000000098 47.7762299999999982, 21.28986000000000089
47.78522999999999854, 21.2948599999999999 47.78123000000000076,
21.29586000000000112 47.78623000000000332, 21.3208599999999997
47.77123000000000275, 21.32685999999999993 47.78723000000000098,
21.31685999999999837 47.7902300000000011, 21.31185999999999936
47.80022999999999911, 21.32385999999999981 47.7902300000000011,
21.3418600000000005 47.79223000000000354, 21.34885999999999839
47.78723000000000098, 21.3468599999999995 47.7832300000000032,
21.35686000000000107 47.78222999999999843, 21.33886000000000038
47.79923000000000144, 21.32885999999999882 47.80523000000000167,
21.32186000000000092 47.80223000000000155, 21.31485999999999947
47.81022999999999712, 21.32786000000000115 47.81123000000000189,
21.33986000000000161 47.80223000000000155, 21.33886000000000038
47.81123000000000189, 21.32685999999999993 47.82023000000000224,
21.32585999999999871 47.82723000000000013, 21.32786000000000115
47.82323000000000235, 21.33886000000000038 47.82623000000000246,
21.3418600000000005 47.8212299999999999, 21.36385999999999896
47.82222999999999757, 21.3678600000000003 47.81822999999999979,
21.36085999999999885 47.81423000000000201, 21.37386000000000053
47.81423000000000201, 21.37386000000000053 47.81022999999999712,
21.38685999999999865 47.81423000000000201, 21.39486000000000132
47.80722999999999701, 21.39585999999999899 47.81423000000000201,
21.40686000000000178 47.81723000000000212, 21.42286000000000001
47.80823000000000178, 21.42286000000000001 47.81322999999999723,
21.43586000000000169 47.81622999999999735, 21.44485999999999848
47.80722999999999701, 21.44485999999999848 47.81723000000000212,
21.44986000000000104 47.80523000000000167, 21.46386000000000038
47.81022999999999712, 21.46186000000000149 47.80322999999999922,
21.47985999999999862 47.80722999999999701, 21.48186000000000107
47.80223000000000155, 21.47685999999999851 47.80122999999999678,
21.49485999999999919 47.80122999999999678, 21.50486000000000075
47.78522999999999854, 21.48686000000000007 47.78023000000000309,
21.49386000000000152 47.77022999999999797, 21.50685999999999964
47.77223000000000042, 21.49986000000000175 47.76623000000000019,
21.49686000000000163 47.75122999999999962, 21.50486000000000075
47.75323000000000206, 21.50685999999999964 47.74622999999999706,
21.50985999999999976 47.75222999999999729, 21.50885999999999854
47.74123000000000161, 21.51285999999999987 47.74622999999999706,
21.51986000000000132 47.74222999999999928, 21.51386000000000109
47.72323000000000093, 21.52586000000000155 47.7172300000000007,
21.52586000000000155 47.71123000000000047, 21.51386000000000109
47.71222999999999814, 21.50885999999999854 47.70723000000000269,
21.50685999999999964 47.69223000000000212, 21.49686000000000163
47.69022999999999968, 21.50285999999999831 47.68822999999999723,
21.50186000000000064 47.67322999999999666, 21.48585999999999885
47.66622999999999877, 21.48385999999999996 47.65623000000000076,
21.45385999999999882 47.65422999999999831, 21.45685999999999893
47.65923000000000087, 21.44785999999999859 47.65323000000000064))
--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1004>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list