При исследовании этого я обнаружил много ссылок на противоположное, создание данных высот из контуров, но ничего не касалось создания контуров. Предпочтительно, я ищу решения с открытым исходным кодом, такие как QGIS, Grass или инструменты командной строки, но я открыт для любых предложений, которые укажут мне правильное направление.
Я планирую перенести данные контуров в приложение для векторного рисования для форматирования линий, но если приложение сможет сделать что-то из этого, это значительно сэкономит время.
Ответы:
Если вы хотите преобразовать матрицы высот в контурные линии:
Для преобразования отсканированных топографических карт в векторные контурные линии Arcscan является одной из самых простых (и самых сложных) программ. Однако есть несколько альтернатив с открытым исходным кодом, включая многообещающий подход GRASS:
Векторные контуры трассировки отсканированной карты .
Дополнительную информацию можно найти здесь:
источник
Я думаю, что модуль GRASS r.contour обладает большей функциональностью, чем модуль QGIS. Например, вы можете установить максимальный и минимальный уровни для извлечения контуров. Плюс, у него есть сокращение параметра, которое делает вывод более обобщенным.
источник
Другой вариант с открытым исходным кодом, который можно легко написать с помощью сценариев оболочки или python, - это использовать GDAL_Contour для генерации контуров из файла dem. Я взял некоторые примеры данных матрицы высот и запустил эту команду для генерации 10-метровых контуров, сохраненных в виде шейп-файла:
Переключатели:
-b 1
выбирает полосу изображения для обработки, по умолчанию 1-a elevation
имя атрибута возвышения контура, который будет создан-snodata -9999
сообщает GDAL значение ячеек узлов во входном растре, поэтому их можно игнорироватьns67ne.tif contour.shp
входной и выходной файлы, соответственно-i 10
расстояние между каждым контуромисточник