Odwróć wielokąty (reguła od lewej do prawej)

9

Mam plik geojson, który nie wyświetla się poprawnie i uważam, że ma to związek z plikiem zawierającym wieloboki, które nie przestrzegają reguły prawej ręki. Jakie narzędzie może mi pomóc w rozwiązaniu tego problemu?

Próbowałem importować i eksportować za pomocą QGIS i konwertować tam iz powrotem między formatami org2org, ale nigdzie mnie to nie pociągało.

Lew
źródło
1
QGIS ma Vector, Geometry Tools, Check validity. Ogr2ogr ma ST_MakeValid z opcją -dialect Sqlite do naprawy nieprawidłowego uporządkowania pierścienia.
klewis
Wystarczy zaimplementować regułę trapezoidalną w Javie, JavaScript lub Pythonie, aby obliczyć obszar i użyć znaku do określenia kierunkowości pierścienia. Jeśli podałeś przykład obrażającej geometrii i / lub grafikę nieprawidłowego wyświetlania, łatwiej byłoby ci pomóc.
Vince

Odpowiedzi:

9

Wierzę, że https://github.com/mapbox/geojson-rewind rozwiąże twój problem.

Specyfikacja GeoJSON jest wybredna pod względem kolejności nawijania, pomaga generować zgodne geometrie wielokątów i wielokątów, a także pozwala używać domyślnego zachowania płótna i innych bibliotek rysunków do pokolorowania wewnętrznych pierścieni elementów wielokąta i wielokąta.

Ćwiek
źródło
1

Nie jest to narzędzie, ale można je czytać kształtowo i używać shapely.geometry.polygon.orientdo orientowania wielokątów (ustawienie domyślne jest już prawidłowe). Za pomocą kilku kolejnych wierszy kodu możesz także zorientować MultiPolygonsię, iterując dołączone wielokąty.

Martin Thoma
źródło