Apakah mungkin untuk membuat dxf 3D dengan OGR?


8

Apakah ada yang tahu apakah mungkin untuk membuat dxf 3D dengan OGR? Saya ingin memberi garis kontur nilai Z dan kemudian mengekspornya ke DXF untuk beberapa pekerjaan cad.

PS. Saya tahu FME dapat melakukan ini, namun saya ingin mencoba dan menemukan solusi gratis, dan jika mungkin melakukannya di QGIS.


Autocad map3d melakukan ini dengan mudah.
Brad Nesom

2
Ya tapi peta Autocad tidak benar-benar gratis
Nathan W

Jawaban:


9

Lebih mudah maka saya pikir (terima kasih kepada BenjaminGolder untuk tipnya):

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

Contours.TAB adalah file tab MapInfo input.


1
Sejauh yang saya tahu ini akan bekerja untuk garis kontur, tetapi tidak untuk garis 3d yang benar, yang memiliki koordinat (x, y, z) untuk setiap titik, dan tidak satu nilai z untuk setiap titik garis
johanvdw

Saya telah mencoba ini di FWTools (2.4.7) tanpa hasil. Adakah yang beruntung? Saya tidak yakin apakah saya kehilangan sesuatu di GDAL saya?
Ryan Garnett

3

Demi kelengkapan.

Saya percaya ini harus menjadi komentar pada respon Regan. Tetapi karena saya tidak memiliki reputasi yang cukup, saya akan meninggalkannya sebagai tanggapan.

Penulis DXF mendukung lapisan 2.5D, dan diberi input garis, harus menampilkan linestring 3D pada dxf.

Dalam hal input POLYGONS Anda harus lebih berhati-hati, karena driver defaultnya untuk menghasilkan DATCH HATCH dengan Polyline. Dan dengan spesifikasi format, garis itu tidak mendukung koordinat Z, hanya X, Y.

Jika Anda memasukkan poligon, ogr dapat mengekspor DXF dengan 3D linestrings yang mewakili poligon tersebut. Untuk itu Anda perlu mengatur opsi konfigurasi DXF_WRITE_HATCH ke 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

Sejauh yang saya tahu ini tidak didokumentasikan atau dijelaskan di mana pun, itu ditambahkan pada revisi 24991


1

Saya belum pernah mencobanya, tetapi itu harus mungkin. The source code untuk driver DXF menulis nilai-nilai Z untuk dxf jika geometri adalah 2.5D, yang (menurut sumber untuk pembaca shapefile ) adalah apa yang akan Anda miliki jika bentuk masukan memiliki nilai Z.


Boleh juga. Pertanyaan selanjutnya, bagaimana Anda membuat shapefile dengan nilai Z. Katakanlah saya memiliki kolom yang disebut Tinggi, apakah ada cara mudah untuk menjadikan ini nilai Z.
Nathan W

Asalkan shapefile adalah Z-aware, dengan ArcGIS, Anda dapat menggunakan blok kode di bidang kalkulator. Saya tidak tahu bagaimana Anda akan melakukannya di Qgis.
Regan Sarwas

1
dalam dokumentasi ogr2ogr, tampak bahwa Anda dapat membuat 3d shapefile menggunakan -zfieldargumen dan kemudian menentukan nama bidang yang menyimpan nilai z. gdal.org/ogr2ogr.html
BenjaminGolder

@BenjaminGolder Kedengarannya bagus. Aku akan mencobanya.
Nathan W

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.