Estoy trabajando con modelos del Método de elementos finitos (FEM) con elementos triangulares, y me gustaría ver los resultados como superficies TIN en ArcGIS (y en ArcScene). En mi fuente externa, tengo nodos (con coordenadas X, Y, Z) y elementos (formando un triángulo a partir de tres nodos), que son los fundamentos de un TIN. ¿Cómo puedo unirlos en ArcGIS para convertir mis elementos triangulares en una nueva superficie TIN? Idealmente, esto debería ser una conversión 1: 1, pero la documentación no me está ayudando.
Aquí hay un ejemplo ilustrado de los datos que tengo:
Nodes: n, X, Y, Z
1, 51.06, 84.98, -7.46
2, 30.45, 80.67, -7.47
3, 44.83, 72.70, 19.46
4, 64.99, 69.91, 61.48
5, 30.33, 63.40, 71.31
6, 46.95, 61.96, 48.44
7, 62.04, 51.97, 82.51
Elements: n1, n2, n3
6, 7, 4
4, 3, 6
3, 5, 6
5, 3, 2
1, 3, 4
2, 3, 1
Actualmente estoy usando ArcGIS 9.3 con la Extensión 3D Analyst (entre otras), y me gustaría obtener algunas sugerencias para una solución dirigida a Python o VBA.
Enfoque alternativo : la conversión de datos en bruto -> Esri TIN no parece muy fácil, y no puedo hacer cara o cruz de la API para 3D Analyst, por lo que mantendré apagada la solución Python / VBA.
Tengo los mismos datos representados en un Shapefile donde todas las entidades son formas triangulares de PolygonZM y los vértices tienen el campo de altura. (Si lo solicita, este Shapefile se creó utilizando OGR a través de Python a partir del conjunto de datos original estructurado de manera similar a la anterior). Ver este archivo en ArcScene es realmente muy lento, ya que tengo ~ 100k polígonos triangulares en el Shapefile. Este archivo de forma PolygonZM idealmente debería convertir triángulo por triángulo en un conjunto de datos TIN. Tengo los datos, por lo que no se necesita interpretación o interpolación.
Entonces, ¿cómo puedo convertir este archivo de forma PolygonZM (en la foto a continuación) en un TIN? En ArcScene, en el menú "3D Analyst", hay una herramienta "Crear TIN a partir de entidades", pero no entiendo el lenguaje "clip suave", etc. El diálogo no proporciona ayuda.
LandXML
Resulta que el mejor formato es LandXML, gracias a las respuestas relacionadas a continuación. Para el ejemplo anterior, el archivo se ve así (nota: el orden de coordenadas es YXZ):
<?xml version="1.0" ?>
<LandXML version="1.2" xmlns="http://www.landxml.org/schema/LandXML-1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.landxml.org/schema/LandXML-1.2 http://www.landxml.org/schema/LandXML-1.2/LandXML-1.2.xsd">
<Surfaces>
<Surface name="My TIN">
<Definition surfType="TIN">
<Pnts>
<P id="1">84.98 51.06 -7.46</P>
<P id="2">80.67 30.45 -7.47</P>
<P id="3">72.70 44.83 19.46</P>
<P id="4">69.91 64.99 61.48</P>
<P id="5">63.40 30.33 71.31</P>
<P id="6">61.96 46.95 48.44</P>
<P id="7">51.97 62.04 82.51</P>
</Pnts>
<Faces>
<F id="1">6 7 4</F>
<F id="2">4 3 6</F>
<F id="3">3 5 6</F>
<F id="4">5 3 2</F>
<F id="5">1 3 4</F>
<F id="6">2 3 1</F>
</Faces>
</Definition>
</Surface>
</Surfaces>
</LandXML>
Luego use la herramienta LandXMLToTin_3d para procesar el resultado en un archivo TIN de Esri: