Каковы общие методы преобразования растровых цифровых данных высот в векторные контуры?

9

При исследовании этого я обнаружил много ссылок на противоположное, создание данных высот из контуров, но ничего не касалось создания контуров. Предпочтительно, я ищу решения с открытым исходным кодом, такие как QGIS, Grass или инструменты командной строки, но я открыт для любых предложений, которые укажут мне правильное направление.

Я планирую перенести данные контуров в приложение для векторного рисования для форматирования линий, но если приложение сможет сделать что-то из этого, это значительно сэкономит время.

Veazer
источник
3
вы смотрели в qgis растр меню -> извлечение -> контур?
Курт
Спасибо, это примерно так же, как совет Аарона. Это прекрасно работает.
Veazer

Ответы:

10

Если вы хотите преобразовать матрицы высот в контурные линии:

Для преобразования отсканированных топографических карт в векторные контурные линии Arcscan является одной из самых простых (и самых сложных) программ. Однако есть несколько альтернатив с открытым исходным кодом, включая многообещающий подход GRASS:

Векторные контуры трассировки отсканированной карты .

Дополнительную информацию можно найти здесь:

Аарон
источник
Спасибо, это похоже на работу. Мне нравится тот факт, что преобразование может быть написано по сценарию. Я многому научился делать с QGIS.
Veazer
3

Я думаю, что модуль GRASS r.contour обладает большей функциональностью, чем модуль QGIS. Например, вы можете установить максимальный и минимальный уровни для извлечения контуров. Плюс, у него есть сокращение параметра, которое делает вывод более обобщенным.

Владимир
источник
3

Другой вариант с открытым исходным кодом, который можно легко написать с помощью сценариев оболочки или python, - это использовать GDAL_Contour для генерации контуров из файла dem. Я взял некоторые примеры данных матрицы высот и запустил эту команду для генерации 10-метровых контуров, сохраненных в виде шейп-файла:

gdal_contour -b 1 -a elevation -snodata -9999 ns67ne.tif contour.shp -i 10

Переключатели:

  • -b 1 выбирает полосу изображения для обработки, по умолчанию 1
  • -a elevation имя атрибута возвышения контура, который будет создан
  • -snodata -9999 сообщает GDAL значение ячеек узлов во входном растре, поэтому их можно игнорировать
  • ns67ne.tif contour.shp входной и выходной файлы, соответственно
  • -i 10 расстояние между каждым контуром
sgrieve
источник
2
Очевидно, QGIS использует GDAL_Countor, поэтому QGIS работает как внешний интерфейс для GDAL_Contour.
Владимир
Я не знал этого, приятно знать!
Скорбим
1
QGIS показывает не только внешний интерфейс для gdal_contour, но и точные параметры gdal_contour, которые он будет запускать, и позволяет редактировать их перед запуском.
Veazer