Інструмент з відкритим кодом для перетворення DEM в 3D-модель


11

Я хотів би перетворити файл DEM (Digitial Elevation Model) (наприклад, з SRTM) у 3D-модель, яку потім я можу редагувати за допомогою звичайних інструментів 3D-моделювання (наприклад, Meshlab / Blender / тощо). Однак я використовую Ubuntu Linux.

Отже, чи є програми / інструменти з відкритим кодом, які можуть це зробити? І якщо так, чи можете ви дати мені просте керівництво щодо того, як перетворити DEM в 3D-модель. (програми командного рядка надаються)

Відповіді:


7

Blender має API Python. Тому я використовую Python у Blender та імпортую бібліотеки GDAL і будую нативну мережу Blender безпосередньо з даних GIS. Єдине, на що потрібно бути обережним - це те, що версія GDAL у вас відповідає версії Python у випуску Blender, який ви використовуєте.

Редагувати плагіни:
Якщо ви не хочете писати власний скрипт за допомогою API Blender Python та GDAL, є деякі додатки, які є стандартними, що може допомогти:

  1. Імпорт DXF
  2. Є імпортери для OBJ, X3D та VRML, а деякі системи 3D GIS експортуватимуть їх (наприклад, ArcScene та NVIZ), хоча цей маршрут, можливо, обов'язково суворо безкоштовний.

Існує надбудова для даних XYZ, але вона нестандартна і спрямована головним чином на молекулярні дані, хоча, можливо, ви можете її зв'язати за своїм бажанням. Повний асортимент нестандартних імпортерів Blender дивіться тут . У Blender є імпортер PDS .IMG, але GDAL може читати лише файли IMG PDS (не плутати їх з різними файлами IMD Erdas).

Отже, справді, найкраще, якщо у вас є GeoTiff, ASC або майже будь-який інший растр даних про висоту, - це написати невеликий сценарій для повторення растру, оскільки для більшості випадків використання немає готового плагіна, якщо ви не зможете експортуйте свій DTM в DXF, VRML або OBJ.


Чи є якийсь конкретний плагін або що-небудь, що я можу завантажити та грати?
Рорі

1
Краще за все - це сценарій власних робіт - дивіться мої зміни.
MappaGnosis

4

Я виявив, що NVIZ (який є частиною пакету GRASS) є корисним інструментом для візуалізації даних DEM як 3D-моделі.

Для того щоб встановити плагін GRASS (якщо у вас вже встановлений QGIS), просто перейдіть до Плагінів -> Керування та встановлення плагінів -> Отримати більше та встановіть GRASS. Переконайтеся, що він встановлений у списку керування та встановлення плагінів!

  1. Після того, як ви встановите GRASS, почніть з додавання растрового шару. Це можна зробити, перейшовши до шару -> Додати шар растру -> Вибрати

  2. Потім створіть новий набір карт у GRASS. Зробіть це, перейшовши до Плагіни -> GRASS -> Новий набір карт або використовуйте панель інструментів GRASS, яка має бути видимою. A. Виберіть місце для вашого набору даних GRASS B. Введіть нову назву місцеположення за вашим вибором C. Виберіть потрібну проекцію D. Виберіть регіон зі спадного списку або вручну виберіть його за допомогою lat / long координат (ви можете шукати lat / long вашого місцезнаходження в Інтернеті) E. Введіть нову назву набору карт і натисніть кнопку Finish.

  3. Далі ви хочете завантажити свій DEM або растровий шар у GRASS. Ви зробите це за допомогою А. Перехід до плагінів -> GRASS -> відкриття інструментів GRASS B. У розділі «Список модулів» виберіть «r.in.gdal.qgis» C. У розділі «Завантажений шар» виберіть свій шар із поля випадаючого списку та назвіть вихідний файл D. Клацніть «Виконати»

  4. Тепер вам потрібно додати растровий шар GRASS до набору карт A. Перейдіть до плагінів -> GRASS -> Додати растровий шар GRASS або натисніть на. B. Виберіть своє місцезнаходження та набір карт, а потім виберіть шар та натисніть «ОК»

  5. Ви можете забарвити ваш растр. Якщо так, A. Переконайтесь, що ви вибрали правильний растровий шар B. Виберіть «Плагіни» -> «GRASS» - «Відкрити інструменти GRASS C.» У розділі «Список модулів» натисніть «r.colors.table». D. Виберіть вхідний шар, а потім виберіть «Тип таблиці кольорів» E. Натисніть «Виконати».

  6. ЗАРАЗ для веселої частини. Візуалізація в 3D за допомогою NVIZ. Отже, вам потрібно А. Установіть конкретну область карти для 3D-моделювання за допомогою навігації до плагінів -> GRASS -> редагувати поточну область GRASS. Потім або вручну виберіть потрібний регіон, намалювавши червону рамку мишею, або встановіть координати у діалоговому вікні, що з’явиться. (Це допомагає NVIZ визначити, яку роздільну здатність використовувати) B. Перейдіть до плагінів -> GRASS -> відкрийте інструменти GRASS C. У розділі «Список модулів» виберіть «nviz» D. Виберіть растр для Elevation і Color (вони можуть бути однаковими один) та клацніть по площі праворуч (що означає "Використовувати область цієї карти"). E. Натисніть "Виконати"

Тоді пограйте з різними видами, висотами та освітленням, поки не отримаєте бажане зображення!

Сподіваюся, це допоможе, і будь ласка, повідомте мене, якщо у вас є якісь питання!


Зауважу, що у мене виникли проблеми з проекцією при використанні шару SRTM. Хтось має якісь пропозиції?
Зіза

Які неприємності?
markusN


1

nviz не є окремим додатком, він є частиною ГРІС ГІС , для 3D-візуалізації та анімації. Якщо ви хочете експортувати растри, вам потрібен GRASS GIS (або GRASS в QGIS). Ви можете експортувати DEM в різні формати файлів , включаючи Terragen Heightfield (.ter), VTK, PovRay, xyz тощо.

Ви також можете використовувати Paraview для відкриття файлів VTK та експортування їх до інших різних форматів

Але Blender також має плагіни для прямого імпорту DEMS, як, наприклад, Blender Digital Elevation Importer або імпортує форм-файли та растри (наприклад, імпорт / експорт Shapefile Shapefile та імпортер растрових геореференцій ).

Kodex також представляє рішення для візуалізації даних QGIS за допомогою Blender у форматі SVG

Подивіться також Затінене полегшення в Blender з даними SRTM


1

Ви можете просто додати dem-файл як * .tif у блендер із доповненням "імпортувати зображення як площину". Дивіться цю публікацію, де ви можете побачити, як я зробив кілька 3d-карт високої роздільної здатності за допомогою dem в блендері: -> https://gis.stackexchange.com/a/80842/24809

Після завантаження dem у блендер ви також можете редагувати його, як ви можете редагувати зображення.



0

Ви спробували імпортер USGS & GTOPO30 DEM ?


Деякі знімки екрана (і назви файлів) на цій сторінці роблять це схожим на програму MS Windows. Мені потрібно щось, що може працювати в Linux.
Рорі

Я не впевнений, працює він на Linux чи ні. Можливо, ви можете перевірити їх документацію на це.
Catlover

0

IMO має працювати комбінація gdal2xyz.py та трикутника та переналаштування вихідних файлів трикутника (.node, .ele) в одному з підтримуваних текстових форматів blender або meshlab.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.