Есть ли способ сгенерировать ЦМР, программно или иным образом, который будет поступать в ArcGIS Desktop для дальнейшего пространственного анализа?
Возможно, это нужно разбить на более мелкие пошаговые шаги:
- Создать сетку
- Заполните сетку значениями где:
0 > value < maxElevation
- Соседние клетки:
(x1-x2) < maxSlope
Ответы:
Попробуйте или прочитайте эту страницу для получения полезной информации. и вторая ссылка показывает вам случайную цифровую модель элеватина.
источник
Вы можете использовать фракталы для этого: .
Верхний ряд был создан с фрактальной размерностью d = 2.0005 (слева: карта высот, справа: карта аспекта), нижний ряд с фрактальной размерностью d = 2.90 (слева: карта высот, справа: карта аспекта). Я использовал r.surf.fractal из GRASS GIS. Затем просто экспортируйте искусственную матрицу высот с помощью r.out.gdal (или GUI) в GeoTIFF.
источник
r.surf.fractal
?Вы также можете рассмотреть возможность использования сценария, который принимает случайную часть существующей реальной матрицы высот.
источник
Вот отличный ресурс по алгоритмам генерации рельефа и программному обеспечению на vterrain.org: http://vterrain.org/Elevation/Artificial/
источник
Вот решение R, использующее ядро Гаусса для добавления автокорреляции к случайному растру. Хотя, я должен сказать, что функция GRASS r.surf.fractal, предложенная @markusN, кажется лучшим подходом.
источник
Вы можете попробовать использовать шум Перлина для создания некоторого случайного фрактального ландшафта. Этот ответ на Stackoverflow объясняет, как вы можете начать работу с Python. Хитрость в том, чтобы увеличить на очень небольшой площади шумной сетки , так что это не слишком нерегулярно смотреть.
источник
libnoise дает вам то, что вы хотите. Вам, вероятно, придется настроить его в некоторой степени. Проверьте пример «сложной планетарной поверхности».
источник
Этот код может быть использован для создания матрицы высот «наклона холма», состоящей из практически любого числа строк и столбцов:
источник