Saya menggunakan ArcGIS 10. Menurut semua dokumentasi yang saya baca, Analis 3D harus dapat melakukan apa yang saya coba lakukan, tetapi saya mengalami masalah setelah masalah dan saya hampir siap untuk memberikan dan temukan cara yang lebih sederhana untuk menjawab pertanyaan yang saya ajukan.
Singkatnya, saya memiliki beberapa lapisan yang saya butuhkan untuk memotong atau menyatukan dalam 3D. Beberapa adalah titik (ribuan dari mereka, yang masing-masing mewakili volume 3D, baik kubus atau bola, dimensi yang merupakan nilai atribut), beberapa adalah poligon. Saya cukup yakin 3D Union dan alat 3D Intersect hanya berfungsi pada fitur Multipatch jadi saya harus mengonversikan semuanya menjadi fitur Multipatch terlebih dahulu.
Masalah utama Saya mengalami sejauh ini adalah bahwa 3D Analyst Union dan Intersect alat menolak untuk beroperasi pada fitur Multipatch yang tidak "tertutup", dan saya tidak bisa memaksa ArcGIS untuk membuat Multipatches yang sedang ditutup. Saya sudah mencoba mengubah satu poligon lapisan (8 fitur) menjadi Multipatch baik dengan mengekstruksinya di Arcscene menggunakan ketinggiannya dan mengonversinya menjadi multipatch dan juga menggunakan alat "Extrude Between", dan keduanya menghasilkan beberapa multipatch yang tertutup dan beberapa tidak. Saya mencoba mengonversi poin saya menjadi bola, menggunakan contoh yang saya temukan di situs ESRI di sini:
http://www.esri.com/news/arcuser/1010/3danalysis.html
Yang memberitahu Anda untuk melambangkan titik-titik sebagai bola, menggunakan atribut sebagai jari-jari, kemudian menggunakan alat "Layer 3D To Feature Class" untuk membuatnya menjadi multipatch. Itu juga menghasilkan multipatch yang tidak tertutup dan karenanya tidak berguna. Saya belum menangani titik konversi ke kubus 3D.
Jadi, jika ada yang tahu cara untuk membuat multipatch tertutup yang andal dari lapisan poligon 2D dan / atau titik tengah (dengan atribut yang menggambarkan dimensi), beri tahu saya. Setiap solusi perangkat lunak alternatif juga bagus, saya tidak terikat dengan ESRI. Memang, setelah bercanda tentang hal ini selama beberapa hari terakhir dan menyadari bahwa alat ESRI sendiri membuat multipatch yang tidak dapat digunakan dengan banyak alat Analis 3D, alternatif akan lebih disukai.
ETA: Apa yang akhirnya saya kejar adalah menghitung volume ruang yang ditempati oleh (misalnya) kubus dengan nilai atribut X di mana mereka memotong bola dengan nilai Y (tentu saja, saya punya banyak dan banyak nilai X dan Y untuk dijalankan).
sumber
Jawaban:
Untuk menutup fitur multipatch, itu harus benar-benar menyertakan volume. Fitur multipatch yang dibuat dengan alat Multipatch interpolate ke poligon (menggunakan permukaan) kemungkinan tidak dapat ditutup. (Kecuali Anda mengekstrusi antara 2 permukaan TIN yang seharusnya menghasilkan multipatch tertutup. Secara pribadi, saya belum banyak berhasil menggunakan "Extrude Between" dengan permukaan yang kompleks)
Saya mencoba menjalankan contoh dengan bola dan membuat 2 kelas fitur multipatch berpotongan. Bola ditutup. Saya juga bisa menghitung volume bola. Persimpangan berhasil tanpa kesalahan dan menghasilkan hasil yang diharapkan. (Lihat tangkapan layar di bawah) Saya kemudian membuat beberapa poligon melingkar, mengekstrudinya dan mengonversinya menjadi fitur multipatch. Persimpangan juga berhasil tanpa kesalahan.
Saya menduga multipatch poligon Anda tidak sepenuhnya menyertakan volume. Bagaimana tepatnya mereka diciptakan? Bisakah Anda memberikan tangkapan layar? (Anda mungkin perlu membuat fitur objek padat 3D yang lebih kompleks dalam perangkat lunak menggambar 3D pihak ke-3 karena ArcGIS sangat terbatas di area ini. Anda dapat mencoba mengedit multipatch di SketchUp dengan cara Collada kemudian mengganti model ketika Anda selesai mengedit ) ArcScene 3D Editor -> Ganti dengan Model (Ini harus dimungkinkan sesuai dengan dokumentasi tetapi saya belum mencoba.)
Dua fitur multipatch. (Spheres dibuat menggunakan teknik yang mirip dengan apa yang telah Anda jelaskan)
Persimpangan yang dihasilkan di atas (fitur ditutup - volume juga dihitung):
Sama seperti di atas tetapi menggunakan fitur multipatch yang dibuat dari mengekstraksi poligon:
Persimpangan yang dihasilkan (poligon yang diekstrusi dikonversi menjadi fitur multipatch): Fitur "poligon" ditutup
sumber
OK, berikut adalah dua masalah yang saya konversi poligon diekstrusi menjadi multipatch:
Poligon Anda harus dalam sistem koordinat yang diproyeksikan. Saya pikir semua milik saya ada di suatu tempat di sepanjang jalan saya melewatkan langkah dan mencoba untuk mengkonversi poligon yang ada di WGS84 lat / panjang. Memproyeksikannya ke UTM memecahkan masalah itu dan memungkinkan saya untuk melanjutkan, yang mana ketika saya menemukan # 2:
Poligon Anda harus benar-benar melingkupi ruang seperti yang dikatakan Jakub, tetapi selain itu, poligon tersebut harus hanya menyertakan satu ruang. Saya memiliki beberapa "menggantung" pada poligon saya di mana mereka berpotongan:
jadi ketika saya mengekstrusi mereka satu fitur memiliki dua volume terlampir terpisah. Itu gagal dikonversi menjadi multipatch tertutup. Memotong poligon pada titik itu tumpang tindih dengan sendirinya (di mana panah menunjuk) dan menghapus bagian di sebelah kiri memperbaikinya. Mungkin akan bekerja jika saya menyimpan kedua bagian sebagai fitur yang terpisah dan mengekstrusi mereka secara terpisah tetapi bagian di sebelah kiri adalah kesalahan dalam kasus saya.
Setelah hal-hal itu selesai, saya dapat mengambil poligon dengan nilai ketinggian, mengekstruksinya menggunakan ketinggiannya di ArcScene, dan kemudian menggunakan alat Layer 3D To Feature Class untuk mengubahnya menjadi multipatch, dan semuanya ditutup.
sumber