@@ -2874,14 +2874,14 @@ def test_ogr_geom_getcurvegeometry():
2874
2874
2875
2875
# Add repeated point at end of line
2876
2876
g2 = g1 .GetLinearGeometry ()
2877
- g2 .AddPoint_2D (2 - 1e-9 , 0 )
2877
+ g2 .AddPoint_2D (2 - 1e-14 , 0 )
2878
2878
g3 = g2 .GetCurveGeometry ()
2879
2879
assert g3 .Equals (g1 )
2880
2880
2881
2881
# Add repeated point at end of line
2882
2882
g2 = g1 .GetLinearGeometry ()
2883
2883
g2_new = ogr .Geometry (ogr .wkbLineString )
2884
- g2_new .AddPoint_2D (0 , 1e-9 )
2884
+ g2_new .AddPoint_2D (0 , 1e-14 )
2885
2885
for i in range (g2 .GetPointCount ()):
2886
2886
g2_new .AddPoint_2D (g2 .GetX (i ), g2 .GetY (i ))
2887
2887
g3 = g2_new .GetCurveGeometry ()
@@ -3019,6 +3019,20 @@ def test_ogr_geom_getcurvegeometry_issue_8332():
3019
3019
ogrtest .check_feature_geometry (g3 , expected_g , 1e-10 )
3020
3020
3021
3021
3022
+ ###############################################################################
3023
+
3024
+
3025
+ def test_ogr_geom_getcurvegeometry_issue9382 ():
3026
+
3027
+ wkt = "POLYGON ((299517.68 6695650.45,299519.85 6695648.29,299522.85 6695645.24,299523.253879511 6695644.9271687,299523.639375687 6695644.59194529,299524.00524874 6695644.23540783,299524.350321919 6695643.8587029,299524.673485444 6695643.46304214,299524.973699995 6695643.04969797,299525.25 6695642.62,299525.27 6695642.6,299525.28 6695642.57,299525.581819649 6695642.02405493,299525.844959794 6695641.4584502,299526.068147436 6695640.87592268,299526.250302851 6695640.27928972,299526.390544832 6695639.67143822,299526.488194942 6695639.05530858,299526.542780772 6695638.43388152,299526.554038241 6695637.81016326,299526.521912903 6695637.18717098,299526.446560174 6695636.56791901,299526.328344583 6695635.95540261,299526.167838007 6695635.35258508,299525.965816945 6695634.76238274,299525.723258704 6695634.18765068,299525.441336721 6695633.63116956,299525.121414825 6695633.09563136,299524.765040724 6695632.58362663,299524.373938437 6695632.09763257,299523.95 6695631.64,299522.14 6695633.39,299522.32 6695633.59,299522.48 6695633.77,299522.63 6695633.96,299522.77 6695634.15,299522.9 6695634.35,299523.03 6695634.55,299523.15 6695634.76,299523.26 6695634.98,299523.37 6695635.19,299523.46 6695635.41,299523.55 6695635.64,299523.63 6695635.86,299523.7 6695636.09,299523.76 6695636.32,299523.81 6695636.56,299523.86 6695636.79,299523.9 6695637.03,299523.92 6695637.27,299523.94 6695637.51,299523.95 6695637.71,299523.95 6695637.97,299523.94 6695638.23,299523.93 6695638.47,299523.9 6695638.71,299523.87 6695638.95,299523.82 6695639.18,299523.77 6695639.42,299523.71 6695639.65,299523.64 6695639.88,299523.56 6695640.11,299523.47 6695640.33,299523.38 6695640.55,299523.28 6695640.77,299523.17 6695640.98,299523.05 6695641.19,299522.92 6695641.4,299522.79 6695641.6,299522.65 6695641.79,299522.5 6695641.98,299522.34 6695642.16,299522.21 6695642.31,299522.08 6695642.45,299515.85 6695648.75,299515.41 6695649.19,299514.69 6695649.95,299513.99 6695650.71,299513.29 6695651.49,299512.902658228 6695651.94,299516.254162679 6695651.94,299517.68 6695650.45))"
3028
+ g = ogr .CreateGeometryFromWkt (wkt )
3029
+ g = g .GetCurveGeometry ()
3030
+
3031
+ expected_wkt = "CURVEPOLYGON (COMPOUNDCURVE ((299517.68 6695650.45,299519.85 6695648.29,299522.85 6695645.24),CIRCULARSTRING (299522.85 6695645.24,299524.00524874 6695644.23540783,299525.25 6695642.62),(299525.25 6695642.62,299525.27 6695642.6,299525.28 6695642.57),CIRCULARSTRING (299525.28 6695642.57,299526.521912903 6695637.18717098,299523.95 6695631.64),(299523.95 6695631.64,299522.14 6695633.39,299522.32 6695633.59,299522.48 6695633.77,299522.63 6695633.96,299522.77 6695634.15,299522.9 6695634.35,299523.03 6695634.55,299523.15 6695634.76,299523.26 6695634.98,299523.37 6695635.19,299523.46 6695635.41,299523.55 6695635.64,299523.63 6695635.86,299523.7 6695636.09,299523.76 6695636.32,299523.81 6695636.56,299523.86 6695636.79,299523.9 6695637.03,299523.92 6695637.27,299523.94 6695637.51,299523.95 6695637.71,299523.95 6695637.97,299523.94 6695638.23,299523.93 6695638.47,299523.9 6695638.71,299523.87 6695638.95,299523.82 6695639.18,299523.77 6695639.42,299523.71 6695639.65,299523.64 6695639.88,299523.56 6695640.11,299523.47 6695640.33,299523.38 6695640.55,299523.28 6695640.77,299523.17 6695640.98,299523.05 6695641.19,299522.92 6695641.4,299522.79 6695641.6,299522.65 6695641.79,299522.5 6695641.98,299522.34 6695642.16,299522.21 6695642.31,299522.08 6695642.45,299515.85 6695648.75,299515.41 6695649.19,299514.69 6695649.95,299513.99 6695650.71,299513.29 6695651.49,299512.902658228 6695651.94,299516.254162679 6695651.94,299517.68 6695650.45)))"
3032
+ expected_g = ogr .CreateGeometryFromWkt (expected_wkt )
3033
+ ogrtest .check_feature_geometry (g , expected_g , 1e-10 )
3034
+
3035
+
3022
3036
###############################################################################
3023
3037
# Test OGR_GT_ functions
3024
3038
0 commit comments