Công cụ nguồn mở để chuyển đổi DEM thành mô hình 3D


11

Tôi muốn chuyển đổi tệp DEM (Mô hình số độ cao) (ví dụ từ SRTM) thành mô hình 3D mà sau đó tôi có thể chỉnh sửa bằng các công cụ mô hình 3D thông thường (ví dụ: Meshlab / Blender / v.v.). Tuy nhiên tôi đang sử dụng Ubuntu Linux.

Vì vậy, có bất kỳ chương trình / công cụ nguồn mở nào có thể làm điều này không? Và nếu vậy, bạn có thể cho tôi một hướng dẫn đơn giản về cách chuyển đổi DEM thành mô hình 3D không. (chương trình dòng lệnh được quan tâm)

Câu trả lời:


7

Blender có API Python. Do đó, tôi sử dụng Python trong Blender và nhập các thư viện GDAL và xây dựng lưới gốc Blender trực tiếp từ dữ liệu GIS. Điều duy nhất bạn cần cẩn thận là phiên bản GDAL bạn có phù hợp với phiên bản Python trong bản phát hành Blender mà bạn đang sử dụng.

Plugin EDIT:
Nếu bạn không muốn viết tập lệnh của riêng mình bằng API Blender Python và GDAL, có một số plugin có sẵn dưới dạng tiêu chuẩn có thể giúp:

  1. Nhập DXF
  2. Có các nhà nhập khẩu cho OBJ, X3D và VRML và một số hệ thống GIS 3D sẽ xuất sang các hệ thống này (ví dụ ArcScene và NVIZ) mặc dù tuyến này có thể hoàn toàn miễn phí.

Có một tiện ích bổ sung cho dữ liệu XYZ nhưng nó không chuẩn và chủ yếu nhắm vào dữ liệu phân tử, mặc dù có lẽ bạn có thể uốn cong nó theo ý muốn của mình. Để biết đầy đủ các nhà nhập khẩu ngoài luồng cho Blender xem tại đây . Có một trình nhập PDS .IMG trong Blender nhưng GDAL chỉ có thể đọc các tệp PDS IMG (không bị nhầm lẫn với các tệp Erdas IMG khác nhau).

Vì vậy, thực sự, đặt cược tốt nhất của bạn nếu bạn có GeoTiff, ASC hoặc bất kỳ trình raster dữ liệu chiều cao nào khác là viết một đoạn script nhỏ để lặp qua raster vì không có plugin làm sẵn cho hầu hết các trường hợp sử dụng, trừ khi bạn có thể xuất DTM của bạn sang DXF, VRML hoặc OBJ.


Có plugin nào cụ thể hoặc bất cứ thứ gì tôi có thể tải xuống và chơi với không?
Rory

1
Tốt nhất của bạn là kịch bản của riêng bạn - xem các chỉnh sửa của tôi.
MappaGnosis

4

Tôi đã thấy rằng NVIZ (là một phần của gói GRASS) là một công cụ hữu ích để hiển thị dữ liệu DEM dưới dạng mô hình 3D.

Để cài đặt plugin GRASS (nếu bạn đã cài đặt QGIS), chỉ cần điều hướng đến Plugin -> Quản lý và cài đặt Plugin -> Nhận thêm và cài đặt GRASS. Hãy chắc chắn rằng nó được kiểm tra trong danh sách Quản lý và Cài đặt Plugin!

  1. Khi bạn đã cài đặt GRASS bắt đầu bằng cách thêm lớp raster của bạn. Bạn có thể làm như vậy bằng cách điều hướng đến Lớp -> Thêm Lớp Raster -> Chọn

  2. Sau đó tạo một bộ bản đồ mới trong GRASS. Làm như vậy bằng cách điều hướng đến Plugins -> GRASS -> Mapset mới hoặc sử dụng thanh công cụ GRASS sẽ hiển thị. A. Chọn một vị trí cho tập dữ liệu GRASS của bạn B. Nhập tên vị trí mới của sự lựa chọn của bạn C. Chọn hình chiếu bạn muốn D. Chọn một khu vực từ danh sách thả xuống hoặc chọn thủ công bằng cách sử dụng tọa độ lat / long (bạn có thể tra cứu lat / long vị trí của bạn trên web) E. Nhập tên mapset mới và sau đó nhấp vào Kết thúc.

  3. Tiếp theo bạn sẽ muốn tải lớp DEM hoặc lớp raster của bạn vào GRASS. Bạn sẽ làm điều này bằng cách A. Điều hướng đến các Trình cắm -> GRASS -> Mở các công cụ GRASS B. Dưới danh sách Mô-đun Danh sách, hãy chọn r.in.gdal.qgis C. danh sách thả xuống và đặt tên cho tệp đầu ra D. Nhấp vào Chạy Run

  4. Bây giờ bạn cần thêm lớp raster GRASS vào mapset A. Điều hướng đếnPlugins -> GRASS -> Thêm lớp raster GRASS hoặc nhấp vào. B. Chọn vị trí và bộ bản đồ của bạn, sau đó chọn lớp của bạn và nhấp vào OK OK

  5. Bạn có thể muốn tô màu raster của bạn. Nếu vậy, A. Hãy chắc chắn rằng bạn đã chọn lớp raster đầu ra chính xác B. Điều hướng đến Plugins -> GRASS -> Mở công cụ GRASS C. Trong Danh sách mô-đun của Bắt buộc, nhấp vào trên r.colors.table. D. Chọn lớp đầu vào, sau đó chọn Loại màu của bảng màu E. E. Nhấn vào Run Run.

  6. BÂY GIỜ cho phần thú vị. Hình dung trong 3D bằng NVIZ. Vì vậy, bạn sẽ muốn A. Đặt một vùng bản đồ cụ thể cho mô hình 3D bằng cách điều hướng đến các Plugin -> GRASS -> Chỉnh sửa Vùng GRASS hiện tại. Sau đó, chọn thủ công vùng mong muốn bằng cách vẽ khung màu đỏ bằng chuột hoặc đặt tọa độ trong hộp thoại xuất hiện. (Điều này giúp NVIZ xác định độ phân giải sẽ sử dụng) B. Điều hướng đến các plugin -> GRASS -> Mở các công cụ GRASS C. Trong Danh sách mô-đun Danh mục, hãy chọn nviz, D. Chọn raster cho Độ cao và Màu sắc (chúng có thể giống nhau một) và nhấp vào hình vuông bên phải (có nghĩa là khu vực Sử dụng của bản đồ này) E. Nhấn "Run"

Sau đó chơi xung quanh với các góc nhìn, độ cao và ánh sáng khác nhau cho đến khi bạn có hình ảnh mong muốn!

Hy vọng điều này sẽ giúp và xin vui lòng cho tôi biết nếu bạn có bất kỳ câu hỏi!


Tôi sẽ lưu ý rằng tôi đã gặp rắc rối với phép chiếu khi sử dụng lớp SRTM. Có ai có bất cứ đề nghị?
Zizah

Những loại rắc rối?
markusN

2

Chưa bao giờ thử nó, nhưng đây là NVIZ . Tất cả những gì bạn cần là QGIS, mà bạn có thể tải xuống cho Ubuntu Linux.


1

nviz không phải là một ứng dụng độc lập, nó là một phần của GRASS GIS , dành cho hình ảnh và hoạt hình 3D. Nếu bạn muốn xuất các trình quét, bạn cần GRASS GIS (hoặc GRASS trong QGIS). Bạn có thể xuất DEM theo các định dạng tệp khác nhau , bao gồm Terragen heightfield (.ter), VTK, PovRay, xyz, v.v.

Bạn cũng có thể sử dụng Paraview để mở các tệp VTK và xuất chúng sang các định dạng khác nhau

Nhưng Blender cũng có các plugin để nhập trực tiếp DEMS, ví dụ như Trình nhập khẩu độ cao kỹ thuật số của Blender hoặc nhập shapefiles và raster ( nhập / xuất ESap Shapefile và nhập khẩu raster tham chiếu địa lý ).

Kodex cũng là một giải pháp để Trực quan hóa dữ liệu QGIS với Blender với định dạng SVG

Xem thêm Shaded Cứu trợ trong Blender với dữ liệu SRTM


1

Bạn chỉ có thể thêm tệp dem dưới dạng * .tif trong máy xay sinh tố với addon "nhập ảnh dưới dạng mặt phẳng". Xem bài đăng này nơi bạn có thể thấy cách tôi tạo một số bản đồ 3d có độ phân giải cao bằng cách sử dụng dem trong máy xay sinh tố: -> /gis//a/80842/24809

Sau khi tải dem vào máy xay, bạn cũng có thể chỉnh sửa nó vì bạn có thể chỉnh sửa ảnh.



0

Bạn đã thử Trình nhập DEM USGS & GTOPO30 chưa?


Một số ảnh chụp màn hình (và tên tệp) trên trang đó làm cho nó trông giống như một chương trình MS Windows. Tôi cần một cái gì đó có thể làm việc trên Linux.
Rory

Tôi không chắc nó có hoạt động trên Linux hay không. Có lẽ bạn có thể kiểm tra tài liệu của họ cho việc này.
Catlover

0

IMO một sự kết hợp của gdal2xyz.pytam giác và cấu hình lại các tệp đầu ra của tam giác (.node, .ele) trong một trong các định dạng văn bản được hỗ trợ của máy xay hoặc lướilab sẽ hoạt động.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.