Miałem ograniczony sukces w tworzeniu gładkich wielokątów konturowych z warstw rastrowych.
Stworzyłem linie konturowe i polilinie graniczne, a następnie użyłem QGIS Union. Następnie używam QGIS Polygonize. Następnie użyj statystyki strefowej do oryginalnego rastra, aby uzyskać wartość na wielokątach.
Drugą metodą, którą wypróbowałem, była konwersja rastra na wielokąt. Następnie utwórz nową kolumnę atrybutu zaokrągloną do pożądanego konturu. Następnie rozpuszczam linie między tą samą wartością. Następnie użyj v.generalize. Ta metoda jest nieco szybsza, ale pozostawi niektóre wielokąty postrzępione / niewygładzone.
Czy istnieje łatwiejsza metoda, która faktycznie działa przez cały czas? Wydaje się, że powinna istnieć prosta komenda, która wykonuje cały proces.
Odpowiedzi:
Wystąpiły te same problemy, które masz w drugiej metodzie. Wyeksportowałem Raster do Vectora i spróbowałem użyć v.generalise i uzyskuję głównie gładkie wielokąty z okazjonalną „schodkową” granicą, która wydaje się być niezależna od algorytmu.
Znalazłem proces, który zadziałał dla mojego zadania, nie jestem pewien, czy to najlepszy sposób, ale pomyślałem, że podzielę się nim na wypadek, gdyby Ci pomógł.
Zacząłem od siatki ascii z BoM, która wyglądała tak:
Czego chciałem czegoś podobnego do tego, co produkują BoM w ten sposób:
Byłem w stanie dojść do wyniku (z czego byłem zadowolony), wykonując następujące kroki.
Po stylizacji moje wyniki są poniżej:
Byłbym również zainteresowany słyszeniem, jeśli ktoś zna prostszy sposób. Początkowo myślałem podobnie do @Rx_, że mogę po prostu przekonwertować raster na wektor, a następnie uogólnić i skończyć. To, co musiałem zrobić, było znacznie dłuższe.
źródło
Lubię odpowiedzi tutaj, ale nie mogę uwierzyć, że QGIS nadal nie ma szybkiego i łatwego sposobu na zrobienie tego. MapInfo może generować kontury jako wielokąty lub linie z dowolnym interwałem, który możesz określić.
Wydaje się, że jest to tak podstawowe zadanie, a także ważne dla uzyskania zakresu. Jeśli ktoś ma zaktualizowany lub szybszy sposób na zrobienie tego, prosimy o udostępnienie!
źródło
Bardziej bezpośrednim sposobem jest użycie
gdal_countour
bezpośrednio (jako programu wiersza poleceń) w „trybie wielokąta” (to znaczy z-p
opcją).Przykład:
Dokumentacja: https://gdal.org/programs/gdal_contour.html
Ta opcja jest dostępna tylko w wersji> = 2.4 (można to sprawdzić za pomocą
gdalinfo --version
). Jeśli używasz Ubuntu 18.4, być może będziesz musiał zainstalować go z UbuntuGISźródło
W QGIS 3.8 możesz używać Rastra - Ekstrakcja - Kontur
Dobry przykład tutaj https://support.dronesmadeeasy.com/hc/en-us/articles/217759823-Using-QGIS-to-make-custom-Contour-Maps
źródło