Jak naprawić kształty wielokątów w QGIS?

10

Mam kilka kształtów wielokątów w qgis-1.7.0 i chcę się upewnić, że każdy wielokąt jest prostokątem. Zobacz zdjęcie poniżej.

wprowadź opis zdjęcia tutaj

Czy jest jakiś sposób, aby to zrobić w QGIS (lub innym systemie operacyjnym)? Lub jak mogę poprawić rysunek wielokąta, aby na przykład upewnić się, że każdy budynek składa się z prostokątów (wszystkie anioły = 90 °)?

Doceniamy wszelkie wskazówki! Dzięki!

Afr
źródło
Zignoruj ​​moją bliską flagę. To inne pytanie.
Nathan W
Teoretycznie napisanie czegoś takiego powinno być dość łatwe. Zapętlaj każdy punkt w kształcie nieparzystym, sprawdzając kąt do następnego punktu od bieżącego, jeśli nie jest to 90, a następnie oblicz nowy punkt i dostosuj punkt. Teraz ktoś musi tylko napisać kod :)
Nathan W
przeczytaj tę odpowiedź na temat digitalizacji ortogonalnej.
Aragonia
2
@Nathan W ogóle nie jest tak łatwo, ponieważ za każdym razem, gdy zmieniasz położenie wierzchołka, powodujesz zniekształcenia w innym miejscu. Nawet przy naprawianiu prawie prostokątów (w przeciwieństwie do bardziej skomplikowanych wielokątów) możesz skończyć, tworząc nowe funkcje, które wyraźnie nie są bardzo dobrymi przybliżeniami do oryginalnych. Jednym z problemów jest to, że nie ma unikalnego sposobu obliczenia nowego punktu na złym wierzchołku. Zobacz forums.esri.com/Thread.asp?c=93&f=987&t=303128#948330, aby uzyskać dyskusję i pseudokod. Przetestowałem to podejście (używając Excela wszystkich rzeczy!) I stwierdziłem, że działa ono dobrze.
whuber
1
@Under ja też nie mogę go znaleźć. Blisko spokrewnionym (gdzie napisałem komentarz, a nie odpowiedź) jest Znajdowanie wielokątów bez kątów prostych . W moich poszukiwaniach odkryłem również, jak tworzyć wielokąty z liniami prostymi i kątami prostymi w QGIS, a także duplikat (który właśnie zamknąłem i scaliłem).
whuber

Odpowiedzi:

2

Istnieje narzędzie QGIS o nazwie Oriented minimum bounding box. Możesz to znaleźć pod Processing > QGIS geoalgorithms > Vector general tools. Używam QGIS 2.18.

Może to zbliża się do tego, co chcesz osiągnąć.

wprowadź opis zdjęcia tutaj

Stefan
źródło
Fajnie, to jest bardzo blisko tego, czego szukałem!
Afr
2

Możesz to naprawić za pomocą obwiedni obszaru wszystkich wielokątów. Nazwa funkcji to Wielokąt z zakresu warstw .

wprowadź opis zdjęcia tutaj

Wybierz warstwę i zaznacz opcję oblicz zasięg dla każdej funkcji osobno :

wprowadź opis zdjęcia tutaj

Wszystkie oryginalne wielokąty są obecne na tej samej warstwie, a nie osobno. QGIS obliczy obszar ramki granicznej dla wszystkich jednostek:

wprowadź opis zdjęcia tutaj

QGIS Rocks! Uściski z Brazylii!

Jorge Santos

Jorge Santos
źródło
Odpowiedź nie uwzględnia obrotu wielokątów.
GreyHippo