如何反转 GeoJson-Polygon

How can I invert a GeoJson-Polygon

我如何反转一个国家的 GeoJson,以便它将国家定义为世界地图多边形中的一个洞?我需要它来在 OpenLayers 5.3 中创建 GeoJson VectorLayer 的掩码。

在坐标数组中添加这个数组作为第一个坐标,它会进行反转

    [
      [
        0,
        90
      ],
      [
        180,
        90
      ],
      [
        180,
        -90
      ],
      [
        0,
        -90
      ],
      [
        -180,
        -90
      ],
      [
        -180,
        0
      ],
      [
        -180,
        90
      ],
      [
        0,
        90
      ]
    ],

你可以在这里找到你想要做的事情的例子 https://github.com/minaalfy/city-map

这里是 leaflet + GeoJson 的代码片段,用于将世界矩形添加到坐标中。这将切割 out/invert/reverse geoJson 中的多边形。

geoJson.geometry.coordinates[0].unshift([[180, -90], [180, 90], [-180, 90], [-180, -90]]);
L.geoJSON(geoJson, { style: { color: '#ccc', weight: 2, fillOpacity: 0.5 } }).addTo(map);