Estou trabalhando com modelos de método de elementos finitos (FEM) com elementos triangulares e gostaria de ver os resultados como superfícies TIN no ArcGIS (e no ArcScene). Na minha fonte externa, tenho nós (com cordas X, Y, Z) e elementos (formando um triângulo a partir de três nós), que são os fundamentos de um NIF. Como reuni-los no ArcGIS para converter meus elementos triangulares em uma nova superfície TIN? Idealmente, isso deve ser uma conversão de 1: 1, mas a documentação não está me ajudando.
Aqui está um exemplo ilustrado dos dados que tenho:
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
Atualmente, estou usando o ArcGIS 9.3 com a extensão 3D Analyst (entre outros) e gostaria de algumas dicas para uma solução direcionada para Python ou VBA.
Abordagem alternativa : a conversão de dados brutos -> Esri TIN não parece muito fácil, e eu não consigo entender a API do 3D Analyst, por isso vou segurar a solução Python / VBA.
Eu tenho os mesmos dados representados em um Shapefile, onde todos os recursos são formas triangulares PolygonZM e os vértices têm o campo de altura. (Se você perguntar, este Shapefile foi criado usando OGR via Python a partir do conjunto de dados original estruturado da mesma forma que acima). A visualização desse arquivo no ArcScene é realmente muito lenta, pois tenho ~ 100k polígonos triangulares no Shapefile. Idealmente, este Shapefile do PolygonZM deve converter triângulo a triângulo em um conjunto de dados TIN. Eu tenho os dados, então não é necessária interpretação ou interpolação!
Então, como posso converter esse arquivo de forma do PolygonZM (foto abaixo) em um TIN? No ArcScene, no menu "3D Analyst", existe a ferramenta "Create TIN From Features", mas eu não entendo o idioma "soft clip" etc. A caixa de diálogo não fornece ajuda.
LandXML
Acontece que o melhor formato é o LandXML, graças às respostas relacionadas abaixo. Para o exemplo acima, o arquivo se parece com isso (nota: a ordem das coordenadas é 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>
Em seguida, use a ferramenta LandXMLToTin_3d para processar o resultado em um arquivo Esri TIN: