Mapuję strome pasmo górskie. Mój główny interwał konturu wynosi 50 m, a mój pośredni interwał konturu wynosi 10 m. Na stromych obszarach odstęp 10 m jest zbyt mały, więc muszę wyjść z przedziału 10 m i zamiast tego użyć 20 m lub 25 m.
Czy istnieje sposób, aby to zrobić automatycznie w QGIS , SAGA GIS lub GRASS GIS ?
O ile mi wiadomo, w QGIS nie ma automatycznego rozwiązania tego problemu. Powinno być jednak możliwe użycie mechanizmu renderującego opartego na regułach, aby określić, które kontury mają być drukowane, a które należy pominąć.
źródło
Jeśli dobrze rozumiem problem, pracujesz z Shapefile, który ma już wygenerowane wszystkie kontury. Powinieneś mieć tabelę atrybutów z wartościami konturu jako jednym z pól - na przykład „kontur”:
W QGIS możesz zrobić kilka rzeczy. Jednym z nich byłoby utworzenie kopii pliku Shapefile, a następnie usunięcie konturów, których nie chcesz:
contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
(tego rodzaju funkcja „dopasowywania” nie jest ładna , ale QGIS nie ma funkcji matematyki modulo, która uczyniłaby to ładniejszym - myślę).Drugą opcją byłoby po prostu nie wyświetlanie konturów, których nie chcesz pokazywać. To jest trochę bardziej eleganckie.
contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
W tym momencie jedynymi wyświetlanymi konturami będą te, które pasują do wyrażenia.
Wspaniałą rzeczą w drugiej opcji jest to, że możesz tworzyć reguły dla różnych skal - możesz mieć jedną regułę, gdy pominiesz pewną skalę, która pokazuje być może tylko 100-metrowe kontury („% 00” tylko w wyrażenie), a następnie kolejna reguła, która pokazuje kontury 20 metrów po dalszym powiększeniu itp.
Jeśli szukasz metody utworzenia nowego 25-metrowego konturu między 100-metrowymi konturami, prawdopodobnie lepiej byłoby utworzyć nowy plik konturów z cyfrowego modelu elewacji. Nie jestem pewien, czy istnieją metody, które w wiarygodny i prawidłowy sposób interpolowałyby nowy kontur o długości 25 m między innymi konturami.
źródło
Oto jak to zrobić, gdy mam plik kształtu konturu (lub bazę danych Spatialite) zawierający kontury w pionowych odstępach 10 metrów i chcę wykreślić tylko kontury, które występują w (powiedzmy) 50-metrowych odstępach.
Załaduj plik kształtu i przeprowadź zapytanie za pomocą tego fragmentu SQL: „(ELEV% 50) = 0”. Gdzie „ELEV” jest atrybutem zawierającym dane dotyczące wysokości.
źródło