Polígonos inversos (regla de izquierda a derecha)

9

Tengo un archivo geojson que no se muestra correctamente, y creo que tiene que ver con el archivo que contiene multipolígonos que no siguen la regla de la mano derecha. ¿Qué herramienta puede ayudarme a solucionar este problema?

Intenté importar y exportar con QGIS, y convertir de ida y vuelta entre formatos con org2org, pero eso no me llevó a ninguna parte.

León
fuente
1
QGIS tiene Vector, Herramientas de geometría, Comprobar validez. Ogr2ogr tiene ST_MakeValid con la opción -dialect Sqlite para corregir el orden incorrecto del anillo.
klewis
Es suficientemente simple implementar la regla trapezoidal en Java, JavaScript o Python para calcular el área y usar el signo para determinar la direccionalidad del anillo. Si proporcionó un ejemplo de la geometría ofensiva y / o un gráfico de la pantalla incorrecta, sería más fácil ayudarlo.
Vince

Respuestas:

9

Creo que https://github.com/mapbox/geojson-rewind solucionará su problema.

La especificación GeoJSON es exigente con respecto al orden de bobinado, le ayuda a generar geometrías compatibles de Polygon y MultiPolygon, y le permite usar el comportamiento predeterminado de Canvas y otras bibliotecas de dibujo para colorear los anillos interiores de las características de Polygon y MultiPolygon.

Puntilla
fuente
1

No es una herramienta, pero puede leerlo con forma y usarlo shapely.geometry.polygon.orientpara orientar polígonos (el valor predeterminado ya es correcto). Con unas pocas líneas de código más, también puede orientarse MultiPolygoniterando sobre los polígonos incluidos.

Martin Thoma
fuente