Я картирую крутой горный хребет. Мой основной контурный интервал составляет 50 м, а мой промежуточный контурный интервал - 10 м. В крутых районах интервал в 10 м слишком мал, поэтому мне нужно оставить интервал в 10 м и использовать вместо него 20 или 25 м.
Есть ли способ сделать это автоматизированным в QGIS , SAGA GIS или GRASS GIS ?
Насколько я знаю, в QGIS нет автоматического решения этой проблемы. Однако должна быть возможность использовать средство визуализации на основе правил, чтобы указать, какие контуры должны быть нанесены, а какие нет.
источник
Если я правильно понимаю проблему, вы работаете с шейп-файлом, в котором уже созданы все контуры. У вас должна быть таблица атрибутов со значениями контура в качестве одного из полей - например, «контур»:
В QGIS вы можете сделать пару вещей. Один из них - создать копию Shapefile, а затем удалить ненужные контуры:
contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
(такая функция «сопоставления» не очень хороша , но в QGIS отсутствует математическая функция по модулю, которая сделала бы это лучше - я думаю).Второй вариант - просто не отображать контуры, которые вы не хотите показывать. Это немного элегантнее.
contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
В этот момент отображаются только те контуры, которые соответствуют выражению.
Отличительной особенностью второго варианта является то, что вы можете создавать правила для разных масштабов - у вас может быть одно правило, когда вы уменьшаете масштаб до определенного масштаба, который показывает, возможно, только 100-метровые контуры («% 00» только в выражение), а затем еще одно правило, которое показывает 20-метровые контуры при дальнейшем увеличении и т. д.
Если вы ищете способ создания нового 25-метрового контура между 100-метровыми контурами, то вам, вероятно, будет лучше создать новый файл контура из цифровой модели рельефа. Я не уверен, существуют ли какие-либо методы, которые надежно и правильно интерполировали бы новый 25-метровый контур между другими контурами.
источник
Вот как я это делаю, когда у меня есть шейп-файл контура (или база данных Spatialite), содержащий контуры с вертикальными интервалами 10 метров, и я хочу построить только контуры, которые происходят, скажем, с интервалами 50 метров.
Загрузите шейп-файл и запросите его, используя этот фрагмент SQL: '(ELEV% 50) = 0'. Где «ELEV» - это атрибут, содержащий данные высот.
источник