Apakah Shape_Length
atribut memperhitungkan ketinggian? Misalnya, jika saya memiliki 3 poin: A
, B
, danC
A.X = 10
A.Y = 10
A.Z = 10
B.X = 10
B.Y = 10
B.Z = 50
C.X = 0
C.Y = 0
C.Z = 10
Lalu saya membuat dua baris:, L1
dan L2
.
L1.fromPoint = A
L1.toPoint = C
L2.fromPoint = B
L2.toPoint = C
Apa yang saya amati dalam hasil adalah bahwa SHAPE_Length
atributnya sama untuk keduanya L1
dan L2
. Saya telah memverifikasi bahwa semua poin dan semua polyline adalah ZAware.
Jadi, apakah saya salah menganggap SHAPE_Length
atribut memperhitungkan Z dari bentuk?
Saya tidak punya masalah menyimpan Nilai Z atau memanipulasi mereka. Saya menggunakan IPolyline.
Dari apa yang saya dengar, SHAPE_Length hanya 2D dan tidak dapat diedit.
arcgis-desktop
arcobjects
.net
vb.net
Chris
sumber
sumber
Jawaban:
Saya telah bekerja dengan kelas fitur PolylineZ, PolygonZ, dan PointZ untuk waktu yang lama sekarang, dan pengalaman saya adalah bahwa
SHAPE_Length
bidang ini benar-benar XY. Karena saya tidak memiliki Analis 3D (Majikan saya belum merasa cocok untuk mendapatkannya), saya harus melakukan beberapa geometri mewah untuk bekerja dengan ketinggian. (Ya, persamaan vektor secara teori akan lebih mudah, tapi saya tidak siap untuk itu sekarang.) Jadi, tanpa 3D Analyst, akan munculSHAPE_Length
hanya XY. Sekarang, Analis 3D mungkin atau mungkin tidak mencari bidang otomatis ini dalam 3D. Saya tidak akan tahu. Apakah ada pengguna Analis 3D yang beruntung di luar sana yang tahu sendoknya?sumber
Konversi ke PolylineZ untuk Ketinggian dapat disimpan sebagai Nilai Z dalam jenis bentuk PolylineZ Shapefile:
Lihat
http://en.wikipedia.org/wiki/Shapefile#Shapefile_shape_format_.28.shp.29
dibawah:
Isi rekaman panjang variabel tergantung pada jenis bentuk. Berikut ini adalah jenis bentuk yang mungkin:
ET GeoWizard dapat mengonversi Polyline ke PolylineZ dengan cepat. http://www.ian-ko.com/ET_GeoWizards/gw_demo.htm
sumber
Jika Anda menggunakan ArcSDE atau RDBMS berdasarkan Spesifikasi Fitur Sederhana Konsorsium Open GIS, maka panjangnya adalah 2D. Bahkan pada spec 1.2.1, nilai Z masih nilai ordinat saja; X dan Y adalah satu-satunya koordinat untuk geometri yang dinormalisasi. Geometri biner masih belum termasuk Z atau M sebagai bagian dari spesifikasi.
Rujuk ke bagian 6.1.5:
http://www.opengeospatial.org/standards/sfs
Melakukan pemeriksaan terhadap beberapa implementasi spesifikasi, semuanya menentukan bahwa ST_LENGTH untuk kurva tidak memperhitungkan Nilai-Z pada saat ini, dan tidak terlihat seperti tes spesifikasi yang memperhitungkan nilai Z.
Saya tidak yakin apakah file-geodatabase akan mengimplementasikan koordinat Z. Tidak seperti ArcSDE, filegeodatabases menggunakan kurva sejati bukan kurva padat dan tidak mengikuti OGC SFS. Jadi, ada kemungkinan bahwa basis file melakukan perhitungan panjang sadar Z.
sumber
Ini 2D. Jika Anda ingin menghitung panjang 3D untuk garis 3D, gunakan ICurve3D :: Length3D http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Length3D_Property/002m0000010s000000/
sumber