Mam zestaw punktów, które chciałbym zmienić w wielokąt.
Próbowałem kadłuba wklęsłego, ale nie otrzymuję zamierzonego wielokąta, jak widać poniżej,
Kiedy korzystam z triangulacji Denaulaya, muszę usunąć zewnętrzne trójkąty.
Czy istnieje skuteczny sposób na zrobienie tego samego?
Próbowałem też wypukłego kadłuba.
qgis
qgis-processing
polyline-creation
Stephen Jacob
źródło
źródło
Odpowiedzi:
Zakładam, że wiesz, które punkty należą do „lewej” lub „prawej”, ponieważ w przeciwnym razie istnieje wiele rozwiązań. Jeśli tak, możesz użyć triangulacji delaunay, a następnie wybrać trójkąty „centralne”. Dzięki tej metodzie nie trzeba mieć punktów w określonej kolejności. Wszystko, co musisz wziąć pod uwagę, to fakt, że potrzebne trójkąty muszą dotykać co najmniej jednego punktu z każdej strony.
źródło
Mam taki sam wynik jak @radouxju.
Operacje:
Zachowaj punkt zaznaczenia i wybierz trójkąty delaunay, które przecinają te wybrane punkty [narzędzie do zapytań przestrzennych]
Odwróć zaznaczenie punktu lub wybierz punkty, które przecinają drugą polilinię [zaznaczenie wyrażeniem] lub [odwróć zaznaczenie]
Usuń z bieżącego wyboru trójkąty delaunay, które są rozłączne z innymi punktami [narzędzie do zapytań przestrzennych]
WAŻNE : MUSISZ mieć polilinie, aby uzyskać ten wynik!
źródło
Jeśli masz doświadczenie z pythonem, możesz użyć biblioteki Shapely i utworzyć wielokąt z punktów w dwóch liniach. Musisz powiedzieć Pythonowi, jakie są początkowe i końcowe punkty obu linii.
Jeszcze lepiej: możesz do tego użyć również geopand. geopandas pozwala na łatwe zapisywanie do wielu formatów, w tym plików kształtów
możesz odczytać geometrie linii za pomocą funkcji geopandas gpd.read_file ().
Rząd wierzchołków wielokątów w ogólnym GIS: zgodnie z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara
https://nbviewer.jupyter.org/gist/rutgerhofste/b01c17aa6851ea577f10c21a4c3717bc
źródło