Bir DEM'i 3D modele dönüştürmek için açık kaynak aracı


11

Bir DEM (Digitial Elevation Model) dosyasını (örneğin SRTM'den) daha sonra normal 3D modelleme araçlarıyla (örn. Meshlab / Blender / vb.) Düzenleyebileceğim bir 3D modele dönüştürmek istiyorum. Ancak Ubuntu Linux kullanıyorum.

Peki, bunu yapabilen açık kaynaklı programlar / araçlar var mı? Ve eğer öyleyse, bana bir DEM'i 3D bir modele nasıl dönüştüreceğiniz konusunda basit bir rehber verebilir misiniz? (komut satırı programları tercih edilir)

Yanıtlar:


7

Blender'ın bir Python API'sı var. Bu nedenle, Blender'da Python kullanıyorum ve GDAL kütüphanelerini içe aktarıyorum ve doğrudan CBS verilerinden bir Blender-yerel ağ oluşturuyorum. Dikkat etmeniz gereken tek şey, sahip olduğunuz GDAL sürümünün, kullandığınız Blender sürümündeki Python sürümüyle eşleşmesidir.

Eklentileri DÜZENLE:
Blender Python API ve GDAL kullanarak kendi komut dosyanızı yazmak istemiyorsanız, yardımcı olabilecek bazı eklentiler vardır:

  1. DXF'yi İçe Aktar
  2. OBJ, X3D ve VRML için ithalatçılar vardır ve bazı 3D GIS sistemleri bunlara (örneğin ArcScene ve NVIZ) ihracat yapacaktır, ancak bu yol tamamen ücretsizdir.

XYZ verileri için bir eklenti vardır, ancak standart değildir ve esas olarak moleküler verilere yöneliktir, ancak belki de isteğinize göre bükebilirsiniz. Blender için hazır tüm ithalatçılar için buraya bakın . Blender'da bir PDS .IMG ithalatçısı var, ancak GDAL sadece PDS IMG dosyalarını okuyabilir (farklı Erdas IMG dosyalarıyla karıştırılmamalıdır).

Yani, gerçekten, eğer bir GeoTiff, ASC veya hemen hemen başka herhangi bir yükseklik veri rasteriniz varsa en iyi bahis, çoğu kullanım durumu için hazır eklenti olmadığından, raster üzerinde tekrarlamak için küçük bir komut dosyası yazmaktır. DTM'nizi DXF, VRML veya OBJ'ye aktarın.


İndirebileceğim ve oynayabileceğim herhangi bir eklenti veya herhangi bir şey var mı?
Rory

1
En iyi yol, kendiniz senaryo yazmaktır - düzenlemelerimi görün.
MappaGnosis

4

NVIZ'ın (GRASS paketinin bir parçası olan) DEM verilerini 3D model olarak görselleştirmek için yararlı bir araç olduğunu gördüm.

GRASS eklentisini yüklemek için (zaten QGIS yüklüyse), Eklentiler -> Eklentileri Yönet ve Yükle -> Daha Fazlasını Alın ve GRASS'ı yükleyin. Eklentileri Yönet ve Yükle listenizde işaretli olduğundan emin olun!

  1. GRASS yüklendikten sonra raster katmanınızı ekleyerek başlayın. Bunu Katman -> Tarama Katmanı Ekle -> Seç'e giderek yapabilirsiniz.

  2. Ardından GRASS'ta yeni bir harita kümesi oluşturun. Bunu Eklentiler -> GRASS -> Yeni Harita Kümesi'ne giderek veya görünür olması gereken GRASS araç çubuğunu kullanarak yapın. A. GRASS veri kümeniz için bir konum seçin B. Seçtiğiniz yeni bir konum adı girin C. İstediğiniz projeksiyonu seçin D. Açılır listeden bir bölge seçin veya enlem / boylam koordinatlarını kullanarak manuel olarak birini seçin ( E. Yeni bir harita kümesi adı girin ve ardından Son düğmesini tıklatın.

  3. Ardından DEM veya raster katmanınızı GRASS'a yüklemek istersiniz. Bunu A. Eklentiler -> GRASS -> GRASS araçlarını aç B ile yapacaksınız. “Modüller Listesi” altında “r.in.gdal.qgis” öğesini seçin. C “Yüklenen katman” ın altındaki açılır listesini girin ve çıktı dosyasına D adını verin.

  4. Şimdi harita setinize A GRASS raster katmanı eklemeniz gerekir. Ekler -> GRASS -> GRASS raster katmanı ekle seçeneğine gidin veya tıklayın. B. Konumunuzu ve harita setinizi seçin, ardından katmanınızı seçin ve “Tamam” a tıklayın

  5. Rasterinizi renklendirmek isteyebilirsiniz. Öyleyse A. Doğru çıkış raster katmanını B seçtiğinizden emin olun. Eklentiler -> GRASS -> GRASS araçlarını aç C'ye gidin. “Modüller Listesi” altında “r.colors.table” öğesine tıklayın. D. Giriş katmanını seçin ve ardından bir “renk tablosu türü” seçin E. E. “Çalıştır” a basın.

  6. ŞİMDİ eğlenceli kısmı için. NVIZ kullanarak 3D görselleştirme. Bu yüzden A. Eklentiler -> GRASS -> Mevcut GRASS Bölgesini Düzenle'ye giderek 3D modelleme için belirli bir harita bölgesi ayarlayın. Ardından, farenizle kırmızı bir çerçeve çizerek istediğiniz bölgeyi el ile seçin veya görünen iletişim kutusunda koordinatları ayarlayın. (Bu, NVIZ'ın hangi çözünürlüğü kullanacağını belirlemesine yardımcı olur) B. Eklentiler -> GRASS -> GRASS araçlarını aç C. "Modüller Listesi" altında, "nviz" i seçin. Yükseklik ve Renk için raster seçin (aynı olabilir) bir) ve sağdaki kareyi tıklayın ("Bu haritanın bölgesini kullan" anlamına gelir) E. "Çalıştır" düğmesine basın

Sonra istediğiniz görüntü elde edene kadar farklı görünümler, yükseklikler ve aydınlatma ile oynayın!

Bu yardımcı olur ve herhangi bir sorunuz varsa lütfen bana bildirin!


Bir SRTM katmanı kullanırken projeksiyonla ilgili sorun yaşadığımı not edeceğim. Kimsenin önerisi var mı?
Zizah

Ne tür sıkıntılar?
markusN


1

nviz bağımsız bir uygulama değildir , 3D görselleştirme ve animasyon için GRASS GIS'in bir parçasıdır . Rasterleri dışa aktarmak istiyorsanız GRASS GIS (veya QGIS'te GRASS) gerekir. DEM'leri Terragen Yükseklik Alanı (.ter), VTK, PovRay, xyz vb. Gibi çeşitli dosya biçimlerinde dışa aktarabilirsiniz .

Paraview'ı VTK dosyalarını açmak ve diğer çeşitli biçimlere dışa aktarmak için de kullanabilirsiniz.

Ancak Blender, örneğin, Blender Dijital Yükseklik İthalatçısı veya doğrudan şekil dosyaları ve rasterleri ( ESRI Şekil Dosyası içe / dışa aktarma ve coğrafi referanslı raster ithalatçısı ) olarak doğrudan DEMS'i içe aktarmak için eklentilere sahiptir .

Kodex ayrıca QGIS verilerini Blender ile SVG formatında görselleştirmek için bir çözüm sunuyor

Ayrıca bkz. SRTM verileriyle Blender'da Gölgeli Kabartma


1

Bir dem dosyasını ".ifge olarak içe aktar" eklentisiyle blenderde * .tif olarak ekleyebilirsiniz. Blender'da bir dem kullanarak bazı yüksek çözünürlüklü 3d haritaları nasıl yaptığımı görebileceğiniz bu gönderiye bakın: -> https://gis.stackexchange.com/a/80842/24809

Dem'i blender'a yükledikten sonra, görüntüyü düzenleyebileceğiniz gibi düzenleyebilirsiniz.



0

Bu sayfadaki bazı ekran görüntüleri (ve dosya adları) bir MS Windows programı gibi görünmesini sağlar. Linux üzerinde çalışabilecek bir şeye ihtiyacım var.
Rory

Linux üzerinde çalışıp çalışmadığından emin değilim. Belki de bunun için belgelerini kontrol edebilirsiniz.
Catlover

0

IMO, gdal2xyz.py ve üçgenin birleşimi ve desteklenen blender veya meshlab metin biçimlerinden birinde üçgen (.node, .ele) çıktı dosyalarının yeniden yapılandırılması çalışmalıdır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.