Ich arbeite mit FEM- Modellen (Finite-Elemente-Methode) mit dreieckigen Elementen und möchte die Ergebnisse als TIN-Flächen in ArcGIS (und in ArcScene) anzeigen. In meiner externen Quelle habe ich Knoten (mit X-, Y-, Z-Koordinaten) und Elemente (die aus drei Knoten ein Dreieck bilden), die die Grundlagen einer TIN bilden. Wie kann ich diese in ArcGIS zusammenführen, um meine dreieckigen Elemente in eine neue TIN-Oberfläche zu konvertieren? Dies sollte idealerweise eine 1: 1-Konvertierung sein, aber die Dokumentation hilft mir nicht.
Hier ist ein illustriertes Beispiel für die Daten, die ich habe:
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
Ich verwende derzeit ArcGIS 9.3 mit der 3D Analyst-Erweiterung (unter anderem) und möchte einige Hinweise für eine Lösung für Python oder VBA.
Alternativer Ansatz : Die Rohdaten -> Esri TIN-Konvertierung sieht nicht sehr einfach aus, und ich kann die API für 3D Analyst nicht auf den Kopf stellen, daher halte ich die Python / VBA-Lösung zurück.
Ich habe die gleichen Daten in einem Shapefile dargestellt, in dem alle Features dreieckige PolygonZM-Formen sind und die Eckpunkte das Höhenfeld haben. (Wenn Sie fragen, wurde dieses Shapefile mit OGR über Python aus dem ursprünglichen Datensatz erstellt, der ähnlich wie oben aufgebaut ist.) Das Anzeigen dieser Datei in ArcScene ist sehr, sehr langsam, da das Shapefile ~ 100.000 dreieckige Polygone enthält. Dieses PolygonZM-Shapefile sollte idealerweise Dreieck für Dreieck in einen TIN-Datensatz konvertieren. Ich habe die Daten, daher ist eine Interpretation oder Interpolation nicht erwünscht!
Wie kann ich dieses PolygonZM-Shapefile (siehe Abbildung unten) in eine TIN konvertieren? In ArcScene gibt es im Menü "3D Analyst" das Tool "TIN aus Features erstellen", aber ich verstehe die Sprache "Softclip" usw. nicht. Der Dialog bietet keine Hilfe.
LandXML
Es stellt sich heraus, dass LandXML das beste Format ist, dank der entsprechenden Antworten unten. Im obigen Beispiel sieht die Datei folgendermaßen aus (Hinweis: Die Koordinatenreihenfolge ist 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>
Verwenden Sie dann das LandXMLToTin_3d-Tool, um das Ergebnis in eine Esri-TIN-Datei zu verarbeiten:
quelle
Ich habe genau dieses Problem bezüglich der Unfähigkeit, TIN-Informationen direkt zu importieren, festgestellt. Soweit ich das beurteilen kann, ist der LandXML-Ansatz die einzige native Importfunktion, die die vorhandene Dreieckskonnektivität beibehält. Glücklicherweise ist das LandXML-Schema für die meisten Probleme nicht zu kompliziert. Leider wird das LandXML-Projekt nicht mehr unterstützt und die Website ist nicht mehr verfügbar. Es gibt Beispieldateien, die das LandXML-Format im Web zeigen, aber hoffentlich wird ESRI dies in einem Update beheben.
UPDATE: Ich habe Kontakt mit einem ESRI-Vertreter aufgenommen und er hat ihn die Kette hochgeschickt. Wenn genug Leute sie darüber nerven, wird es vielleicht angesprochen.
quelle