Có thể tạo 3D dxf bằng OGR không?


8

Có ai biết nếu có thể tạo dxf 3D bằng OGR không? Tôi muốn gán các đường đồng mức một giá trị Z và sau đó xuất chúng sang dxf cho một số công việc cad.

Tái bút Tôi biết FME có thể làm điều này, tuy nhiên tôi muốn thử và tìm một giải pháp miễn phí, và nếu có thể hãy làm điều đó trong QGIS.


Autocad map3d thực hiện điều này một cách dễ dàng.
Brad Nesom

2
Vâng, nhưng bản đồ Autocad không thực sự miễn phí
Nathan W

Câu trả lời:


9

Tôi nghĩ dễ dàng hơn (nhờ vào lời khuyên của BenjaminGolder):

ogr2ogr -f "DXF" Contours.dxf Contours.TAB -zfield Height

Contours.TAB là tệp tab MapInfo đầu vào.


1
Theo như tôi có thể nói điều này sẽ làm việc cho các đường cong, nhưng không phải cho đúng 3d-dòng, trong đó có một (x, y, z) phối hợp cho tất cả các điểm, và không phải là một giá trị z cho mọi điểm của đường
johanvdw

Tôi đã thử điều này trong FWTools (2.4.7) mà không gặp may mắn. Có ai gặp may mắn không? Tôi không chắc chắn nếu tôi thiếu một cái gì đó trong GDAL của tôi?
Ryan Garnett

3

Vì lợi ích của sự trọn vẹn.

Tôi tin rằng đây nên là một bình luận về phản ứng của Regan. Nhưng vì tôi không có đủ danh tiếng nên tôi sẽ để lại như một phản hồi.

Trình ghi DXF hỗ trợ các lớp 2.5D và được cung cấp một đầu vào dòng, sẽ xuất ra một dòng 3D trên dxf.

Trong trường hợp POLYGONS đầu vào, bạn phải cẩn thận hơn, vì trình điều khiển mặc định để tạo HATCH dxf với Polyline. Và theo đặc tả định dạng, dòng đó không hỗ trợ tọa độ Z, chỉ X, Y.

Nếu bạn nhập đa giác, ogr có thể xuất dxf với các chuỗi 3D đại diện cho các đa giác đó. Vì vậy, bạn cần thiết lập tùy chọn cấu hình DXF_WRITE_HATCH thành NO.

//Bash
export DXF_WRITE_HATCH=NO
ogr2ogr -f "DXF" Contours.dxf Contours.TAB

//Windows
set NEWVAR=SOMETHING
ogr2ogr -f "DXF" Contours.dxf Contours.TAB

Theo như tôi biết thì điều này không được ghi lại và cũng không được giải thích ở bất cứ đâu, nó đã được thêm vào phiên bản 24991


1

Tôi chưa bao giờ thử nó, nhưng nó có thể. Các mã nguồn cho tài xế DXF viết giá trị từ Z đến dxf nếu hình học là 2.5D, mà (theo nguồn cho người đọc shapefile ) là những gì bạn sẽ có nếu hình dạng đầu vào có giá trị Z.


Điều đó nghe có vẻ tốt. Câu hỏi tiếp theo, làm thế nào để bạn tạo một shapefile với các giá trị Z. Nói rằng tôi có một cột được gọi là Chiều cao, có một cách dễ dàng để làm cho giá trị Z này.
Nathan W

Với điều kiện shapefile là Z-nhận thức, với ArcGIS, bạn có thể sử dụng một khối mã trong máy tính trường. Tôi không biết bạn sẽ làm thế nào trong Qgis.
Regan Sarwas

1
trong tài liệu ogr2ogr, có vẻ như bạn có thể tạo một shapefile 3d bằng cách sử dụng -zfieldđối số và sau đó chỉ định một tên trường chứa các giá trị z. gdal.org/ogr2ogr.html
BenjaminGolder

@BenjaminGolder Nghe hay đấy. Tôi sẽ cho nó đi.
Nathan W

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.