[Git][debian-gis-team/antimeridian][master] 4 commits: New upstream version 0.4.5

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Thu Nov 27 07:24:08 GMT 2025



Antonio Valentino pushed to branch master at Debian GIS Project / antimeridian


Commits:
7a94fa46 by Antonio Valentino at 2025-11-27T07:20:36+00:00
New upstream version 0.4.5
- - - - -
239c60f2 by Antonio Valentino at 2025-11-27T07:20:48+00:00
Update upstream source from tag 'upstream/0.4.5'

Update to upstream version '0.4.5'
with Debian dir ae118991f82f58d9757f4b6ae06d0cda1518adc7
- - - - -
2c788f77 by Antonio Valentino at 2025-11-27T07:21:34+00:00
New upstream release

- - - - -
05c95783 by Antonio Valentino at 2025-11-27T07:22:16+00:00
Set distribution to unstable

- - - - -


22 changed files:

- .github/workflows/ci.yaml
- .github/workflows/docs.yaml
- .github/workflows/joss.yaml
- .github/workflows/release.yaml
- .pre-commit-config.yaml
- CHANGELOG.md
- README.md
- debian/changelog
- pyproject.toml
- src/antimeridian/_implementation.py
- + tests/data/input/issues-182.json
- + tests/data/input/issues-187.json
- tests/data/output/flat/force-north-pole.json
- tests/data/output/flat/great-circle.json
- tests/data/output/flat/issues-124.json
- tests/data/output/flat/issues-164.json
- tests/data/output/flat/issues-174.json
- + tests/data/output/flat/issues-187.json
- tests/data/output/flat/overlap.json
- + tests/data/output/spherical/issues-187.json
- tests/test_polygon.py
- uv.lock


Changes:

=====================================
.github/workflows/ci.yaml
=====================================
@@ -20,15 +20,12 @@ jobs:
         extras:
           - ""
           - "cli"
-        python-version: ["3.10", "3.11", "3.12", "3.13"]
+        python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
     steps:
-      - uses: actions/checkout at v4
-      - uses: actions/setup-python at v5
+      - uses: actions/checkout at v6
+      - uses: astral-sh/setup-uv at v7
         with:
           python-version: ${{ matrix.python-version }}
-      - uses: astral-sh/setup-uv at v6
-      - name: Sync
-        run: uv sync
       - name: pre-commit
         run: uv run pre-commit run --all-files
       - name: pytest
@@ -37,18 +34,11 @@ jobs:
     name: Minimum dependencies
     runs-on: ubuntu-latest
     steps:
-      - name: Checkout
-        uses: actions/checkout at v4
-      - name: Setup Python
-        uses: actions/setup-python at v5
+      - uses: actions/checkout at v6
+      - uses: astral-sh/setup-uv at v7
         with:
           python-version: "3.10"
-      - uses: astral-sh/setup-uv at v6
-      - name: Sync
-        run: uv sync --resolution lowest-direct
       - name: pytest
-        run: uv run pytest
-      - name: Sync w/ all extras
-        run: uv sync --resolution lowest-direct --all-extras
-      - name: pytest
-        run: uv run pytest
+        run: uv run --resolution lowest-direct pytest
+      - name: pytest with all extras
+        run: uv run --resolution lowest-direct --all-extras pytest


=====================================
.github/workflows/docs.yaml
=====================================
@@ -19,10 +19,10 @@ jobs:
     name: Deploy
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v6
         with:
           fetch-depth: 0
-      - uses: astral-sh/setup-uv at v6
+      - uses: astral-sh/setup-uv at v7
       - name: Sync
         run: uv sync
       - name: Deploy


=====================================
.github/workflows/joss.yaml
=====================================
@@ -15,12 +15,12 @@ jobs:
     runs-on: ubuntu-latest
     name: JOSS paper
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v6
       - uses: openjournals/openjournals-draft-action at master
         with:
           journal: joss
           paper-path: docs/paper.md
-      - uses: actions/upload-artifact at v4
+      - uses: actions/upload-artifact at v5
         with:
           name: paper
           path: docs/paper.pdf


=====================================
.github/workflows/release.yaml
=====================================
@@ -21,9 +21,9 @@ jobs:
       url: https://pypi.org/p/antimeridian
     steps:
       - name: Checkout
-        uses: actions/checkout at v4
+        uses: actions/checkout at v6
       - name: Setup Python
-        uses: actions/setup-python at v5
+        uses: actions/setup-python at v6
         with:
           python-version: "3.x"
       - name: Install build


=====================================
.pre-commit-config.yaml
=====================================
@@ -1,21 +1,21 @@
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v5.0.0
+    rev: v6.0.0
     hooks:
       - id: trailing-whitespace
       - id: end-of-file-fixer
       - id: check-yaml
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v1.17.0
+    rev: v1.18.2
     hooks:
       - id: mypy
         additional_dependencies:
           - click~=8.1.6
           - pytest>=8.0
   - repo: https://github.com/charliermarsh/ruff-pre-commit
-    rev: v0.12.5
+    rev: v0.14.6
     hooks:
-      - id: ruff
+      - id: ruff-check
         types_or: [python, pyi, jupyter]
       - id: ruff-format
         types_or: [python, pyi, jupyter]


=====================================
CHANGELOG.md
=====================================
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 
 ## [Unreleased]
 
+## [0.4.5] - 2025-11-26
+
+### Added
+
+- Error response for unfixable polygons ([#190](https://github.com/gadomski/antimeridian/pull/190))
+
+## [0.4.4] - 2025-11-26
+
+### Fixed
+
+- Crossing latitude for flat geometries ([#188](https://github.com/gadomski/antimeridian/pull/188))
+
 ## [0.4.3] - 2025-07-25
 
 ### Fixed
@@ -199,7 +211,9 @@ This v0.1.0 release is to indicate that we think that this package is ready to u
 
 Initial release.
 
-[unreleased]: https://github.com/gadomski/antimeridian/compare/v0.4.3...HEAD
+[unreleased]: https://github.com/gadomski/antimeridian/compare/v0.4.5...HEAD
+[0.4.5]: https://github.com/gadomsk/antimeridian/compare/v0.4.4...v0.4.5
+[0.4.4]: https://github.com/gadomsk/antimeridian/compare/v0.4.3...v0.4.4
 [0.4.3]: https://github.com/gadomsk/antimeridian/compare/v0.4.2...v0.4.3
 [0.4.2]: https://github.com/gadomsk/antimeridian/compare/v0.4.1...v0.4.2
 [0.4.1]: https://github.com/gadomsk/antimeridian/compare/v0.4.0...v0.4.1


=====================================
README.md
=====================================
@@ -22,6 +22,11 @@ Can fix:
 - GeoJSON [Polygons](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6), [MultiPolygons](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.7), [Features](https://datatracker.ietf.org/doc/html/rfc7946#section-3.2) and [FeatureCollections](https://datatracker.ietf.org/doc/html/rfc7946#section-3.3), as dictionaries
 - Anything that has a [`__geo_interface__`](https://gist.github.com/sgillies/2217756)
 
+This repo has been ported to a few other languages:
+
+- Typescript: https://github.com/krisaoe/antimeridian-ts
+- Go: https://github.com/go-geospatial/antimeridian
+
 ## Usage
 
 ```shell


=====================================
debian/changelog
=====================================
@@ -1,14 +1,15 @@
-antimeridian (0.4.3-2) UNRELEASED; urgency=low
+antimeridian (0.4.5-1) unstable; urgency=low
 
   [ Antonio Valentino ]
-  Set upstream metadata fields: Documentation.
+  * New upstream release.
+  * Set upstream metadata fields: Documentation.
 
   [ Bas Couwenberg ]
   * Update lintian overrides.
   * Drop Rules-Requires-Root: no, default since dpkg 1.22.13.
   * Use test-build-validate-cleanup instead of test-build-twice.
 
- -- Antonio Valentino <antonio.valentino at tiscali.it>  Sun, 10 Aug 2025 15:05:04 +0000
+ -- Antonio Valentino <antonio.valentino at tiscali.it>  Thu, 27 Nov 2025 07:22:01 +0000
 
 antimeridian (0.4.3-1) unstable; urgency=medium
 


=====================================
pyproject.toml
=====================================
@@ -1,6 +1,6 @@
 [project]
 name = "antimeridian"
-version = "0.4.3"
+version = "0.4.5"
 authors = [{ name = "Pete Gadomski", email = "pete.gadomski at gmail.com" }]
 description = "Correct GeoJSON geometries that cross the 180th meridian"
 readme = "README.md"
@@ -13,7 +13,8 @@ classifiers = [
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
-    "Development Status :: 4 - Beta",
+    "Programming Language :: Python :: 3.14",
+    "Development Status :: 5 - Production/Stable",
 ]
 dependencies = ["numpy>=1.22.4", "shapely>=2.0"]
 


=====================================
src/antimeridian/_implementation.py
=====================================
@@ -358,10 +358,19 @@ def fix_polygon(
         if shapely.is_ccw(polygon.exterior):
             return polygon
         else:
-            return Polygon(
+            pole_covering_polygon = Polygon(
                 [(-180, 90), (-180, -90), (180, -90), (180, 90)],
                 [polygon.exterior.coords],
             )
+            if shapely.is_valid(pole_covering_polygon):
+                return pole_covering_polygon
+            else:
+                raise ValueError(
+                    "Fixed polygon is invalid, check your input polygon for validity. "
+                    "Reason your polygon is invalid: "
+                    + shapely.is_valid_reason(polygon)
+                )
+
     else:
         return MultiPolygon(polygons)
 
@@ -573,7 +582,7 @@ def crossing_latitude_great_circle(start: XY, end: XY) -> float:
 
 def crossing_latitude_flat(start: XY, end: XY) -> float:
     latitude_delta = end[1] - start[1]
-    if end[0] > 0:
+    if end[0] < 0:
         return round(
             start[1]
             + (180.0 - start[0]) * latitude_delta / (end[0] + 360.0 - start[0]),


=====================================
tests/data/input/issues-182.json
=====================================
@@ -0,0 +1,28 @@
+{
+  "coordinates": [
+    [
+      [41.701686, 27.555683],
+      [41.677091, 27.556499],
+      [41.701686, 27.555683],
+      [41.701676, 27.552681],
+      [41.694555, 27.537487],
+      [41.69456, 27.536652],
+      [41.684332, 27.538833],
+      [41.683195, 27.539543],
+      [41.674979, 27.541187],
+      [41.672853, 27.540324],
+      [41.671549, 27.538989],
+      [41.671067, 27.537625],
+      [41.665152, 27.538274],
+      [41.664217, 27.538102],
+      [41.661835, 27.538401],
+      [41.66299, 27.541284],
+      [41.667426, 27.54781],
+      [41.67182, 27.554058],
+      [41.674274, 27.555888],
+      [41.677091, 27.556499],
+      [41.701686, 27.555683]
+    ]
+  ],
+  "type": "Polygon"
+}


=====================================
tests/data/input/issues-187.json
=====================================
@@ -0,0 +1,11 @@
+{
+  "type": "Polygon",
+  "coordinates": [
+    [
+      [177.6545884597184, 67.05574774066811],
+      [179.0195867605756, 65.33232820668778],
+      [198.4723636216472, 66.06909015550372],
+      [198.7828129097253, 68.14247939909886]
+    ]
+  ]
+}


=====================================
tests/data/output/flat/force-north-pole.json
=====================================
@@ -1 +1 @@
-{"type": "Polygon", "coordinates": [[[-180.0, 76.3214593], [-179.309, 76.6701], [-168.463, 76.9296], [-168.474, 77.1088], [-168.502, 77.5655], [-168.574, 78.0221], [-168.593, 78.4706], [-168.612, 78.936], [-168.667, 79.3898], [-168.686, 79.8442], [-168.768, 80.3003], [-168.809, 80.7608], [-168.858, 81.2183], [-168.909, 81.6745], [-168.962, 82.1323], [-169.039, 82.5888], [-169.188, 83.0411], [-169.29, 83.496], [-169.339, 83.9583], [-169.472, 84.4147], [-169.641, 84.8651], [-169.815, 85.3274], [-170.118, 85.7809], [-170.406, 86.2337], [-170.682, 86.6958], [-171.155, 87.1517], [-171.811, 87.6072], [-172.815, 88.0602], [-174.412, 88.516], [-177.431, 88.9674], [-180.0, 89.1879326], [-180.0, 76.5798128], [-175.321, 76.3227], [-111.726, 37.2888], [-110.816, 34.9036], [-109.957, 32.5118], [-109.143, 30.1141], [-108.369, 27.7113], [-107.63, 25.3039], [-106.921, 22.8925], [-106.24, 20.4776], [-105.583, 18.0596], [-104.948, 15.6389], [-104.332, 13.216], [-103.734, 10.791], [-103.15, 8.36442], [-102.58, 5.93647], [-102.021, 3.50744], [-101.472, 1.07126], [-100.932, -1.35914], [-100.4, -3.78986], [-99.875, -6.22067], [-99.3547, -8.65138], [-98.8384, -11.0818], [-98.3248, -13.5116], [-97.8129, -15.9408], [-97.3014, -18.3692], [-96.7891, -20.7965], [-96.2748, -23.2226], [-95.757, -25.6473], [-95.2344, -28.0707], [-94.7051, -30.4923], [-94.1676, -32.9123], [-93.6196, -35.3304], [-93.059, -37.7465], [-92.483, -40.1604], [-91.8884, -42.5721], [-91.2715, -44.9814], [-90.6278, -47.3882], [-89.9517, -49.7922], [-89.2363, -52.1932], [-88.473, -54.591], [-87.6509, -56.9852], [-86.7554, -59.3753], [-85.7675, -61.7607], [-84.6613, -64.1405], [-83.4004, -66.5136], [-81.9328, -68.878], [-80.1809, -71.231], [-78.0245, -73.5683], [-75.2669, -75.8826], [-71.567, -78.1609], [-66.2885, -80.3783], [-58.1511, -82.4813], [-44.46440000000001, -84.3415], [-20.6712, -85.6372], [12.174599999999998, -85.808], [38.98750000000001, -84.7422], [54.766099999999994, -82.9827], [63.9727, -80.9242], [69.815, -78.7288], [73.8374, -76.4628], [76.79309999999998, -74.1559], [79.07889999999998, -71.8235], [80.9194, -69.4738], [82.45029999999997, -67.1118], [83.75779999999997, -64.7406], [84.89929999999998, -62.3621], [85.91430000000003, -59.9778], [86.83109999999999, -57.5886], [87.6703, -55.1951], [88.44729999999998, -52.798], [89.1739, -50.3975], [89.85930000000002, -47.9939], [90.51060000000001, -45.5876], [91.13389999999998, -43.1786], [91.73379999999997, -40.7672], [92.31420000000003, -38.3534], [92.87850000000003, -35.9375], [93.42939999999999, -33.5196], [93.96940000000001, -31.0998], [94.50060000000002, -28.6781], [95.02480000000003, -26.2548], [95.5437, -23.83], [96.05880000000002, -21.4039], [96.57159999999999, -18.9765], [97.08320000000003, -16.548], [97.59500000000003, -14.1186], [98.10809999999998, -11.6885], [98.62369999999999, -9.25779], [99.1429, -6.82674], [99.66700000000003, -4.39552], [100.197, -1.96435], [100.73500000000001, 0.466557], [101.281, 2.89696], [101.83600000000001, 5.32662], [102.404, 7.75526], [102.98399999999998, 10.1826], [103.57900000000001, 12.6084], [104.19, 15.0323], [104.82100000000003, 17.4539], [105.47199999999998, 19.873], [106.14699999999999, 22.2891], [106.84800000000001, 24.7018], [107.57999999999998, 27.1106], [108.34500000000003, 29.5149], [109.149, 31.9143], [109.99599999999998, 34.308], [110.892, 36.6952], [111.84500000000003, 39.0751], [112.863, 41.4466], [113.95600000000002, 43.8085], [115.13599999999997, 46.1592], [116.41700000000003, 48.4971], [117.81700000000001, 50.8199], [119.358, 53.1248], [121.06600000000003, 55.4085], [122.976, 57.6667], [125.12900000000002, 59.8937], [127.57999999999998, 62.0823], [130.39599999999996, 64.2229], [133.66700000000003, 66.3028], [137.502, 68.3046], [142.041, 70.205], [147.45100000000002, 71.972], [153.91499999999996, 73.5629], [161.59699999999998, 74.9218], [170.56799999999998, 75.9813], [180.0, 76.3214593], [180.0, 89.1879326], [174.73199999999997, 89.4068], [135.14599999999996, 89.7923], [37.99119999999999, 89.6023], [94.06189999999998, 87.418], [97.49200000000002, 85.0435], [98.46719999999999, 82.6609], [98.7894, 80.2758], [98.84379999999999, 77.8894], [98.76210000000003, 75.5019], [98.60149999999999, 73.1136], [98.3906, 70.7243], [98.14549999999997, 68.334], [97.8757, 65.9427], [97.58730000000003, 63.5503], [97.28430000000003, 61.1567], [96.96940000000001, 58.762], [96.64429999999999, 56.366], [96.31049999999999, 53.9687], [95.96870000000001, 51.5701], [95.61959999999999, 49.1702], [95.26369999999997, 46.769], [94.90120000000002, 44.3664], [94.53219999999999, 41.9626], [94.15679999999998, 39.5574], [93.7749, 37.1511], [93.38639999999998, 34.7436], [92.99110000000002, 32.335], [92.58879999999999, 29.9254], [92.17919999999998, 27.5149], [91.76189999999997, 25.1036], [91.33659999999998, 22.6916], [90.90280000000001, 20.2791], [90.45999999999998, 17.8662], [90.00760000000002, 15.4532], [89.54500000000002, 13.0402], [89.07150000000001, 10.6273], [88.5863, 8.21494], [88.08859999999999, 5.80321], [87.57729999999998, 3.39241], [87.05160000000001, 0.98282], [86.51009999999997, -1.42527], [85.95159999999998, -3.83154], [85.37470000000002, -6.23564], [84.7776, -8.63721], [84.15870000000001, -11.0358], [83.51589999999999, -13.4311], [82.84699999999998, -15.8225], [82.14920000000001, -18.2096], [81.41980000000001, -20.5917], [80.65550000000002, -22.9683], [79.85239999999999, -25.3387], [79.00620000000004, -27.702], [78.11220000000003, -30.0573], [77.1644, -32.4038], [76.15640000000002, -34.7402], [75.0804, -37.0651], [73.92750000000001, -39.377], [72.6873, -41.6742], [71.34719999999999, -43.9544], [69.89269999999999, -46.215], [68.30619999999999, -48.453], [66.56700000000001, -50.6645], [64.65010000000001, -52.8451], [62.525499999999994, -54.989], [60.157399999999996, -57.0891], [57.5025, -59.1369], [54.50970000000001, -61.1212], [51.11879999999999, -63.0282], [47.2611, -64.8405], [42.86099999999999, -66.5365], [37.84219999999999, -68.0891], [32.13900000000001, -69.466], [25.71610000000001, -70.6298], [18.594799999999992, -71.5405], [10.880099999999999, -72.1592], [2.7731100000000026, -72.4552], [-5.44774000000001, -72.412], [-13.479299999999995, -72.0322], [-21.0591, -71.3363], [-28.009899999999988, -70.3578], [-34.25, -69.1364], [-39.7748, -67.7117], [-44.629999999999995, -66.1201], [-48.88560000000001, -64.3925], [-52.6182, -62.5545], [-55.90219999999999, -60.6266], [-58.804100000000005, -58.6253], [-61.3819, -56.5635], [-63.6846, -54.4517], [-65.7534, -52.2982], [-67.6228, -50.1095], [-69.3212, -47.8911], [-70.8724, -45.6474], [-72.2964, -43.3818], [-73.6099, -41.0974], [-74.827, -38.7966], [-75.9595, -36.4815], [-77.0174, -34.1539], [-78.0095, -31.8152], [-78.9431, -29.4667], [-79.8246, -27.1096], [-80.6594, -24.7448], [-81.4523, -22.3732], [-82.2075, -19.9955], [-82.9285, -17.6125], [-83.6187, -15.2246], [-84.2809, -12.8326], [-84.9174, -10.4369], [-85.5306, -8.03787], [-86.1224, -5.63604], [-86.6945, -3.23178], [-87.2485, -0.825447], [-87.7859, 1.58262], [-88.3078, 3.99212], [-88.8168, 6.40905], [-89.3112, 8.82055], [-89.7933, 11.2327], [-90.264, 13.6451], [-90.7239, 16.0578], [-91.1737, 18.4704], [-91.6141, 20.8828], [-92.0457, 23.2948], [-92.4688, 25.7062], [-92.884, 28.1169], [-93.2917, 30.5269], [-93.6921, 32.9359], [-94.0856, 35.3439], [-94.4723, 37.7507], [-94.8525, 40.1565], [-97.1809, 86.0477], [-89.7948, 88.4093], [10.368500000000012, 89.6098], [109.86199999999997, 89.8078], [151.93399999999997, 89.4194], [158.515, 88.9727], [160.86599999999999, 88.5124], [162.377, 88.0578], [163.22500000000002, 87.6061], [163.85000000000002, 87.1534], [164.33100000000002, 86.695], [164.67899999999997, 86.2412], [164.861, 85.781], [165.12099999999998, 85.3232], [165.32799999999997, 84.869], [165.476, 84.4169], [165.594, 83.9604], [165.69299999999998, 83.497], [165.779, 83.0419], [165.844, 82.584], [165.90999999999997, 82.1325], [165.966, 81.6751], [166.012, 81.2187], [166.048, 80.7615], [166.14099999999996, 80.3077], [166.163, 79.8453], [166.178, 79.3915], [166.253, 78.9376], [166.24599999999998, 78.4734], [166.284, 78.0155], [166.33799999999997, 77.5632], [166.346, 77.1046], [166.37599999999998, 76.9314], [174.18, 76.8361], [180.0, 76.5798128], [180.0, 90.0], [-180.0, 90.0], [-180.0, 76.3214593]]]}
+{"type": "MultiPolygon", "coordinates": [[[[180.0, 89.1114371], [174.73199999999997, 89.4068], [135.14599999999996, 89.7923], [37.99119999999999, 89.6023], [94.06189999999998, 87.418], [97.49200000000002, 85.0435], [98.46719999999999, 82.6609], [98.7894, 80.2758], [98.84379999999999, 77.8894], [98.76210000000003, 75.5019], [98.60149999999999, 73.1136], [98.3906, 70.7243], [98.14549999999997, 68.334], [97.8757, 65.9427], [97.58730000000003, 63.5503], [97.28430000000003, 61.1567], [96.96940000000001, 58.762], [96.64429999999999, 56.366], [96.31049999999999, 53.9687], [95.96870000000001, 51.5701], [95.61959999999999, 49.1702], [95.26369999999997, 46.769], [94.90120000000002, 44.3664], [94.53219999999999, 41.9626], [94.15679999999998, 39.5574], [93.7749, 37.1511], [93.38639999999998, 34.7436], [92.99110000000002, 32.335], [92.58879999999999, 29.9254], [92.17919999999998, 27.5149], [91.76189999999997, 25.1036], [91.33659999999998, 22.6916], [90.90280000000001, 20.2791], [90.45999999999998, 17.8662], [90.00760000000002, 15.4532], [89.54500000000002, 13.0402], [89.07150000000001, 10.6273], [88.5863, 8.21494], [88.08859999999999, 5.80321], [87.57729999999998, 3.39241], [87.05160000000001, 0.98282], [86.51009999999997, -1.42527], [85.95159999999998, -3.83154], [85.37470000000002, -6.23564], [84.7776, -8.63721], [84.15870000000001, -11.0358], [83.51589999999999, -13.4311], [82.84699999999998, -15.8225], [82.14920000000001, -18.2096], [81.41980000000001, -20.5917], [80.65550000000002, -22.9683], [79.85239999999999, -25.3387], [79.00620000000004, -27.702], [78.11220000000003, -30.0573], [77.1644, -32.4038], [76.15640000000002, -34.7402], [75.0804, -37.0651], [73.92750000000001, -39.377], [72.6873, -41.6742], [71.34719999999999, -43.9544], [69.89269999999999, -46.215], [68.30619999999999, -48.453], [66.56700000000001, -50.6645], [64.65010000000001, -52.8451], [62.525499999999994, -54.989], [60.157399999999996, -57.0891], [57.5025, -59.1369], [54.50970000000001, -61.1212], [51.11879999999999, -63.0282], [47.2611, -64.8405], [42.86099999999999, -66.5365], [37.84219999999999, -68.0891], [32.13900000000001, -69.466], [25.71610000000001, -70.6298], [18.594799999999992, -71.5405], [10.880099999999999, -72.1592], [2.7731100000000026, -72.4552], [-5.44774000000001, -72.412], [-13.479299999999995, -72.0322], [-21.0591, -71.3363], [-28.009899999999988, -70.3578], [-34.25, -69.1364], [-39.7748, -67.7117], [-44.629999999999995, -66.1201], [-48.88560000000001, -64.3925], [-52.6182, -62.5545], [-55.90219999999999, -60.6266], [-58.804100000000005, -58.6253], [-61.3819, -56.5635], [-63.6846, -54.4517], [-65.7534, -52.2982], [-67.6228, -50.1095], [-69.3212, -47.8911], [-70.8724, -45.6474], [-72.2964, -43.3818], [-73.6099, -41.0974], [-74.827, -38.7966], [-75.9595, -36.4815], [-77.0174, -34.1539], [-78.0095, -31.8152], [-78.9431, -29.4667], [-79.8246, -27.1096], [-80.6594, -24.7448], [-81.4523, -22.3732], [-82.2075, -19.9955], [-82.9285, -17.6125], [-83.6187, -15.2246], [-84.2809, -12.8326], [-84.9174, -10.4369], [-85.5306, -8.03787], [-86.1224, -5.63604], [-86.6945, -3.23178], [-87.2485, -0.825447], [-87.7859, 1.58262], [-88.3078, 3.99212], [-88.8168, 6.40905], [-89.3112, 8.82055], [-89.7933, 11.2327], [-90.264, 13.6451], [-90.7239, 16.0578], [-91.1737, 18.4704], [-91.6141, 20.8828], [-92.0457, 23.2948], [-92.4688, 25.7062], [-92.884, 28.1169], [-93.2917, 30.5269], [-93.6921, 32.9359], [-94.0856, 35.3439], [-94.4723, 37.7507], [-94.8525, 40.1565], [-97.1809, 86.0477], [-89.7948, 88.4093], [10.368500000000012, 89.6098], [109.86199999999997, 89.8078], [151.93399999999997, 89.4194], [158.515, 88.9727], [160.86599999999999, 88.5124], [162.377, 88.0578], [163.22500000000002, 87.6061], [163.85000000000002, 87.1534], [164.33100000000002, 86.695], [164.67899999999997, 86.2412], [164.861, 85.781], [165.12099999999998, 85.3232], [165.32799999999997, 84.869], [165.476, 84.4169], [165.594, 83.9604], [165.69299999999998, 83.497], [165.779, 83.0419], [165.844, 82.584], [165.90999999999997, 82.1325], [165.966, 81.6751], [166.012, 81.2187], [166.048, 80.7615], [166.14099999999996, 80.3077], [166.163, 79.8453], [166.178, 79.3915], [166.253, 78.9376], [166.24599999999998, 78.4734], [166.284, 78.0155], [166.33799999999997, 77.5632], [166.346, 77.1046], [166.37599999999998, 76.9314], [174.18, 76.8361], [180.0, 76.5515026], [180.0, 89.1114371]]], [[[-180.0, 76.5515026], [-175.321, 76.3227], [-111.726, 37.2888], [-110.816, 34.9036], [-109.957, 32.5118], [-109.143, 30.1141], [-108.369, 27.7113], [-107.63, 25.3039], [-106.921, 22.8925], [-106.24, 20.4776], [-105.583, 18.0596], [-104.948, 15.6389], [-104.332, 13.216], [-103.734, 10.791], [-103.15, 8.36442], [-102.58, 5.93647], [-102.021, 3.50744], [-101.472, 1.07126], [-100.932, -1.35914], [-100.4, -3.78986], [-99.875, -6.22067], [-99.3547, -8.65138], [-98.8384, -11.0818], [-98.3248, -13.5116], [-97.8129, -15.9408], [-97.3014, -18.3692], [-96.7891, -20.7965], [-96.2748, -23.2226], [-95.757, -25.6473], [-95.2344, -28.0707], [-94.7051, -30.4923], [-94.1676, -32.9123], [-93.6196, -35.3304], [-93.059, -37.7465], [-92.483, -40.1604], [-91.8884, -42.5721], [-91.2715, -44.9814], [-90.6278, -47.3882], [-89.9517, -49.7922], [-89.2363, -52.1932], [-88.473, -54.591], [-87.6509, -56.9852], [-86.7554, -59.3753], [-85.7675, -61.7607], [-84.6613, -64.1405], [-83.4004, -66.5136], [-81.9328, -68.878], [-80.1809, -71.231], [-78.0245, -73.5683], [-75.2669, -75.8826], [-71.567, -78.1609], [-66.2885, -80.3783], [-58.1511, -82.4813], [-44.46440000000001, -84.3415], [-20.6712, -85.6372], [12.174599999999998, -85.808], [38.98750000000001, -84.7422], [54.766099999999994, -82.9827], [63.9727, -80.9242], [69.815, -78.7288], [73.8374, -76.4628], [76.79309999999998, -74.1559], [79.07889999999998, -71.8235], [80.9194, -69.4738], [82.45029999999997, -67.1118], [83.75779999999997, -64.7406], [84.89929999999998, -62.3621], [85.91430000000003, -59.9778], [86.83109999999999, -57.5886], [87.6703, -55.1951], [88.44729999999998, -52.798], [89.1739, -50.3975], [89.85930000000002, -47.9939], [90.51060000000001, -45.5876], [91.13389999999998, -43.1786], [91.73379999999997, -40.7672], [92.31420000000003, -38.3534], [92.87850000000003, -35.9375], [93.42939999999999, -33.5196], [93.96940000000001, -31.0998], [94.50060000000002, -28.6781], [95.02480000000003, -26.2548], [95.5437, -23.83], [96.05880000000002, -21.4039], [96.57159999999999, -18.9765], [97.08320000000003, -16.548], [97.59500000000003, -14.1186], [98.10809999999998, -11.6885], [98.62369999999999, -9.25779], [99.1429, -6.82674], [99.66700000000003, -4.39552], [100.197, -1.96435], [100.73500000000001, 0.466557], [101.281, 2.89696], [101.83600000000001, 5.32662], [102.404, 7.75526], [102.98399999999998, 10.1826], [103.57900000000001, 12.6084], [104.19, 15.0323], [104.82100000000003, 17.4539], [105.47199999999998, 19.873], [106.14699999999999, 22.2891], [106.84800000000001, 24.7018], [107.57999999999998, 27.1106], [108.34500000000003, 29.5149], [109.149, 31.9143], [109.99599999999998, 34.308], [110.892, 36.6952], [111.84500000000003, 39.0751], [112.863, 41.4466], [113.95600000000002, 43.8085], [115.13599999999997, 46.1592], [116.41700000000003, 48.4971], [117.81700000000001, 50.8199], [119.358, 53.1248], [121.06600000000003, 55.4085], [122.976, 57.6667], [125.12900000000002, 59.8937], [127.57999999999998, 62.0823], [130.39599999999996, 64.2229], [133.66700000000003, 66.3028], [137.502, 68.3046], [142.041, 70.205], [147.45100000000002, 71.972], [153.91499999999996, 73.5629], [161.59699999999998, 74.9218], [170.56799999999998, 75.9813], [180.0, 76.6230822], [180.0, 90.0], [-180.0, 90.0], [-180.0, 76.5515026]]], [[[-180.0, 76.6230822], [-179.309, 76.6701], [-168.463, 76.9296], [-168.474, 77.1088], [-168.502, 77.5655], [-168.574, 78.0221], [-168.593, 78.4706], [-168.612, 78.936], [-168.667, 79.3898], [-168.686, 79.8442], [-168.768, 80.3003], [-168.809, 80.7608], [-168.858, 81.2183], [-168.909, 81.6745], [-168.962, 82.1323], [-169.039, 82.5888], [-169.188, 83.0411], [-169.29, 83.496], [-169.339, 83.9583], [-169.472, 84.4147], [-169.641, 84.8651], [-169.815, 85.3274], [-170.118, 85.7809], [-170.406, 86.2337], [-170.682, 86.6958], [-171.155, 87.1517], [-171.811, 87.6072], [-172.815, 88.0602], [-174.412, 88.516], [-177.431, 88.9674], [-180.0, 89.1114371], [-180.0, 76.6230822]]]]}


=====================================
tests/data/output/flat/great-circle.json
=====================================
@@ -1,53 +1 @@
-{
-    "type": "MultiPolygon",
-    "coordinates": [
-        [
-            [
-                [
-                    180.0,
-                    -65.7501218
-                ],
-                [
-                    179.45,
-                    -65.5
-                ],
-                [
-                    178.3,
-                    -66.0
-                ],
-                [
-                    179.75,
-                    -66.5
-                ],
-                [
-                    180.0,
-                    -66.2497739
-                ],
-                [
-                    180.0,
-                    -65.7501218
-                ]
-            ]
-        ],
-        [
-            [
-                [
-                    -180.0,
-                    -66.2497739
-                ],
-                [
-                    -179.1,
-                    -66.0
-                ],
-                [
-                    -180.0,
-                    -65.7501218
-                ],
-                [
-                    -180.0,
-                    -66.2497739
-                ]
-            ]
-        ]
-    ]
-}
+{"type": "MultiPolygon", "coordinates": [[[[180.0, -65.6896552], [179.45, -65.5], [178.3, -66.0], [179.75, -66.5], [180.0, -66.3913043], [180.0, -65.6896552]]], [[[-180.0, -66.3913043], [-179.1, -66.0], [-180.0, -65.6896552], [-180.0, -66.3913043]]]]}


=====================================
tests/data/output/flat/issues-124.json
=====================================
@@ -1 +1 @@
-{"type": "Polygon", "coordinates": [[[180.0, -14.698414], [179.214949, -15.093498], [177.542215, -15.869801], [175.86005899999998, -16.631684], [174.16797299999996, -17.378496], [172.46547599999997, -18.10959], [170.752112, -18.824321], [169.02745300000004, -19.52205], [167.29110300000002, -20.202141], [165.54269999999997, -20.863961], [163.78191800000002, -21.506881], [162.00847199999998, -22.130275], [160.22211900000002, -22.733521], [158.42266, -23.316001], [156.60994800000003, -23.877103], [154.783882, -24.416219], [152.94442000000004, -24.932748], [151.09157300000004, -25.426095], [149.225413, -25.895676], [147.346071, -26.340915], [145.45374400000003, -26.761247], [143.54868899999997, -27.156122], [141.631233, -27.525003], [139.70176600000002, -27.867371], [137.760745, -28.182725], [135.808693, -28.470586], [133.84619599999996, -28.730497], [131.87390500000004, -28.962029], [129.89253099999996, -29.164777], [127.90283999999997, -29.33837], [125.90565500000002, -29.482468], [123.90184599999998, -29.596765], [121.89232800000002, -29.680993], [119.87805600000002, -29.734922], [117.86001499999998, -29.758364], [115.83921900000001, -29.751171], [113.81669899999997, -29.713241], [111.793499, -29.644516], [109.770669, -29.544984], [107.749255, -29.414681], [105.73029200000002, -29.253689], [103.71480099999997, -29.062138], [101.703777, -28.840204], [99.69818299999997, -28.588113], [97.69894799999997, -28.306134], [95.706955, -27.994585], [93.72304099999997, -27.653826], [91.74799200000001, -27.284263], [89.782534, -26.886341], [87.827336, -26.460549], [85.88300600000002, -26.007412], [83.950084, -25.527493], [82.02904699999999, -25.021391], [80.12030700000003, -24.489736], [78.22420799999998, -23.933193], [76.34102899999999, -23.352451], [74.47098399999999, -22.748229], [72.614226, -22.121273], [70.77084100000002, -21.472348], [68.94086199999998, -20.802242], [67.12425999999999, -20.111762], [65.320953, -19.401734], [63.53080700000001, -18.672995], [61.753637999999995, -17.9264], [59.989217999999994, -17.162813], [58.237273000000016, -16.383109], [56.497488000000004, -15.588172], [54.769514000000015, -14.778892], [53.052964, -13.956165], [51.34742, -13.12089], [49.652434, -12.273971], [47.967532000000006, -11.41631], [46.292214, -10.548811], [44.62595999999999, -9.672376], [42.96822800000001, -8.787904], [41.31845899999999, -7.896293], [39.67607699999999, -6.998433], [38.040493, -6.095211], [36.411103999999995, -5.187508], [34.78729799999999, -4.276195], [33.16845000000001, -3.362138], [31.553931000000006, -2.446193], [29.943101000000013, -1.529207], [28.335316000000006, -0.612019], [26.729929, 0.304545], [25.126285999999993, 1.219666], [23.523732999999993, 2.132539], [21.921615000000003, 3.042366], [20.319274000000007, 3.948364], [18.716052999999988, 4.849757], [17.1113, 5.745783], [15.504359999999991, 6.635689], [13.894585000000006, 7.518732], [12.281331999999992, 8.394181], [10.663961, 9.261312], [9.041841000000005, 10.119414], [7.414346999999992, 10.967783], [5.780866000000003, 11.805723], [4.140794, 12.632548], [2.493539999999996, 13.447577], [0.8385269999999991, 14.250138], [-0.8248069999999927, 15.039565], [-2.4970069999999964, 15.815198], [-4.178595999999999, 16.576382], [-5.870077000000009, 17.322467], [-7.571931000000006, 18.052808], [-9.284607999999992, 18.766764], [-11.008534999999995, 19.463698], [-12.744102999999996, 20.142976], [-14.491671999999994, 20.803969], [-16.251564000000002, 21.44605], [-18.024062000000015, 22.068596], [-19.809406999999993, 22.670989], [-21.607794000000013, 23.252614], [-23.419371000000012, 23.812863], [-25.24423200000001, 24.35113], [-27.082423000000006, 24.866819], [-28.93392800000001, 25.359339], [-30.798676999999998, 25.828108], [-32.676536, 26.272555], [-34.567312000000015, 26.692118], [-36.470744999999994, 27.086251], [-38.38651200000001, 27.454422], [-40.314223999999996, 27.796113], [-42.25342699999999, 28.110828], [-44.20360099999999, 28.398091], [-46.164162000000005, 28.657449], [-48.134465000000006, 28.888475], [-50.11380500000001, 29.090767], [-52.101417999999995, 29.263957], [-54.09648899999999, 29.407707], [-56.098153999999994, 29.521712], [-58.105503999999996, 29.605708], [-60.117593, 29.659465], [-62.13344000000001, 29.682796], [-64.152041, 29.675554], [-66.172372, 29.637637], [-68.193396, 29.568988], [-70.214071, 29.469595], [-72.233359, 29.339491], [-74.25023, 29.178759], [-76.263673, 28.987525], [-78.272698, 28.765967], [-80.276348, 28.514305], [-82.273701, 28.232809], [-84.263878, 27.921791], [-86.246047, 27.581612], [-88.219426, 27.212671], [-90.183293, 26.815412], [-92.136981, 26.390319], [-94.079886, 25.937915], [-96.011468, 25.458758], [-97.931251, 24.953444], [-99.838825, 24.422599], [-101.733844, 23.866882], [-103.61603, 23.286982], [-105.485167, 22.683612], [-107.341102, 22.057513], [-109.183745, 21.409449], [-111.013063, 20.740203], [-112.82908, 20.050579], [-114.631877, 19.341398], [-116.421584, 18.613496], [-118.198382, 17.867724], [-119.962496, 17.104942], [-121.714197, 16.326024], [-123.453794, 15.531851], [-125.181634, 14.723309], [-126.898101, 13.901294], [-128.603608, 13.066701], [-130.298601, 12.220432], [-131.983548, 11.363389], [-133.658947, 10.496472], [-135.325315, 9.620583], [-136.98319, 8.736619], [-138.633128, 7.845477], [-140.275702, 6.948045], [-141.911499, 6.045211], [-143.541118, 5.137852], [-145.165171, 4.226841], [-146.784279, 3.313042], [-148.39907, 2.39731], [-150.010182, 1.480493], [-151.618256, 0.563429], [-153.223941, -0.353057], [-154.827888, -1.268146], [-156.430751, -2.181032], [-158.033185, -3.09092], [-159.635847, -3.997022], [-161.239394, -4.898567], [-162.844481, -5.794788], [-164.451761, -6.684935], [-166.061883, -7.568263], [-167.675494, -8.44404], [-169.293233, -9.311543], [-170.915733, -10.170058], [-172.543622, -11.01888], [-174.177514, -11.857314], [-175.818017, -12.68467], [-177.465723, -13.500268], [-179.121213, -14.303433], [-180.0, -14.698414], [-180.0, -90.0], [180.0, -90.0], [180.0, -14.698414]]]}
+{"type": "Polygon", "coordinates": [[[-180.0, -90.0], [180.0, -90.0], [180.0, -14.7207205], [179.214949, -15.093498], [177.542215, -15.869801], [175.86005899999998, -16.631684], [174.16797299999996, -17.378496], [172.46547599999997, -18.10959], [170.752112, -18.824321], [169.02745300000004, -19.52205], [167.29110300000002, -20.202141], [165.54269999999997, -20.863961], [163.78191800000002, -21.506881], [162.00847199999998, -22.130275], [160.22211900000002, -22.733521], [158.42266, -23.316001], [156.60994800000003, -23.877103], [154.783882, -24.416219], [152.94442000000004, -24.932748], [151.09157300000004, -25.426095], [149.225413, -25.895676], [147.346071, -26.340915], [145.45374400000003, -26.761247], [143.54868899999997, -27.156122], [141.631233, -27.525003], [139.70176600000002, -27.867371], [137.760745, -28.182725], [135.808693, -28.470586], [133.84619599999996, -28.730497], [131.87390500000004, -28.962029], [129.89253099999996, -29.164777], [127.90283999999997, -29.33837], [125.90565500000002, -29.482468], [123.90184599999998, -29.596765], [121.89232800000002, -29.680993], [119.87805600000002, -29.734922], [117.86001499999998, -29.758364], [115.83921900000001, -29.751171], [113.81669899999997, -29.713241], [111.793499, -29.644516], [109.770669, -29.544984], [107.749255, -29.414681], [105.73029200000002, -29.253689], [103.71480099999997, -29.062138], [101.703777, -28.840204], [99.69818299999997, -28.588113], [97.69894799999997, -28.306134], [95.706955, -27.994585], [93.72304099999997, -27.653826], [91.74799200000001, -27.284263], [89.782534, -26.886341], [87.827336, -26.460549], [85.88300600000002, -26.007412], [83.950084, -25.527493], [82.02904699999999, -25.021391], [80.12030700000003, -24.489736], [78.22420799999998, -23.933193], [76.34102899999999, -23.352451], [74.47098399999999, -22.748229], [72.614226, -22.121273], [70.77084100000002, -21.472348], [68.94086199999998, -20.802242], [67.12425999999999, -20.111762], [65.320953, -19.401734], [63.53080700000001, -18.672995], [61.753637999999995, -17.9264], [59.989217999999994, -17.162813], [58.237273000000016, -16.383109], [56.497488000000004, -15.588172], [54.769514000000015, -14.778892], [53.052964, -13.956165], [51.34742, -13.12089], [49.652434, -12.273971], [47.967532000000006, -11.41631], [46.292214, -10.548811], [44.62595999999999, -9.672376], [42.96822800000001, -8.787904], [41.31845899999999, -7.896293], [39.67607699999999, -6.998433], [38.040493, -6.095211], [36.411103999999995, -5.187508], [34.78729799999999, -4.276195], [33.16845000000001, -3.362138], [31.553931000000006, -2.446193], [29.943101000000013, -1.529207], [28.335316000000006, -0.612019], [26.729929, 0.304545], [25.126285999999993, 1.219666], [23.523732999999993, 2.132539], [21.921615000000003, 3.042366], [20.319274000000007, 3.948364], [18.716052999999988, 4.849757], [17.1113, 5.745783], [15.504359999999991, 6.635689], [13.894585000000006, 7.518732], [12.281331999999992, 8.394181], [10.663961, 9.261312], [9.041841000000005, 10.119414], [7.414346999999992, 10.967783], [5.780866000000003, 11.805723], [4.140794, 12.632548], [2.493539999999996, 13.447577], [0.8385269999999991, 14.250138], [-0.8248069999999927, 15.039565], [-2.4970069999999964, 15.815198], [-4.178595999999999, 16.576382], [-5.870077000000009, 17.322467], [-7.571931000000006, 18.052808], [-9.284607999999992, 18.766764], [-11.008534999999995, 19.463698], [-12.744102999999996, 20.142976], [-14.491671999999994, 20.803969], [-16.251564000000002, 21.44605], [-18.024062000000015, 22.068596], [-19.809406999999993, 22.670989], [-21.607794000000013, 23.252614], [-23.419371000000012, 23.812863], [-25.24423200000001, 24.35113], [-27.082423000000006, 24.866819], [-28.93392800000001, 25.359339], [-30.798676999999998, 25.828108], [-32.676536, 26.272555], [-34.567312000000015, 26.692118], [-36.470744999999994, 27.086251], [-38.38651200000001, 27.454422], [-40.314223999999996, 27.796113], [-42.25342699999999, 28.110828], [-44.20360099999999, 28.398091], [-46.164162000000005, 28.657449], [-48.134465000000006, 28.888475], [-50.11380500000001, 29.090767], [-52.101417999999995, 29.263957], [-54.09648899999999, 29.407707], [-56.098153999999994, 29.521712], [-58.105503999999996, 29.605708], [-60.117593, 29.659465], [-62.13344000000001, 29.682796], [-64.152041, 29.675554], [-66.172372, 29.637637], [-68.193396, 29.568988], [-70.214071, 29.469595], [-72.233359, 29.339491], [-74.25023, 29.178759], [-76.263673, 28.987525], [-78.272698, 28.765967], [-80.276348, 28.514305], [-82.273701, 28.232809], [-84.263878, 27.921791], [-86.246047, 27.581612], [-88.219426, 27.212671], [-90.183293, 26.815412], [-92.136981, 26.390319], [-94.079886, 25.937915], [-96.011468, 25.458758], [-97.931251, 24.953444], [-99.838825, 24.422599], [-101.733844, 23.866882], [-103.61603, 23.286982], [-105.485167, 22.683612], [-107.341102, 22.057513], [-109.183745, 21.409449], [-111.013063, 20.740203], [-112.82908, 20.050579], [-114.631877, 19.341398], [-116.421584, 18.613496], [-118.198382, 17.867724], [-119.962496, 17.104942], [-121.714197, 16.326024], [-123.453794, 15.531851], [-125.181634, 14.723309], [-126.898101, 13.901294], [-128.603608, 13.066701], [-130.298601, 12.220432], [-131.983548, 11.363389], [-133.658947, 10.496472], [-135.325315, 9.620583], [-136.98319, 8.736619], [-138.633128, 7.845477], [-140.275702, 6.948045], [-141.911499, 6.045211], [-143.541118, 5.137852], [-145.165171, 4.226841], [-146.784279, 3.313042], [-148.39907, 2.39731], [-150.010182, 1.480493], [-151.618256, 0.563429], [-153.223941, -0.353057], [-154.827888, -1.268146], [-156.430751, -2.181032], [-158.033185, -3.09092], [-159.635847, -3.997022], [-161.239394, -4.898567], [-162.844481, -5.794788], [-164.451761, -6.684935], [-166.061883, -7.568263], [-167.675494, -8.44404], [-169.293233, -9.311543], [-170.915733, -10.170058], [-172.543622, -11.01888], [-174.177514, -11.857314], [-175.818017, -12.68467], [-177.465723, -13.500268], [-179.121213, -14.303433], [-180.0, -14.7207205], [-180.0, -90.0]]]}


=====================================
tests/data/output/flat/issues-164.json
=====================================
@@ -1 +1 @@
-{"type": "MultiPolygon", "coordinates": [[[[-180.0, -43.4035023], [-175.659227, -31.633344], [-175.074434, -31.437559], [-174.483417, -31.224708], [-173.886231, -30.994086], [-173.282939, -30.744955], [-172.673612, -30.476547], [-172.058332, -30.188056], [-171.437189, -29.878643], [-170.810287, -29.547431], [-170.177735, -29.193505], [-169.539657, -28.815911], [-175.347869, -24.54512], [-179.556247, -20.961679], [-180.0, -19.6717318], [-180.0, -43.4035023]]], [[[180.0, -19.6717318], [177.894586, -18.387746], [175.992728, -16.231022], [174.45851300000004, -14.322325], [173.166971, -12.583775], [172.049735, -10.97154], [171.06475999999998, -9.457905], [170.18411300000002, -8.023954], [169.38818400000002, -6.656044], [168.662625, -5.343929], [167.996595, -4.079654], [167.381687, -2.856888], [166.81124499999999, -1.670478], [166.27990499999999, -0.516158], [165.78328, 0.609662], [165.31773899999996, 1.710041], [164.880241, 2.78762], [164.46821999999997, 3.844701], [164.07948899999997, 4.883308], [163.712177, 5.90524], [163.364671, 6.912108], [163.035575, 7.905363], [162.723676, 8.886324], [162.42791899999997, 9.856196], [162.147383, 10.816089], [161.881264, 11.767029], [161.62886100000003, 12.709973], [161.389565, 13.645816], [161.162848, 14.575402], [160.94825600000001, 15.499529], [160.74540000000002, 16.41896], [160.55395399999998, 17.334422], [160.373652, 18.246617], [160.204277, 19.156225], [160.04566699999998, 20.063907], [159.89770999999996, 20.970308], [159.76034200000004, 21.876064], [159.63354900000002, 22.781803], [159.517363, 23.688149], [159.41186900000002, 24.595727], [159.317201, 25.50516], [159.23354800000004, 26.417081], [159.161157, 27.332128], [159.10033199999998, 28.250955], [159.051448, 29.174228], [159.014949, 30.102633], [158.991358, 31.036881], [158.981288, 31.977707], [158.985451, 32.925881], [159.00467200000003, 33.882207], [159.03990299999998, 34.847535], [159.092244, 35.82276], [159.16296499999999, 36.808836], [159.253535, 37.80678], [159.365656, 38.817682], [159.501307, 39.842717], [159.66279599999996, 40.883155], [159.852825, 41.940379], [160.07457699999998, 43.015897], [160.33182299999999, 44.11137], [160.629056, 45.228626], [160.971679, 46.3697], [161.36623399999996, 47.536858], [161.82073000000003, 48.732648], [162.345073, 49.959951], [162.95167500000002, 51.22204], [163.65630799999997, 52.522668], [164.47934799999996, 53.866162], [165.447629, 55.257551], [166.597287, 56.702717], [167.97830999999996, 58.208583], [169.66211399999997, 59.783319], [171.75492199999997, 61.436529], [174.423026, 63.179248], [177.94523700000002, 65.023206], [180.0, 66.0012954], [180.0, 90.0], [-180.0, 90.0], [-180.0, 66.0012954], [-177.162866, 66.977247], [-169.783854, 69.031184], [-156.494752, 71.053364], [-132.160805, 71.567033], [-132.576132, 72.253777], [-133.05218, 72.918334], [-133.592853, 73.561194], [-134.20236, 74.182777], [-134.885226, 74.783428], [-135.646298, 75.363412], [-136.490749, 75.922917], [-137.424062, 76.462045], [-138.452017, 76.980811], [38.62853899999999, 64.181107], [37.98944900000001, 63.948282], [58.270354999999995, 63.995942], [69.647739, 62.659174], [76.85802100000001, 61.173557], [82.155574, 59.685407], [86.312588, 58.229866], [89.70749599999999, 56.816999], [92.55782299999998, 55.448619], [95.000903, 54.123443], [97.12908800000002, 52.83902], [99.007405, 51.592532], [100.68329299999999, 50.38114], [102.19235500000002, 49.202129], [103.561935, 48.052973], [104.81345399999998, 46.931348], [105.963975, 45.835128], [107.027285, 44.762374], [108.01466700000003, 43.711317], [108.93546100000003, 42.680341], [109.79747600000002, 41.667968], [110.60729600000002, 40.672842], [111.370522, 39.693716], [112.09195399999999, 38.729441], [112.77572900000001, 37.778952], [113.42544099999998, 36.841265], [114.04422499999998, 35.915459], [114.63483200000002, 35.000679], [115.19968900000003, 34.096121], [115.74094600000001, 33.201033], [116.260517, 32.314703], [116.760109, 31.436461], [117.24125700000002, 30.565671], [117.70533999999998, 29.701726], [118.15360299999998, 28.84405], [118.587176, 27.99209], [119.00708500000002, 27.145316], [119.414266, 26.303216], [119.809575, 25.465296], [120.19379700000002, 24.631078], [120.567654, 23.800096], [120.93180899999999, 22.971896], [121.28688, 22.146031], [121.63343500000002, 21.322066], [121.97200499999997, 20.499567], [122.30308300000002, 19.67811], [122.62712999999997, 18.85727], [122.94457799999998, 18.036625], [123.255833, 17.215754], [123.56127600000002, 16.394234], [123.861269, 15.571638], [124.15615200000002, 14.747536], [124.44624899999997, 13.921493], [124.73187100000001, 13.093064], [125.01331099999999, 12.261797], [125.29085499999997, 11.427228], [125.564774, 10.588879], [125.835331, 9.746259], [126.10278299999999, 8.898858], [126.36738000000003, 8.046148], [126.62936300000001, 7.187578], [126.88897400000002, 6.322571], [127.14644900000002, 5.450521], [127.40202399999998, 4.570793], [127.655933, 3.682713], [127.908413, 2.785567], [128.15970200000004, 1.878595], [128.41004399999997, 0.960985], [128.65968599999997, 0.031868], [128.908887, -0.909694], [129.157912, -1.864712], [129.407039, -2.834285], [129.656562, -3.819608], [129.906795, -4.821992], [130.15807, -5.842875], [130.410749, -6.883847], [130.66522399999997, -7.946676], [130.92192899999998, -9.033335], [131.18134099999997, -10.14604], [131.44399599999997, -11.2873], [131.71050100000002, -12.459973], [131.98154699999998, -13.667339], [132.25793499999997, -14.913199], [132.540599, -16.201998], [132.830648, -17.53899], [133.129416, -18.930471], [133.438532, -20.384084], [133.76002600000004, -21.90927], [134.09648600000003, -23.517926], [134.45128699999998, -25.2254], [134.82898699999998, -27.052082], [135.235969, -29.026083], [135.68165, -31.188057], [136.18089199999997, -33.600781], [136.75957800000003, -36.370839], [137.470414, -39.708878], [138.45865100000003, -44.174214], [141.151119, -54.736096], [141.38047900000004, -54.390833], [141.592557, -54.046261], [180.0, -43.4035023], [180.0, -19.6717318]]]]}
+{"type": "MultiPolygon", "coordinates": [[[[-180.0, -33.9092141], [-175.659227, -31.633344], [-175.074434, -31.437559], [-174.483417, -31.224708], [-173.886231, -30.994086], [-173.282939, -30.744955], [-172.673612, -30.476547], [-172.058332, -30.188056], [-171.437189, -29.878643], [-170.810287, -29.547431], [-170.177735, -29.193505], [-169.539657, -28.815911], [-175.347869, -24.54512], [-179.556247, -20.961679], [-180.0, -20.5136148], [-180.0, -33.9092141]]], [[[180.0, -20.5136148], [177.894586, -18.387746], [175.992728, -16.231022], [174.45851300000004, -14.322325], [173.166971, -12.583775], [172.049735, -10.97154], [171.06475999999998, -9.457905], [170.18411300000002, -8.023954], [169.38818400000002, -6.656044], [168.662625, -5.343929], [167.996595, -4.079654], [167.381687, -2.856888], [166.81124499999999, -1.670478], [166.27990499999999, -0.516158], [165.78328, 0.609662], [165.31773899999996, 1.710041], [164.880241, 2.78762], [164.46821999999997, 3.844701], [164.07948899999997, 4.883308], [163.712177, 5.90524], [163.364671, 6.912108], [163.035575, 7.905363], [162.723676, 8.886324], [162.42791899999997, 9.856196], [162.147383, 10.816089], [161.881264, 11.767029], [161.62886100000003, 12.709973], [161.389565, 13.645816], [161.162848, 14.575402], [160.94825600000001, 15.499529], [160.74540000000002, 16.41896], [160.55395399999998, 17.334422], [160.373652, 18.246617], [160.204277, 19.156225], [160.04566699999998, 20.063907], [159.89770999999996, 20.970308], [159.76034200000004, 21.876064], [159.63354900000002, 22.781803], [159.517363, 23.688149], [159.41186900000002, 24.595727], [159.317201, 25.50516], [159.23354800000004, 26.417081], [159.161157, 27.332128], [159.10033199999998, 28.250955], [159.051448, 29.174228], [159.014949, 30.102633], [158.991358, 31.036881], [158.981288, 31.977707], [158.985451, 32.925881], [159.00467200000003, 33.882207], [159.03990299999998, 34.847535], [159.092244, 35.82276], [159.16296499999999, 36.808836], [159.253535, 37.80678], [159.365656, 38.817682], [159.501307, 39.842717], [159.66279599999996, 40.883155], [159.852825, 41.940379], [160.07457699999998, 43.015897], [160.33182299999999, 44.11137], [160.629056, 45.228626], [160.971679, 46.3697], [161.36623399999996, 47.536858], [161.82073000000003, 48.732648], [162.345073, 49.959951], [162.95167500000002, 51.22204], [163.65630799999997, 52.522668], [164.47934799999996, 53.866162], [165.447629, 55.257551], [166.597287, 56.702717], [167.97830999999996, 58.208583], [169.66211399999997, 59.783319], [171.75492199999997, 61.436529], [174.423026, 63.179248], [177.94523700000002, 65.023206], [180.0, 65.8439696], [180.0, 90.0], [-180.0, 90.0], [-180.0, 65.8439696], [-177.162866, 66.977247], [-169.783854, 69.031184], [-156.494752, 71.053364], [-132.160805, 71.567033], [-132.576132, 72.253777], [-133.05218, 72.918334], [-133.592853, 73.561194], [-134.20236, 74.182777], [-134.885226, 74.783428], [-135.646298, 75.363412], [-136.490749, 75.922917], [-137.424062, 76.462045], [-138.452017, 76.980811], [38.62853899999999, 64.181107], [37.98944900000001, 63.948282], [58.270354999999995, 63.995942], [69.647739, 62.659174], [76.85802100000001, 61.173557], [82.155574, 59.685407], [86.312588, 58.229866], [89.70749599999999, 56.816999], [92.55782299999998, 55.448619], [95.000903, 54.123443], [97.12908800000002, 52.83902], [99.007405, 51.592532], [100.68329299999999, 50.38114], [102.19235500000002, 49.202129], [103.561935, 48.052973], [104.81345399999998, 46.931348], [105.963975, 45.835128], [107.027285, 44.762374], [108.01466700000003, 43.711317], [108.93546100000003, 42.680341], [109.79747600000002, 41.667968], [110.60729600000002, 40.672842], [111.370522, 39.693716], [112.09195399999999, 38.729441], [112.77572900000001, 37.778952], [113.42544099999998, 36.841265], [114.04422499999998, 35.915459], [114.63483200000002, 35.000679], [115.19968900000003, 34.096121], [115.74094600000001, 33.201033], [116.260517, 32.314703], [116.760109, 31.436461], [117.24125700000002, 30.565671], [117.70533999999998, 29.701726], [118.15360299999998, 28.84405], [118.587176, 27.99209], [119.00708500000002, 27.145316], [119.414266, 26.303216], [119.809575, 25.465296], [120.19379700000002, 24.631078], [120.567654, 23.800096], [120.93180899999999, 22.971896], [121.28688, 22.146031], [121.63343500000002, 21.322066], [121.97200499999997, 20.499567], [122.30308300000002, 19.67811], [122.62712999999997, 18.85727], [122.94457799999998, 18.036625], [123.255833, 17.215754], [123.56127600000002, 16.394234], [123.861269, 15.571638], [124.15615200000002, 14.747536], [124.44624899999997, 13.921493], [124.73187100000001, 13.093064], [125.01331099999999, 12.261797], [125.29085499999997, 11.427228], [125.564774, 10.588879], [125.835331, 9.746259], [126.10278299999999, 8.898858], [126.36738000000003, 8.046148], [126.62936300000001, 7.187578], [126.88897400000002, 6.322571], [127.14644900000002, 5.450521], [127.40202399999998, 4.570793], [127.655933, 3.682713], [127.908413, 2.785567], [128.15970200000004, 1.878595], [128.41004399999997, 0.960985], [128.65968599999997, 0.031868], [128.908887, -0.909694], [129.157912, -1.864712], [129.407039, -2.834285], [129.656562, -3.819608], [129.906795, -4.821992], [130.15807, -5.842875], [130.410749, -6.883847], [130.66522399999997, -7.946676], [130.92192899999998, -9.033335], [131.18134099999997, -10.14604], [131.44399599999997, -11.2873], [131.71050100000002, -12.459973], [131.98154699999998, -13.667339], [132.25793499999997, -14.913199], [132.540599, -16.201998], [132.830648, -17.53899], [133.129416, -18.930471], [133.438532, -20.384084], [133.76002600000004, -21.90927], [134.09648600000003, -23.517926], [134.45128699999998, -25.2254], [134.82898699999998, -27.052082], [135.235969, -29.026083], [135.68165, -31.188057], [136.18089199999997, -33.600781], [136.75957800000003, -36.370839], [137.470414, -39.708878], [138.45865100000003, -44.174214], [141.151119, -54.736096], [141.38047900000004, -54.390833], [141.592557, -54.046261], [180.0, -33.9092141], [180.0, -20.5136148]]]]}


=====================================
tests/data/output/flat/issues-174.json
=====================================
@@ -1 +1 @@
-{"type": "MultiPolygon", "coordinates": [[[[-180.0, 47.6851386], [-179.99883180343977, 47.68693582684611], [-179.9988341980868, 47.75356397881128], [-180.0, 47.7517648], [-180.0, 47.6851386]]], [[[180.0, 47.7517648], [179.50699395258562, 47.749968120990246], [179.50805906102357, 47.68334380434753], [180.0, 47.6851386], [180.0, 47.7517648]]]]}
+{"type": "MultiPolygon", "coordinates": [[[[-180.0, 47.6869273], [-179.99883180343977, 47.68693582684611], [-179.9988341980868, 47.75356397881128], [-180.0, 47.7535555], [-180.0, 47.6869273]]], [[[180.0, 47.7535555], [179.50699395258562, 47.749968120990246], [179.50805906102357, 47.68334380434753], [180.0, 47.6869273], [180.0, 47.7535555]]]]}


=====================================
tests/data/output/flat/issues-187.json
=====================================
@@ -0,0 +1,23 @@
+{
+  "type": "MultiPolygon",
+  "coordinates": [
+    [
+      [
+        [180.0, 67.1763841],
+        [177.6545884597184, 67.05574774066811],
+        [179.01958676057563, 65.33232820668778],
+        [180.0, 65.3694608],
+        [180.0, 67.1763841]
+      ]
+    ],
+    [
+      [
+        [-180.0, 65.3694608],
+        [-161.52763637835278, 66.06909015550372],
+        [-161.2171870902747, 68.14247939909886],
+        [-180.0, 67.1763841],
+        [-180.0, 65.3694608]
+      ]
+    ]
+  ]
+}


=====================================
tests/data/output/flat/overlap.json
=====================================
@@ -1 +1 @@
-{"type": "MultiPolygon", "coordinates": [[[[180.0, -71.4156578], [177.735, -71.8738], [168.64999999999998, -72.3841], [162.68100000000004, -72.4829], [162.64800000000002, -72.9666], [162.66700000000003, -73.424], [162.647, -73.8931], [162.71299999999997, -74.3108], [162.72199999999998, -74.7677], [162.73199999999997, -75.2246], [162.726, -75.687], [162.753, -76.1384], [162.74599999999998, -76.5968], [162.73900000000003, -77.0641], [162.774, -77.5224], [162.76300000000003, -77.9775], [162.82100000000003, -78.4224], [162.83799999999997, -78.8792], [162.83000000000004, -79.3407], [162.856, -79.7943], [162.86900000000003, -80.2516], [162.87900000000002, -80.712], [162.894, -81.1693], [162.954, -81.6255], [162.974, -82.0819], [163.022, -82.5335], [163.03300000000002, -82.9874], [163.108, -83.4468], [163.16499999999996, -83.8991], [163.16899999999998, -84.3602], [163.322, -84.8158], [163.34199999999998, -85.261], [163.43899999999996, -85.723], [163.563, -85.9079], [180.0, -85.7160114], [180.0, -71.4156578]]], [[[-180.0, -85.4970302], [-171.529, -85.9077], [-171.655, -85.7132], [-171.638, -85.2721], [-171.7, -84.8155], [-171.833, -84.3588], [-171.796, -83.9023], [-171.836, -83.4528], [-171.867, -82.989], [-171.896, -82.5323], [-171.953, -82.0823], [-171.945, -81.619], [-172.007, -81.1686], [-172.004, -80.711], [-172.008, -80.2503], [-172.025, -79.7944], [-172.047, -79.3407], [-172.072, -78.8864], [-172.055, -78.4219], [-172.066, -77.9651], [-172.076, -77.5083], [-172.101, -77.056], [-172.094, -76.5946], [-172.103, -76.1378], [-172.11, -75.6809], [-172.131, -75.2314], [-172.125, -74.7671], [-172.139, -74.3156], [-172.171, -73.8539], [-172.143, -73.3962], [-172.178, -72.9409], [-172.154, -72.4823], [-180.0, -72.3770501], [-180.0, -85.4970302]]], [[[-180.0, 88.584864], [-106.531, 88.1678], [-100.186, 85.4649], [-98.8889, 82.7452], [-98.5216, 80.022], [-98.4868, 77.2971], [-98.6093, 74.5709], [-98.8191, 71.8435], [-99.0829, 69.1148], [-99.3827, 66.3848], [-99.7085, 63.6535], [-100.054, 60.9206], [-100.415, 58.1862], [-100.788, 55.4502], [-101.173, 52.7125], [-101.567, 49.973], [-101.971, 47.2319], [-102.384, 44.489], [-102.805, 41.7444], [-103.234, 38.9982], [-103.672, 36.2505], [-104.119, 33.5012], [-104.575, 30.7505], [-105.04, 27.9987], [-105.515, 25.2457], [-106.0, 22.4919], [-106.497, 19.7375], [-107.005, 16.9826], [-107.527, 14.2275], [-108.062, 11.4726], [-108.612, 8.71809], [-109.178, 5.96442], [-109.761, 3.21194], [-110.364, 0.461038], [-110.987, -2.28782], [-111.634, -5.03415], [-112.305, -7.77744], [-113.004, -10.5171], [-113.734, -13.2525], [-114.497, -15.983], [-115.299, -18.7077], [-116.142, -21.4259], [-117.033, -24.1365], [-117.977, -26.8385], [-118.981, -29.5307], [-120.053, -32.2115], [-121.203, -34.8793], [-122.442, -37.5321], [-123.784, -40.1675], [-125.245, -42.7827], [-126.846, -45.3743], [-128.609, -47.9379], [-130.565, -50.4683], [-132.75, -52.9588], [-135.208, -55.4011], [-137.994, -57.7844], [-141.175, -60.0948], [-144.832, -62.3143], [-149.064, -64.4196], [-153.979, -66.3802], [-159.691, -68.1576], [-166.298, -69.7037], [-173.843, -70.9625], [-180.0, -71.4156578], [-180.0, -85.7160114], [-173.272, -85.5187], [-148.82, -83.8664], [-135.841, -81.622], [-128.385, -79.1461], [-123.599, -76.5659], [-120.246, -73.9309], [-117.735, -71.2637], [-115.756, -68.5759], [-114.134, -65.8737], [-112.76, -63.161], [-111.567, -60.4402], [-110.508, -57.7127], [-109.552, -54.9798], [-108.675, -52.242], [-107.861, -49.5], [-107.097, -46.7542], [-106.373, -44.0048], [-105.682, -41.2522], [-105.017, -38.4965], [-104.373, -35.738], [-103.746, -32.9769], [-103.133, -30.2134], [-102.53, -27.4476], [-101.936, -24.6797], [-101.347, -21.91], [-100.761, -19.1387], [-100.177, -16.3659], [-99.5929, -13.592], [-99.0065, -10.8172], [-98.4164, -8.04175], [-97.8207, -5.26596], [-97.2177, -2.49013], [-96.6055, 0.285399], [-95.9824, 3.0603], [-95.3462, 5.83419], [-94.6947, 8.60668], [-94.0256, 11.3774], [-93.3362, 14.1458], [-92.6234, 16.9115], [-91.8839, 19.6739], [-91.1139, 22.4325], [-90.309, 25.1866], [-89.464, 27.9355], [-88.573, 30.6783], [-87.629, 33.4143], [-86.6235, 36.1422], [-85.5466, 38.8609], [-84.3861, 41.5687], [-83.1272, 44.264], [-81.7516, 46.9443], [-80.2367, 49.6069], [-78.5538, 52.2482], [-76.6666, 54.8637], [-74.5284, 57.4473], [-72.0782, 59.9911], [-69.2365, 62.4844], [-65.8978, 64.9123], [-61.92320000000001, 67.2542], [-57.1311, 69.4812], [-51.29079999999999, 71.5516], [-44.135999999999996, 73.4074], [-35.41409999999999, 74.969], [-25.0188, 76.1369], [-13.20089999999999, 76.8064], [-0.7013220000000047, 76.9008], [11.435699999999997, 76.4083], [22.33330000000001, 75.3881], [31.587400000000002, 73.94], [39.216499999999996, 72.1681], [45.44460000000001, 70.1586], [50.58260000000001, 67.9567], [54.78820000000002, 65.6468], [58.306899999999985, 63.243], [61.289500000000004, 60.7682], [63.851200000000006, 58.2388], [66.0787, 55.6666], [68.03789999999998, 53.0603], [69.77960000000002, 50.4265], [71.34309999999999, 47.7701], [72.75900000000001, 45.095], [74.05180000000001, 42.4042], [75.24099999999999, 39.7002], [76.3424, 36.9848], [77.36879999999996, 34.2597], [78.33080000000001, 31.5262], [79.23739999999998, 28.7855], [80.09590000000003, 26.0385], [80.9126, 23.2861], [81.69290000000001, 20.5289], [82.44139999999999, 17.7678], [83.16210000000001, 15.0032], [83.85840000000002, 12.2357], [84.5335, 9.46581], [85.1902, 6.69397], [85.83089999999999, 3.92062], [86.45780000000002, 1.14614], [87.07319999999999, -1.62907], [87.67880000000002, -4.40469], [88.27660000000003, -7.18036], [88.86829999999998, -9.95579], [89.45569999999998, -12.7307], [90.04039999999998, -15.5047], [90.6243, -18.2777], [91.20920000000001, -21.0493], [91.7969, -23.8194], [92.38959999999997, -26.5877], [92.98939999999999, -29.354], [93.59899999999999, -32.1181], [94.22120000000001, -34.8798], [94.8594, -37.639], [95.51749999999998, -40.3954], [96.2002, -43.1488], [96.91329999999999, -45.8991], [97.66399999999999, -48.6459], [98.4613, -51.389], [99.31700000000001, -54.128], [100.24700000000001, -56.8624], [101.27100000000002, -59.5915], [102.418, -62.3144], [103.72899999999998, -65.0297], [105.26499999999999, -67.7354], [107.11900000000003, -70.4281], [109.43899999999996, -73.1025], [112.48399999999998, -75.7491], [116.733, -78.3498], [123.15699999999998, -80.8663], [133.94100000000003, -83.2055], [154.03300000000002, -85.1068], [180.0, -85.4970302], [180.0, -72.3770501], [178.512, -72.2699], [169.601, -71.6298], [161.438, -70.6039], [154.185, -69.2493], [147.865, -67.6256], [142.413, -65.7864], [137.724, -63.7771], [133.68200000000002, -61.6335], [130.183, -59.3836], [127.13299999999998, -57.0489], [124.45600000000002, -54.646], [122.08799999999997, -52.1878], [119.97899999999998, -49.6842], [118.08699999999999, -47.1429], [116.37700000000001, -44.5703], [114.822, -41.9711], [113.39999999999998, -39.3494], [112.09100000000001, -36.7084], [110.88099999999997, -34.0508], [109.75599999999997, -31.379], [108.70600000000002, -28.6946], [107.72199999999998, -25.9994], [106.79500000000002, -23.2948], [105.92000000000002, -20.5819], [105.09000000000003, -17.8617], [104.30099999999999, -15.1353], [103.548, -12.4034], [102.82900000000001, -9.66677], [102.13800000000003, -6.92609], [101.47500000000002, -4.18197], [100.83600000000001, -1.43498], [100.219, 1.31439], [99.62260000000003, 4.06565], [99.0446, 6.81838], [98.4837, 9.57217], [97.93849999999998, 12.3267], [97.40780000000001, 15.0815], [96.8906, 17.8364], [96.38580000000002, 20.591], [95.89279999999997, 23.3452], [95.41059999999999, 26.0986], [94.93880000000001, 28.8511], [94.4767, 31.6025], [94.0238, 34.3526], [93.57990000000001, 37.1013], [93.14459999999997, 39.8485], [92.71780000000001, 42.5941], [92.29930000000002, 45.338], [91.8895, 48.0803], [91.48840000000001, 50.8208], [91.09680000000003, 53.5596], [90.71530000000001, 56.2967], [90.34550000000002, 59.0322], [89.98919999999998, 61.766], [89.64940000000001, 64.4984], [89.33089999999999, 67.2292], [89.04079999999999, 69.9587], [88.79129999999998, 72.6869], [88.6026, 75.4375], [88.5197, 78.1633], [88.63209999999998, 80.8877], [89.18759999999997, 83.6101], [91.16949999999997, 86.3275], [106.23699999999997, 89.0015], [180.0, 88.584864], [180.0, 90.0], [-180.0, 90.0], [-180.0, 88.584864]]]]}
+{"type": "MultiPolygon", "coordinates": [[[[180.0, -71.6287164], [177.735, -71.8738], [168.64999999999998, -72.3841], [162.68100000000004, -72.4829], [162.64800000000002, -72.9666], [162.66700000000003, -73.424], [162.647, -73.8931], [162.71299999999997, -74.3108], [162.72199999999998, -74.7677], [162.73199999999997, -75.2246], [162.726, -75.687], [162.753, -76.1384], [162.74599999999998, -76.5968], [162.73900000000003, -77.0641], [162.774, -77.5224], [162.76300000000003, -77.9775], [162.82100000000003, -78.4224], [162.83799999999997, -78.8792], [162.83000000000004, -79.3407], [162.856, -79.7943], [162.86900000000003, -80.2516], [162.87900000000002, -80.712], [162.894, -81.1693], [162.954, -81.6255], [162.974, -82.0819], [163.022, -82.5335], [163.03300000000002, -82.9874], [163.108, -83.4468], [163.16499999999996, -83.8991], [163.16899999999998, -84.3602], [163.322, -84.8158], [163.34199999999998, -85.261], [163.43899999999996, -85.723], [163.563, -85.9079], [180.0, -85.6317385], [180.0, -71.6287164]]], [[[-180.0, -85.710696], [-171.529, -85.9077], [-171.655, -85.7132], [-171.638, -85.2721], [-171.7, -84.8155], [-171.833, -84.3588], [-171.796, -83.9023], [-171.836, -83.4528], [-171.867, -82.989], [-171.896, -82.5323], [-171.953, -82.0823], [-171.945, -81.619], [-172.007, -81.1686], [-172.004, -80.711], [-172.008, -80.2503], [-172.025, -79.7944], [-172.047, -79.3407], [-172.072, -78.8864], [-172.055, -78.4219], [-172.066, -77.9651], [-172.076, -77.5083], [-172.101, -77.056], [-172.094, -76.5946], [-172.103, -76.1378], [-172.11, -75.6809], [-172.131, -75.2314], [-172.125, -74.7671], [-172.139, -74.3156], [-172.171, -73.8539], [-172.143, -73.3962], [-172.178, -72.9409], [-172.154, -72.4823], [-180.0, -72.3037602], [-180.0, -85.710696]]], [[[-180.0, 88.5838176], [-106.531, 88.1678], [-100.186, 85.4649], [-98.8889, 82.7452], [-98.5216, 80.022], [-98.4868, 77.2971], [-98.6093, 74.5709], [-98.8191, 71.8435], [-99.0829, 69.1148], [-99.3827, 66.3848], [-99.7085, 63.6535], [-100.054, 60.9206], [-100.415, 58.1862], [-100.788, 55.4502], [-101.173, 52.7125], [-101.567, 49.973], [-101.971, 47.2319], [-102.384, 44.489], [-102.805, 41.7444], [-103.234, 38.9982], [-103.672, 36.2505], [-104.119, 33.5012], [-104.575, 30.7505], [-105.04, 27.9987], [-105.515, 25.2457], [-106.0, 22.4919], [-106.497, 19.7375], [-107.005, 16.9826], [-107.527, 14.2275], [-108.062, 11.4726], [-108.612, 8.71809], [-109.178, 5.96442], [-109.761, 3.21194], [-110.364, 0.461038], [-110.987, -2.28782], [-111.634, -5.03415], [-112.305, -7.77744], [-113.004, -10.5171], [-113.734, -13.2525], [-114.497, -15.983], [-115.299, -18.7077], [-116.142, -21.4259], [-117.033, -24.1365], [-117.977, -26.8385], [-118.981, -29.5307], [-120.053, -32.2115], [-121.203, -34.8793], [-122.442, -37.5321], [-123.784, -40.1675], [-125.245, -42.7827], [-126.846, -45.3743], [-128.609, -47.9379], [-130.565, -50.4683], [-132.75, -52.9588], [-135.208, -55.4011], [-137.994, -57.7844], [-141.175, -60.0948], [-144.832, -62.3143], [-149.064, -64.4196], [-153.979, -66.3802], [-159.691, -68.1576], [-166.298, -69.7037], [-173.843, -70.9625], [-180.0, -71.6287164], [-180.0, -85.6317385], [-173.272, -85.5187], [-148.82, -83.8664], [-135.841, -81.622], [-128.385, -79.1461], [-123.599, -76.5659], [-120.246, -73.9309], [-117.735, -71.2637], [-115.756, -68.5759], [-114.134, -65.8737], [-112.76, -63.161], [-111.567, -60.4402], [-110.508, -57.7127], [-109.552, -54.9798], [-108.675, -52.242], [-107.861, -49.5], [-107.097, -46.7542], [-106.373, -44.0048], [-105.682, -41.2522], [-105.017, -38.4965], [-104.373, -35.738], [-103.746, -32.9769], [-103.133, -30.2134], [-102.53, -27.4476], [-101.936, -24.6797], [-101.347, -21.91], [-100.761, -19.1387], [-100.177, -16.3659], [-99.5929, -13.592], [-99.0065, -10.8172], [-98.4164, -8.04175], [-97.8207, -5.26596], [-97.2177, -2.49013], [-96.6055, 0.285399], [-95.9824, 3.0603], [-95.3462, 5.83419], [-94.6947, 8.60668], [-94.0256, 11.3774], [-93.3362, 14.1458], [-92.6234, 16.9115], [-91.8839, 19.6739], [-91.1139, 22.4325], [-90.309, 25.1866], [-89.464, 27.9355], [-88.573, 30.6783], [-87.629, 33.4143], [-86.6235, 36.1422], [-85.5466, 38.8609], [-84.3861, 41.5687], [-83.1272, 44.264], [-81.7516, 46.9443], [-80.2367, 49.6069], [-78.5538, 52.2482], [-76.6666, 54.8637], [-74.5284, 57.4473], [-72.0782, 59.9911], [-69.2365, 62.4844], [-65.8978, 64.9123], [-61.92320000000001, 67.2542], [-57.1311, 69.4812], [-51.29079999999999, 71.5516], [-44.135999999999996, 73.4074], [-35.41409999999999, 74.969], [-25.0188, 76.1369], [-13.20089999999999, 76.8064], [-0.7013220000000047, 76.9008], [11.435699999999997, 76.4083], [22.33330000000001, 75.3881], [31.587400000000002, 73.94], [39.216499999999996, 72.1681], [45.44460000000001, 70.1586], [50.58260000000001, 67.9567], [54.78820000000002, 65.6468], [58.306899999999985, 63.243], [61.289500000000004, 60.7682], [63.851200000000006, 58.2388], [66.0787, 55.6666], [68.03789999999998, 53.0603], [69.77960000000002, 50.4265], [71.34309999999999, 47.7701], [72.75900000000001, 45.095], [74.05180000000001, 42.4042], [75.24099999999999, 39.7002], [76.3424, 36.9848], [77.36879999999996, 34.2597], [78.33080000000001, 31.5262], [79.23739999999998, 28.7855], [80.09590000000003, 26.0385], [80.9126, 23.2861], [81.69290000000001, 20.5289], [82.44139999999999, 17.7678], [83.16210000000001, 15.0032], [83.85840000000002, 12.2357], [84.5335, 9.46581], [85.1902, 6.69397], [85.83089999999999, 3.92062], [86.45780000000002, 1.14614], [87.07319999999999, -1.62907], [87.67880000000002, -4.40469], [88.27660000000003, -7.18036], [88.86829999999998, -9.95579], [89.45569999999998, -12.7307], [90.04039999999998, -15.5047], [90.6243, -18.2777], [91.20920000000001, -21.0493], [91.7969, -23.8194], [92.38959999999997, -26.5877], [92.98939999999999, -29.354], [93.59899999999999, -32.1181], [94.22120000000001, -34.8798], [94.8594, -37.639], [95.51749999999998, -40.3954], [96.2002, -43.1488], [96.91329999999999, -45.8991], [97.66399999999999, -48.6459], [98.4613, -51.389], [99.31700000000001, -54.128], [100.24700000000001, -56.8624], [101.27100000000002, -59.5915], [102.418, -62.3144], [103.72899999999998, -65.0297], [105.26499999999999, -67.7354], [107.11900000000003, -70.4281], [109.43899999999996, -73.1025], [112.48399999999998, -75.7491], [116.733, -78.3498], [123.15699999999998, -80.8663], [133.94100000000003, -83.2055], [154.03300000000002, -85.1068], [180.0, -85.710696], [180.0, -72.3037602], [178.512, -72.2699], [169.601, -71.6298], [161.438, -70.6039], [154.185, -69.2493], [147.865, -67.6256], [142.413, -65.7864], [137.724, -63.7771], [133.68200000000002, -61.6335], [130.183, -59.3836], [127.13299999999998, -57.0489], [124.45600000000002, -54.646], [122.08799999999997, -52.1878], [119.97899999999998, -49.6842], [118.08699999999999, -47.1429], [116.37700000000001, -44.5703], [114.822, -41.9711], [113.39999999999998, -39.3494], [112.09100000000001, -36.7084], [110.88099999999997, -34.0508], [109.75599999999997, -31.379], [108.70600000000002, -28.6946], [107.72199999999998, -25.9994], [106.79500000000002, -23.2948], [105.92000000000002, -20.5819], [105.09000000000003, -17.8617], [104.30099999999999, -15.1353], [103.548, -12.4034], [102.82900000000001, -9.66677], [102.13800000000003, -6.92609], [101.47500000000002, -4.18197], [100.83600000000001, -1.43498], [100.219, 1.31439], [99.62260000000003, 4.06565], [99.0446, 6.81838], [98.4837, 9.57217], [97.93849999999998, 12.3267], [97.40780000000001, 15.0815], [96.8906, 17.8364], [96.38580000000002, 20.591], [95.89279999999997, 23.3452], [95.41059999999999, 26.0986], [94.93880000000001, 28.8511], [94.4767, 31.6025], [94.0238, 34.3526], [93.57990000000001, 37.1013], [93.14459999999997, 39.8485], [92.71780000000001, 42.5941], [92.29930000000002, 45.338], [91.8895, 48.0803], [91.48840000000001, 50.8208], [91.09680000000003, 53.5596], [90.71530000000001, 56.2967], [90.34550000000002, 59.0322], [89.98919999999998, 61.766], [89.64940000000001, 64.4984], [89.33089999999999, 67.2292], [89.04079999999999, 69.9587], [88.79129999999998, 72.6869], [88.6026, 75.4375], [88.5197, 78.1633], [88.63209999999998, 80.8877], [89.18759999999997, 83.6101], [91.16949999999997, 86.3275], [106.23699999999997, 89.0015], [180.0, 88.5838176], [180.0, 90.0], [-180.0, 90.0], [-180.0, 88.5838176]]]]}


=====================================
tests/data/output/spherical/issues-187.json
=====================================
@@ -0,0 +1,23 @@
+{
+  "type": "MultiPolygon",
+  "coordinates": [
+    [
+      [
+        [180.0, 67.321733],
+        [177.6545884597184, 67.05574774066811],
+        [179.01958676057563, 65.33232820668778],
+        [180.0, 65.4314513],
+        [180.0, 67.321733]
+      ]
+    ],
+    [
+      [
+        [-180.0, 65.4314513],
+        [-161.52763637835278, 66.06909015550372],
+        [-161.2171870902747, 68.14247939909886],
+        [-180.0, 67.321733],
+        [-180.0, 65.4314513]
+      ]
+    ]
+  ]
+}


=====================================
tests/test_polygon.py
=====================================
@@ -18,8 +18,9 @@ from .conftest import Reader
         "complex-split",
         "crossing-latitude",
         "extra-crossing",
-        "issues-81",
         "issues-171",
+        "issues-187",
+        "issues-81",
         "latitude-band",
         "north-pole",
         "one-hole",
@@ -252,3 +253,10 @@ def test_great_circle(
     output = read_output("great-circle", subdirectory)
     fixed = antimeridian.fix_polygon(input, great_circle=great_circle)
     assert fixed.normalize() == output.normalize()
+
+
+def test_invalid_polygon(read_input: Reader) -> None:
+    input = read_input("issues-182")
+    with pytest.warns(FixWindingWarning):
+        with pytest.raises(ValueError):
+            antimeridian.fix_polygon(input)


=====================================
uv.lock
=====================================
The diff for this file was not included because it is too large.


View it on GitLab: https://salsa.debian.org/debian-gis-team/antimeridian/-/compare/8cdb0652ff06f188f5946c319068be38e7a934d1...05c957830ed5f6f457ea995fff2a1fa97a9b0ef5

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/antimeridian/-/compare/8cdb0652ff06f188f5946c319068be38e7a934d1...05c957830ed5f6f457ea995fff2a1fa97a9b0ef5
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20251127/02d69ab6/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list