¿El Shape_Length
atributo tiene en cuenta la elevación? Por ejemplo, si tengo 3 puntos: A
, B
yC
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
Luego creo dos líneas: L1
y L2
.
L1.fromPoint = A
L1.toPoint = C
L2.fromPoint = B
L2.toPoint = C
Lo que estoy observando en los resultados es que el SHAPE_Length
atributo es el mismo para ambos L1
y L2
. He verificado que todos los puntos y todas las polilíneas son ZAware.
Entonces, ¿me equivoco al suponer que el SHAPE_Length
atributo tiene en cuenta la Z de las formas?
No tengo ningún problema para almacenar los valores Z o manipularlos. Estoy usando IPolyline.
Por lo que he estado escuchando, SHAPE_Length es solo 2D y no es editable.
arcgis-desktop
arcobjects
.net
vb.net
Chris
fuente
fuente
Respuestas:
He estado trabajando con las clases de entidad PolylineZ, PolygonZ y PointZ durante mucho tiempo, y mi experiencia es que el
SHAPE_Length
campo es estrictamente XY. Debido a que no tengo un analista 3D (a mi empleador no le ha parecido conveniente obtenerlo), he tenido que hacer una geometría elegante para trabajar con elevaciones. (Sí, las ecuaciones vectoriales serían teóricamente más fáciles, pero no estoy haciendo eso en este momento). Entonces, sin 3D Analyst, parecería queSHAPE_Length
solo es XY. Ahora, 3D Analyst puede o no calcular estos campos automáticos en 3D. No lo sabría ¿Conocen los usuarios afortunados de 3D Analyst por ahí?fuente
Convert to PolylineZ for Elevation se puede almacenar como un valor Z en los tipos de formas de PolylineZ Shapefile:
Ver
http://en.wikipedia.org/wiki/Shapefile#Shapefile_shape_format_.28.shp.29
debajo:
El contenido del registro de longitud variable depende del tipo de forma. Los siguientes son los tipos de formas posibles:
ET GeoWizard puede convertir Polyline a PolylineZ rápidamente. http://www.ian-ko.com/ET_GeoWizards/gw_demo.htm
fuente
Si está utilizando un ArcSDE o un RDBMS basado en la especificación de entidad simple Open GIS Consortium, la longitud es 2D. Incluso en la especificación 1.2.1, los valores Z siguen siendo solo valores de ordenadas; X e Y son las únicas coordenadas para la geometría normalizada. La geometría binaria todavía no incluye Z o M como parte de la especificación.
Consulte la sección 6.1.5:
http://www.opengeospatial.org/standards/sfs
Al hacer una verificación de varias implementaciones de la especificación, todas especifican que ST_LENGTH para curvas no tiene en cuenta los valores Z en este momento, y no parece que las pruebas de especificación tengan en cuenta los valores Z.
No estoy seguro de si una geodatabase de archivos implementaría coordenadas Z. A diferencia de ArcSDE, las bases de datos de archivos utilizan curvas verdaderas en lugar de curvas densificadas y no siguen el OGC SFS. Entonces, es posible que las bases de datos de archivos estén haciendo cálculos de longitud conscientes de Z.
fuente
Es en 2D. Si desea calcular la longitud 3D para líneas 3D, use ICurve3D :: Length3D http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Length3D_Property/002m0000010s000000/
fuente