Saya memiliki 3D Sipil 2012 dengan ArcGIS untuk AutoCAD 300. Saya ingin membaca luasan poligon dalam gambar. Kelas Fitur dalam A4A300 = Batas, lapisan CAD adalah PROP-BNDY, hanya ada satu poligon pada lapisan itu karena itu adalah perimeter situs. Apakah saya harus mengubah poligon menjadi shapefile sementara, membacanya, dan kemudian menghapusnya? Saya akan menggunakan batas batas ditambah konstanta di semua arah untuk klip gambar raster. Proses tidak boleh melibatkan input pengguna. Saya memiliki 30 direktori yang akan saya looping, file gambar di setiap direktori dan poligon di setiap gambar. Saya memiliki rutinitas python untuk membuat daftar direktori yang memiliki file * map.dwg di dalamnya dan saya akrab dengan kliping raster, saya tidak dapat menemukan cara membaca luasan poligon dalam file DWG. Bantuan Anda sangat dihargai !!
sumber
Jawaban:
Seperti yang telah Anda sarankan, Anda harus mengonversi fitur poligon CAD ke kelas fitur GIS atau lapisan fitur, maka Anda dapat menggunakan arcpy untuk mendapatkan tingkat geometri.
Pertama, untuk membuat lapisan temp / dalam memori Anda bisa menggunakan fungsi Make Feature Layer , lihat contoh kode di bawah ini:
Alterntivley, jika Anda ingin lapisan temp dikonversi menjadi file temp sebenarnya, Anda bisa menggunakan Kelas Fitur ke Kelas Fitur .
Untuk kedua kasus Anda kemudian bisa mendapatkan tingkat lapisan menggunakan metode getExtent () :
sumber
Anda dapat mengonversi file DWG ke kelas fitur, lalu mendapatkan luas poligon, menggunakan kode di bawah ini:
sumber