8 votos

Cómo crear latas en ArcGIS a partir de elementos triangulares

Estoy trabajando con FEM modelos con elementos triangulares, y me gustaría ver los resultados como el ESTAÑO de las superficies en ArcGIS (y en ArcScene). En mi fuente externa, tengo nodos (con X,Y,Z coords) y elementos (formando un triángulo de tres nodos), que son los fundamentos de una LATA. ¿Cómo puedo llevar estos juntos en ArcGIS para convertir mi triangular elementos en una nueva superficie TIN? Idealmente, esto debe ser un 1:1 de la conversión, pero la documentación no me ayuda.

Aquí está un ejemplo de los datos que tengo:

Simple TIN

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 otros), y quisiera algunos consejos para una solución dirigida para Python o VBA.


Enfoque alternativo: Los datos crudos -> Esri LATA de conversión no se ve muy fácil, y yo no puedo hacer cara o cruz de la API para 3D Analyst, así que voy a mantener el Python/VBA de solución.

Tengo los mismos datos representados en un Shapefile donde todas las funciones son triangulares PolygonZM formas y los vértices tienen la altura de campo. (Si usted lo pide, Shapefile, se hizo con OGR a través de Python desde el original conjunto de datos estructurados de manera similar que el anterior). Ver este archivo en ArcScene es realmente muy lento, como he ~100k triangular polígonos en el Shapefile. Este PolygonZM Shapefile idealmente debe convertir triángulo-triángulo a una LATA de conjunto de datos. Tengo los datos, por lo que la interpretación o la interpolación no es querido!

Así que, ¿cómo puedo convertir este PolygonZM Shapefile (foto de abajo) en una LATA? En ArcScene, en el "3D Analyst" en el menú, hay una "Create TIN From Features" de la herramienta, pero no entiendo el idioma suave "clip", etc. El cuadro de diálogo proporciona ninguna ayuda.

ArcScene: Create TIN From Features


LandXML

Resulta que el mejor formato es LandXML, gracias a la relacionada con las respuestas a continuación. Para el ejemplo anterior, el archivo se parece a esto (nota: el orden de coordenadas es Y X Z):

<?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>

A continuación, utilice el LandXMLToTin_3d herramienta para procesar el resultado de un Esri ESTAÑO archivo:

Resulting TIN

3voto

Erik Öjebo Puntos 6937

Cuando los elementos se agregan a una LATA, debe haber alguna manera para definir la ubicación de sus alturas vienen. Si usted está ingresando en 3D características, puede especificar la Forma de campo como la altura de la fuente. Esto indica que los valores z se toma directamente de la función de la geometría. Cuando la adición de características 2D, puede hacer referencia a un campo numérico. También puede especificar Ninguno, en cuyo caso las funciones, tendrán sus alturas interpolados a partir de la LATA antes de ser añadido a la misma. Esto requiere que algunas características de ser añadido a la LATA sin la opción Ninguno, por lo que habrá algunas alturas disponibles para interpolar.

Delinear ESTAÑO Área de Datos (3D Analyst) http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Delineate_TIN_Data_Area/00q900000087000000/

Método (opcional) El método utilizado para el procesamiento de los triángulos. PERIMETER_ONLY va a iterar a través de los triángulos de la LATA de la medida exterior hacia el interior y se detendrá cuando la iteración actual del límite de los bordes del triángulo de no exceder la Máxima Longitud de la Arista. TODAS clasificar la colección completa de TIN triángulos por la longitud de la arista. El valor predeterminado es PERIMETER_ONLY.

3voto

John Simon Puntos 6

La única manera que encontramos para obtener una malla triangular con topología existente en ArcGIS fue el uso de la arcpy.LandXMLToTin_3d función. Es un poco loco para escribir un archivo LandXML sólo para obtener su TIN al Arco, pero funciona. Aquí es una caja de herramientas de Python para ArcGIS10.1 que tiene acceso a datos en una malla triangular de un océano modelo, y lo trae a ArcGIS como una LATA. https://github.com/rsignell-usgs/dap2arc/blob/master/dap2tin.pyt Hemos dejado de ESRI saber que una gran mejora sería ser capaz de crear una instancia de una LATA directamente a través de arcpy.

1voto

Arron S Puntos 2302

Me he encontrado con este problema exacto con respecto a la incapacidad para importar ESTAÑO información directamente. Como puedo decirle a la LandXML enfoque es el único nativo de la función de importación que se preserve el triángulo de la conectividad. Afortunadamente, la LandXML esquema no es demasiado complicado para la mayoría de los problemas. Por desgracia, la LandXML proyecto ya no es compatible y el sitio web está inactivo. Hay archivos de ejemplo que muestra LandXML formato en la web, pero esperemos que ESRI dirección este en una actualización.

ACTUALIZACIÓN: he estado en contacto con un representante de ESRI y él ha enviado la cadena. Si suficiente gente bug ellos acerca de esto, tal vez se tratan.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X