Mehr

Gibt es eine Möglichkeit, 3D-Polylinien in ArcGIS in 3D-Punkte zu konvertieren?

Gibt es eine Möglichkeit, 3D-Polylinien in ArcGIS in 3D-Punkte zu konvertieren?


Ich muss eine große Anzahl sehr dichter (auf 1 m verdichteter) 3D-Polylinien in 3D-Punkte konvertieren. Ich brauche jeden Scheitelpunkt entlang der Linie und möglichst keine Duplikate (zwei gleiche XYZ-Koordinaten). Gibt es dafür ein Werkzeug? Jede zu konvertierende Feature-Class liefert etwa 1 bis 2 Millionen Punkte. Ich habe dafür mein eigenes Add-On geschrieben und obwohl ich den Einfügecursor verwende (im Gegensatz zu iFeature:Store), ist es ziemlich langsam, also hoffe ich, dass es einen besseren Weg gibt.


Hast du vielleicht ET GeoWizards ausprobiert? Ich weiß, dass es in der kostenlosen Version 2D-Polylinien zu Punkten machen kann, aber ich bin mir bei 3D nicht sicher.


Hier ist ein alter VBA-Code, der aus 2D-Polylinien-Scheitelpunkten ein 2D-Punkt-Shapefile erstellt. Ich habe keine Ahnung, ob es auch bei 3D-Features funktioniert (warum verwenden Sie 3D-Punkte?), aber es könnte funktionieren (aber dann ist es nur ein Teil der Lösung):

Private Sub UIButtonControl9_Click() 'Sub Test() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim WorkspaceName As String Dim TableName As String If pMxDoc.SelectedItem Is Nothing Then MsgBox "Ebene im Inhaltsverzeichnis zuerst auswählen" Exit Sub End If Falls nicht TypeOf pMxDoc. SelectedItem Is IFeatureLayer Then MsgBox "Select Layer in TOC first" Exit Sub End If DumpCoords pMxDoc.SelectedItem, "C:	empcoorddump.csv" MsgBox "Die Scheitelpunkte wurden korrekt exportiert." & Chr(13) & "Scheitelpunkttabelle wird in C:	empcoorddump.csv gespeichert" WorkspaceName = "C:	emp" TableName = "coorddump.csv" AddTextFile WorkspaceName, TableName 'AddXYEventLayer End Sub Sub DumpCoords(pFlayer As IFeatureLayer, sFile As String)"schreibt OID,part#,point#,x,y der ausgewählten Features ' in sFile (oder alle Features, wenn keine ausgewählt sind) ' If Not (pFlayer.FeatureClass.ShapeType = esriGeometryPolyline Or _ pFlayer.FeatureClass .ShapeType = esriGeometryPolygon) Then MsgBox "muss polyline or polygon sein" Exit Sub End If Dim pFCur As IFeatureCursor Dim pFSel As IFeatureSelection Set pFSel = pFlayer If pFSel.SelectionSet.Count > 0 Then pFSel.SelectionSet.Search Nothing, False, pFCur Else Set pFCur = pFlayer.FeatureClass.Search(Nothing, False) End If Open sFile For Output As #1 Dim StrHeader As String StrHeader = Chr(34) & "OIDp" & Chr(34) & Chr(44) & Chr(34 ) & _ "Teil" & Chr(34) & Chr(44) & Chr(34) & "P_num" & Chr(34) & Chr(44) & _ Chr(34) & "XXX" & Chr(34) & Chr(44) & Chr(34) & "JJJ" & Chr(3 4) Print #1, StrHeader Dim pFeat As IFeature Set pFeat = pFCur.NextFeature Do bis pFeat Is Nothing Dim pGeomColl As IGeometryCollection Set pGeomColl = pFeat.Shape Dim l As Long For l = 0 To pGeomColl.GeometryCount - 1 Dim pPointColl As IPointCollection Set pPointColl = pGeomColl.Geometry(l) Dim k As Long For k = 0 To pPointColl.PointCount - 1 Dim sOut As String sOut = pFeat.OID & "," & l & "," & k & "," & _ pPointColl.Point(k).x & "," & _ pPointColl.Point(k).Y Print #1, sOut Debug.Print sOut Next k Next l Set pFeat = pFCur.NextFeature Loop Close #1 End Sub Private Function UIButtonControl9_ToolTip () As String UIButtonControl9_ToolTip = "Vertices Koordinaten in CSV-Tabelle extrahieren" End Function

Ich würde versuchen, die 3D-Polylinien in eine LIDAR-Datei (LAS) zu konvertieren. Tools zum Verwalten von LIDAR-Daten sind normalerweise für die Verarbeitung einer großen Anzahl von Punkten ausgelegt.


Wenn Sie eine Arcinfo-Lizenz haben, können Sie einfach das gp-Tool-Feature Scheitelpunkte zu Punkten ausführen. Es verwendet Line- oder Poly-Feature-Class als Eingabe und gibt die Stützpunkte als Punkte mit ihren m & z aus.

Sofern sichergestellt ist, dass keine doppelten Scheitelpunkte vorhanden sind, sollten Sie sich diese beiden GPS-Tools ansehen: Geometrie integrieren und reparieren.

hoffe das hilft.


Geometrie

Geometrien stellen reale Objekte dar, indem sie eine Form an einem bestimmten geografischen Ort definieren. Sie werden in der gesamten API verwendet, um die Formen von Features und Grafiken, Layer-Ausdehnungen, Ansichtspunkte und GPS-Positionen darzustellen. Sie werden unter anderem auch als Eingaben und Ausgaben von räumlichen Analyse- und Geoverarbeitungsvorgängen sowie zum Messen von Entfernungen und Flächen verwendet.

Geometrie in ArcGIS Runtime

Die Geometry-Klasse bietet Funktionen, die allen Geometrietypen gemeinsam sind. Point , Multipoint , Polyline , Polygon und Envelope erben alle von der Geometry-Basisklasse und stellen verschiedene Arten von Formen dar.

Die folgenden sind allgemeine Geometriemerkmale:

  • Geometrien haben einen Raumbezug, der das von ihren Koordinaten verwendete Koordinatensystem angibt.
  • Geometrien können leer sein, was darauf hinweist, dass sie keine bestimmte Position oder Form haben.
  • Geometrien können Z-Werte und/oder M-Werte haben.
  • Geometrien können in und aus JSON konvertiert werden, um persistent zu bleiben oder direkt mit REST-Diensten ausgetauscht zu werden.

Die meisten Geometrien werden erstellt und während ihrer Lebensdauer nicht verändert. Beispiele hierfür sind Features, die erstellt wurden, um in einer Geodatabase gespeichert oder aus einem nicht bearbeitbaren Layer gelesen zu werden, und Features, die von Aufgaben wie einer räumlichen Abfrage, einer Geokodierung, einer Netzwerkverfolgung oder einer Geoverarbeitungsaufgabe zurückgegeben werden. Unveränderliche Geometrien (Geometrien, die nicht geändert werden können) bieten Ihrer App einige wichtige Vorteile. Sie sind von Natur aus threadsicher, helfen, versehentliche Änderungen zu verhindern, und ermöglichen bestimmte Leistungsoptimierungen.

Während unveränderliche Geometrien anscheinend Probleme beim Bearbeiten vorhandener Geometrien aufwerfen, werden diese Probleme durch die Verwendung von Geometrie-Generatoren gelöst. Geometrie-Generatoren sind so konzipiert, dass sie den Zustand einer im Bau befindlichen Geometrie darstellen und gleichzeitig Änderungen ermöglichen, wodurch Bearbeitungsworkflows ermöglicht werden.

Punktgeometrien stellen einen einzelnen Punkt, Ort oder Standort dar, z. B. eine geocodierte Hausadresse in einer Nachbarschaft oder den Standort eines Wasserzählers in einem Wasserversorgungsnetz. Größere geografische Einheiten wie Städte können als Punkte auf kleinmaßstäblichen Karten dargestellt werden. Punkte können als Geometrie von Features und Grafiken verwendet werden und werden häufig verwendet, um beim Konstruieren anderer Geometrien zu helfen.

Punkte speichern einen einzelnen Satz von XY-Koordinaten, die die Koordinaten eines Standorts (z. B. Längen- und Breitengrad) und einen Raumbezug darstellen. Optional kann auch ein Z-Wert (der beispielsweise die Höhe darstellt) eingefügt werden. Point-Instanzen können mit Konstruktoren erstellt werden, die die vollständige Geometrie in einem einzigen Aufruf definieren.

Denken Sie beim Arbeiten mit Punktinstanzen mit einem geografischen Raumbezug daran, dass die X-Koordinate der Längengrad (Ost oder West) und die Y-Koordinate der Breitengrad (Nord oder Süd) ist. Wenn geographische Koordinaten in Strings dargestellt werden, werden sie im Allgemeinen unter Verwendung der Form "(Breite, Länge)" geschrieben, wobei die y-Koordinate vor der x-Koordinate kommt. Breitengrade südlich des Äquators und Längengrade westlich des Nullmeridians werden als negative Zahlen ausgedrückt. Sie können CoordinateFormatter verwenden, um eine formatierte Breiten- und Längengrad-Zeichenfolge direkt in einen Point zu konvertieren und auch eine Breiten- und Längengrad-formatierte Zeichenfolge von einem vorhandenen Punkt zurückzugeben. Andere Koordinatennotationen wie das Military Grid Reference System (MGRS) und das United States National Grid (USNG) werden ebenfalls unterstützt.

Hüllgeometrien stellen rechteckige Formen dar, deren Seiten parallel zur x- oder y-Achse des Koordinatensystems sind. Am häufigsten stellen sie die räumliche Ausdehnung von Schichten oder anderen Geometrien dar oder definieren Interessenbereiche für Aufgaben. Sie können als Geometrie von Grafiken und in vielen Geometrieoperationen verwendet werden, obwohl sie nicht als Geometrie von Features verwendet werden können.

Neue Instanzen von Envelope werden durch die Angabe einer minimalen und maximalen x-Koordinate und einer minimalen und maximalen y-Koordinate sowie einer SpatialReference definiert. Optional kann ein minimaler und maximaler Z-Wert angegeben werden, um die Tiefe der Hülle zu definieren.

Mehrpunktgeometrien stellen eine geordnete Sammlung von Punkten dar. Sie können als Geometrie von Features und Grafiken oder als Eingabe oder Ausgabe von Geometrieoperationen verwendet werden. Bei Features, die aus einer sehr großen Anzahl von Punkten mit denselben Attributwerten bestehen, lassen sich Multipoints möglicherweise effizienter in einer Geodatabase speichern und analysieren als die Verwendung mehrerer Punkt-Features.

Multipoints bestehen aus einer einzigen schreibgeschützten Sammlung von Punkten. Um einen Multipoint zu erstellen, erstellen Sie einen MultipointBuilder , fügen Sie Punkte hinzu und die Geometrie gibt einen Multipoint zurück.

Sie können auch Geometrie-Generatoren verwenden, um eine vorhandene Geometrie zu ändern.

Um auf jeden Point in einem vorhandenen Multipoint zuzugreifen, iterieren Sie über die schreibgeschützte Punktsammlung, die von der points -Eigenschaft zurückgegeben wird.

Polyliniengeometrien stellen die Form und Position von linearen Features dar, beispielsweise eine Straße in einem Straßennetz oder eine Pipeline in einer Ölraffinerie. Sie können als Geometrie von Features und Grafiken oder als Eingabe oder Ausgabe von Tasks oder Geoverarbeitungsvorgängen verwendet werden, beispielsweise als Ausgabe einer Netzwerkverfolgung.

Polylinien bestehen aus einer Reihe verbundener Segmente, wobei jedes Segment eine durchgehende Linie zwischen einem Start- und einem Endpunkt definiert. Sie können auch mit Polylinien arbeiten, indem Sie punktbasierte Hilfsmethoden verwenden.

Erstellen Sie eine Polylinie mit einem PolylineBuilder. Wenn Sie Punkte hinzufügen, wird eine Reihe von geraden Liniensegmenten erstellt, die die von Ihnen angegebenen Punkte verbinden.

Polylinien können aus mehreren Teilen bestehen. Jedes Teil ist eine Reihe verbundener Segmente, aber die Teile können voneinander getrennt sein, beispielsweise in einer Polylinie, die eine unterbrochene Autobahn mit einem unfertigen Abschnitt darstellt. Teile können sich auch an einem oder mehreren Scheitelpunkten schneiden, beispielsweise in einer Polylinie, die einen Fluss und seine Nebenflüsse darstellt. Die Polyline-Klasse erbt von Multipart , das Member zum Durchlaufen der Segmente und Punkte jedes Teils in einer Polylinie bereitstellt.

Um eine vorhandene Polylinie zu ändern, verwenden Sie PolylineBuilder .

Polygongeometrien stellen die Form und Lage von Gebieten dar, beispielsweise ein Land oder ein See. Sie können als Geometrie von Features und Grafiken oder als Eingabe oder Ausgabe von Tasks oder Geoverarbeitungsvorgängen verwendet werden, z. B. als Ausgabe einer Fahrzeitanalyse oder einer Pufferoperation.

Polygone ähneln Polylinien darin, dass sie ebenfalls aus einer Reihe verbundener Segmente bestehen. Polygone definieren jedoch geschlossene Bereiche, sodass sich der Endpunkt des letzten Segments immer an derselben Position wie der Startpunkt des ersten Segments befindet und eine geschlossene Grenze bildet. Wie bei Polylinien können Sie mit punktbasierten Hilfsmethoden mit den Scheitelpunkten der Segmente eines Polygons arbeiten.

Um ein Polygon zu erstellen, erstellen Sie einen PolygonBuilder und fügen Sie Punkte in der richtigen Reihenfolge um den Umfang des Polygons hinzu. Verwenden Sie als Nächstes die toGeometry() -Methode, um das Polygon bereitzustellen.

Beim Definieren eines Polygons muss es nicht explizit geschlossen werden, indem der Startpunkt als letzter Punkt wiederholt wird. Polygone werden von ArcGIS Runtime immer als geschlossene Flächen gezeichnet. Möglicherweise müssen Sie jedoch eine Geometrie vereinfachen, um sie in einer Geodatabase zu speichern.

Ähnlich wie Polylinien können Polygone aus mehreren Teilen bestehen, haben jedoch andere Regeln als die für mehrteilige Polylinien. Jeder Teil eines mehrteiligen Polygons ist eine Reihe verbundener Segmente, die einen geschlossenen Ring bilden. Jedes Teil darf kein anderes Teil kreuzen, sondern kann vollständig innerhalb oder außerhalb eines anderen Teils liegen. Zum Beispiel würde ein Polygon, das den Bundesstaat Hawaii repräsentiert, acht unzusammenhängende Teile umfassen, von denen einer jede Insel repräsentiert. Ein Polygon, das das Land Südafrika repräsentiert und die Enklave Lesotho vollständig umgibt, würde aus zwei Teilen bestehen, die ineinander stecken. Die Polygon-Klasse erbt auch von Multipart .

Mehrteilig (Polygon und Polylinie)

Polygon und Polyline erben von Multipart . Multipart bietet Zugriff auf eine Sammlung der Geometrieteile. Jeder Teil in der Sammlung ist eine Sammlung von Segmentobjekten. Sie können die Segmente oder Punkte in jedem Teil durchlaufen.

Sie können durch die Punkte iterieren, die die Scheitelpunkte in allen Teilen darstellen. Genauso wie Polygon und Polyline unveränderlich sind, sind auch die von Multipart zurückgegebenen Sammlungen unveränderlich.

Ein Segment beschreibt eine durchgehende Linie zwischen einem Startort und einem Endort. Jedes Teil in einer Multipart-Geometrie ist eine Sammlung von Segmenten, wobei sich das Ende eines Segments genau an der gleichen Stelle befindet wie der Anfang des folgenden Segments. Das ArcGIS-System unterstützt sowohl gerade als auch gekrümmte Segmente, aber in der aktuellen Version werden im ArcGIS Runtime SDK nur gerade Segmente unterstützt. Mehrteilige Geometrien können bei Bedarf aus Segmenten zusammengesetzt und in Segmente zerlegt werden, bis echte Kurven vollständig unterstützt werden, wobei punktbasierte Methoden die gleiche Funktionalität bieten.

Da eine einzelne Position von benachbarten Segmenten gemeinsam genutzt wird, wird ein einzelnes Point-Objekt verwendet, um die gemeinsam genutzte Position darzustellen, wenn Sie durch die Punkte in einem Teil iterieren. Als Ergebnis gibt es beim Iterieren durch die Punkte in einem Teil einer Polylinie einen Punkt mehr als die Anzahl der Segmente in diesem Teil.

Ähnlich wie die Geometrien, aus denen sie bestehen, sind Segment unveränderlich.

Die Bedeutung der Koordinaten in einer Geometrie wird durch den Raumbezug der Geometrie bestimmt. Die Scheitelpunkte und der Raumbezug zusammen ermöglichen es Ihrer App, ein reales Objekt von seinem Standort auf der Erde in seinen Standort auf Ihrer Karte oder Szene zu übersetzen.

In einigen Fällen ist der Raumbezug einer Geometrie möglicherweise nicht festgelegt. Grafiken ohne Raumbezug werden mit demselben Raumbezug gezeichnet wie die Kartenansicht, in der sie gezeichnet wurden. Wenn Sie einen Geometrie-Generator verwenden, um eine Polylinien- oder Polygongeometrie aus Punktgeometrien zu erstellen, müssen Sie nicht den Raumbezug jedes Punktes festlegen, bevor Sie ihn zum Builder hinzufügen, da ihm der Raumbezug des Builders zugewiesen wird. x27s hinzugefügt. In den meisten anderen Fällen, beispielsweise bei der Verwendung einer Geometrie in Geometrieoperationen oder beim Bearbeiten einer Feature-Tabelle, muss der Raumbezug der Geometrie festgelegt werden.

Lineare, Winkel- und Flächeneinheiten

In der ArcGIS Runtime API können verschiedene Arten von Maßeinheiten verwendet werden. Projizierte Koordinatensysteme definieren Koordinaten mithilfe von linearen Messungen, beispielsweise mithilfe von Metern oder Meilen, die durch LinearUnit dargestellt werden. Lineare Einheiten werden auch verwendet, um Entfernungsmessungen zurückzugeben, beispielsweise von einigen Mitgliedern von GeometryEngine . Geographische Koordinatensysteme definieren Koordinaten anhand von Winkelmessungen, beispielsweise anhand von Grad oder Bogenmaß, die durch AngularUnit dargestellt werden. Methoden, die die Größe von Flächen berechnen, beispielsweise in Morgen oder Quadratkilometern, verwenden Flächeneinheiten. Diese werden durch AreaUnit repräsentiert. Lineare, Winkel- und Flächeneinheiten können mithilfe von Aufzählungen der gängigsten Maßeinheiten definiert werden. Sie können auch durch Well-Known ID (WKID) oder Well-Known Text (WKT) definiert werden.

Projektion, topologische und andere Operationen

Das Ändern der Koordinaten einer Geometrie, um dieselbe Form und Position zu haben, die unter Verwendung eines anderen Raumbezugs dargestellt werden, ist als "Projektion" oder manchmal als "Neuprojektion" bekannt. Da Geometrien unveränderlich sind, haben sie keine Membermethoden, die ihren Inhalt projizieren, transformieren oder anderweitig ändern.

Die GeometryEngine-Klasse stellt eine breite Palette von Methoden bereit, die den Inhalt von Geometrien lesen und diesen Inhalt ändern, um neue Geometrien zu erstellen. Es gibt Methoden zum Projizieren, Drehen, Verschieben, Schneiden, Verdichten und Verallgemeinern von Geometrien. Wenn Sie Geometrien mithilfe von Positionen auf dem Bildschirm erstellen und die Karte eine umlaufende Karte ist, müssen Sie möglicherweise auch die Normalisierung einer Geometrie in Betracht ziehen, bevor Sie sie in einer Geodatabase speichern oder in Aufgaben oder anderen Vorgängen verwenden.

Verwenden Sie die GeometryEngine-Klasse, um Geometrien auf einen anderen Raumbezug zu projizieren.

Konvertieren in und von JSON

Geometrien können zu und von JSON serialisiert und deserialisiert werden. Die ArcGIS REST API-Dokumentation beschreibt die JSON-Darstellung von Geometrieobjekten. Mit diesem Codierungs- und Decodierungsmechanismus können Sie Geometrien mit REST-Webservices austauschen oder in Textdateien speichern.

Durch das Konvertieren in oder aus JSON können Multipart-Geometrien Punkte hinzugefügt werden, wenn die Geometrie nicht genügend Punkte zum Konstruieren eines Segments enthält.

Geometrien können Z-Werte aufweisen, die Werte entlang der Z-Achse angeben, die sowohl zur X-Achse als auch zur Y-Achse orthogonal ist. Z-Werte können eine Höhe über oder eine Tiefe unter einer Oberfläche oder eine absolute Höhe angeben. Z-Werte werden beispielsweise verwendet, um die Positionen von Geometrien in Szenenansichten zu zeichnen. Beachten Sie, dass Geometrien nicht als echte 3D-Formen gelten und in der Ansicht auf Oberflächen drapiert oder in einigen Fällen mithilfe von Z-Werten in einer einzigen Ebene gezeichnet werden. Z-Werte werden in Point und Envelope gespeichert. Da alle anderen Geometrien aus Point erstellt werden, können daher alle Geometrietypen Z-Werte haben.

Ob eine Geometrie Z-Werte hat oder nicht, wird beim Erstellen der Geometrie bestimmt. Wenn Sie eine Methode mit einem Z-Wert-Parameter verwenden, hat die neue Geometrie Z-Werte (die Geometrie's hasZ ist true). Wenn Sie Geometrien mit Konstruktoren erstellen, die Z-Wert-Parameter verwenden, oder wenn Sie Konstruktorpunkte oder Segmente mit Z-Werten übergeben, hat die neue Geometrie Z-Werte. Eine Geometrie mit Z-Werten wird manchmal als Z-fähige Geometrie bezeichnet.

Es kann sein, dass nicht für alle Scheitelpunkte in Ihrer Geometrie ein Z-Wert definiert ist. NaN ist ein gültiger Z-Wert, der verwendet wird, um einen unbekannten Z-Wert anzugeben. Der Standard-Z-Wert ist jedoch null. Beachten Sie, dass beim Abrufen von Z-Werten von einer Geometrie ohne Z-Werte der Standardwert Null zurückgegeben wird. Überprüfen Sie die hasZ-Eigenschaft, um festzustellen, ob ein Z-Wert von Null bedeutet, dass keine Z-Werte in der Geometrie vorhanden sind oder dass der Z-Wert in den Geometriekoordinaten tatsächlich Null ist.

M-Werte werden in linearen Referenzierungsszenarien verwendet, und wie Z-Werte kann jede Geometrie optional M-Werte speichern. Der Standard-m-Wert ist NaN . Wenn beim Erstellen einer Geometrie ein M-Wert als Parameter angegeben wird, hat die neue Geometrie M-Werte (die Geometrie's hasM ist wahr). Beachten Sie, dass beim Zurückholen von M-Werten von einer Geometrie der Standardwert von NaN (anders als der Standardwert für Z-Werte) für Scheitelpunkte ohne M-Werte zurückgegeben wird. Eine Geometrie mit m-Werten wird manchmal als m-bewusste Geometrie bezeichnet.


Informationen zu den Höhen-Geoverarbeitungs-Services

Nachdem Sie die Höhenanalyse-Services veröffentlicht haben, können Sie die Services nur noch in ArcGIS 10.6.1 oder höher verwenden.

Allgemeine Informationen zur Verwendung von Services finden Sie unter Verwenden eines Geoverarbeitungs-Service in ArcMap in der ArcGIS Server-Hilfe unter Veröffentlichen > Typen von Services > Geoverarbeitungs-Services > Verwenden von Geoverarbeitungs-Services > Verwenden von Geoverarbeitungs-Services in ArcGIS Desktop .

Höhendaten

Die von den Services verwendeten Höhendaten werden von Esri zusammengestellt und kuratiert und als Teil der ArcGIS Data Appliance 7.2-Installation zur Verfügung gestellt. Ein wesentlicher Vorteil besteht darin, dass die Höhendaten bereits vorverarbeitet und für eine schnelle Leistung optimiert wurden. Sobald neue Gebiete und bessere Auflösungen verfügbar sind, werden sie in zukünftige Updates aufgenommen.

Die Höhendaten stammen vom U.S. Geological Survey (USGS), der U.S. National Geospatial-Intelligence Agency (NGA), der U.S. National Aeronautics and Space Administration (NASA) und anderen maßgeblichen Quellen. Während Höhendaten für die gesamte Erdoberfläche verfügbar sind, stehen für bestimmte geografische Ausdehnungen höhere Auflösungen zur Verfügung. In der folgenden Tabelle sind die verfügbaren Datenauflösungen, der jeweils abgedeckte Bereich und die primären Quellen aufgeführt. Die Daten werden tatsächlich in einem Kugelkoordinatensystem mit Einheiten von Bogensekunden bereitgestellt, aber der Einfachheit halber werden sie hier durch ihre metrischen Näherungen aufgelistet.

1. Die kontinentalen Vereinigten Staaten

2. Norwegen, Finnland, Estland, Dänemark, Österreich, Spanien und Japan

USGS National Elevation Dataset und andere maßgebliche Quellen.

1. Die kontinentalen Vereinigten Staaten, Kanada und Mexiko

2. Afrika, Südamerika, der größte Teil Europas und Kontinentalasien, Ostindien, Neuseeland und Inseln des Westpazifiks zwischen 60 Grad Nord und 56 Grad Süd

1. USGS Nationaler Höhendatensatz.

2. Der Datensatz der Shuttle Radar Topography Mission (SRTM) mit einer Auflösung von 1 Bogensekunde (ungefähr 30 Meter).

3. In Australien ist das Tool auf der Grundlage des SRTM DEM-S-Datensatzes von Geoscience Australia mit einer Auflösung von 1 Bogensekunde (ca. 30 Meter) verfügbar.

Die Landoberfläche der Welt zwischen 60 Grad Nord und 56 Grad Süd

Shuttle Radar Topography Mission (SRTM).

1.000 Meter (30 Bogensekunden)

Die ganze Oberfläche der Welt

Allgemeine Bathymetrische Karte der Ozeane (GEBCO).

Bathymetriedaten für die Ozeane sind auch im globalen Höhendienst enthalten, sodass Sie Profile bis zum Meeresboden über Ozeanflächen ableiten können.

Steuern Sie die Auflösung

Welche Quelldaten verwendet werden, hängt von der Einstellung des Parameters DEM-Auflösung sowie von der jeweiligen Position des Linien-Features ab, für das Sie versuchen, ein Profil zu erstellen.


Küste / Mündung

Wie wäre es mit dem Erstellen von Isolinien aus dem Raster? Anschließend können Sie Polylinien in Punkte umwandeln und X-, Y- und Z-Werte in die ASCII-Datei exportieren.
Normalerweise verwende ich diese Option für .xyz-Dateien.
Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.

Luca Castrucci, vor 4 Jahren modifiziert.

RE: Raster in .xyz-Datei (ArcGIS)

Dimitry danke für den Hinweis. Aber ich glaube nicht, dass ich es ganz verstanden habe. Was Sie also tun, ist:
1) Mit "Spatial Analysis - Contour" erstellen Sie Isolinien. Welchen Wert verwenden Sie für das Konturintervall?
2) Wie konvertiert man die Isolinien in Punkte? Verwenden Sie das Werkzeug "Datenverwaltungstools - Sampling - Generieren von Punkten entlang von Linien"?
3) Nachdem Sie die Punkte (X und Y) erhalten haben, verwenden Sie das Werkzeug "Räumliche Analysewerkzeuge - Werte in Punkte extrahieren", um die Höhe (Z) zu erhalten?
4) Soweit ich weiß, scheinen nur Raster in ASCII-Dateien exportierbar zu sein, aber ich bin auch neuer bei ArcGIS, also liege ich wahrscheinlich falsch. Können Sie etwas mehr in die Details Ihres Verfahrens eingehen?

Dmitry Kushnir, geändert vor 4 Jahren.

RE: Raster in .xyz-Datei (ArcGIS)

1) Ich verwende Spatial Analyst >Surface> Isolines, um Isolinien aus Rastern zu erstellen. Für das Konturintervall kann ein beliebiger Wert basierend auf der Modellverfeinerung gewählt werden.
2) So konvertieren Sie Isolinien in Punkte: Datenverwaltungstools> Features > Feature-Scheitelpunkte in Punkte.
3) Ich verwende eigentlich keine Spatial Analysis Tools > Extrahieren von Werten zu Punkten, da Z-Werte bereits in der Attributionstabelle des Punkte-Layers vorhanden sein sollten. Stattdessen müssen Sie der Tabelle x- und y-Koordinaten hinzufügen. Dies kann über Datenverwaltungstools>Feature>XY-Koordinaten hinzufügen erfolgen.
4) Als nächstes müssen Sie die resultierende Attributtabelle in das entsprechende Dateiformat exportieren, um sie in Quickin abzufangen.
Sie können beispielsweise die Verwendung von Conversion Tools>Table to dBase in Betracht ziehen. Das dBase-Format ist von vielen anderen Programmen lesbar, z.B. Excel, von wo aus Sie in die ACSII .txt-Datei exportieren können. Oder exportieren Sie die Tabelle direkt in die .xls-Datei (Konvertierungstools> Tabelle in Excel).

Es gibt auch eine einfachere Möglichkeit zum Exportieren von Rastern in ASCII (die Erstellung von Isolinien wird übersprungen): Konvertierungstools>Raster in Point. Als Ergebnis erhalten wir eine Punkteebene im Shape-Dateiformat mit Z-Werten in der Attributtabelle. Dann müssen wir nur noch die Schritte 3) und 4 ausführen.

Luca Castrucci, vor 4 Jahren modifiziert.

RE: Raster in .xyz-Datei (ArcGIS)

Danke für deine Leitlinien. Ich habe heute daran gearbeitet, aber zwischen Schritt 3 und 4 trat ein Problem auf. Als ich versuchte, X- und Y-Koordinaten hinzuzufügen, gab mir ArcGIS die Fehlermeldung: "Nicht genügend Speicher. Das Dataset ist zu groß, um diesen Vorgang abzuschließen. Rückkehr zum vorherigen Zustand". Vielleicht habe ich mehr Punkte, als ArcGIS verarbeiten kann. Das Seltsame ist, dass ich dieses Problem nur habe, wenn ich das Conversion Tool > Raster to Points verwende, mit Isolinien funktioniert es großartig. Hast du das gleiche Problem?
Welche Methoden zwischen den beiden verwenden Sie am häufigsten? Ich glaube, dass das Raster zu Punkt das bessere ist, da alle Punkte ausgewählt sind, wodurch die Bathymetrie auf QUICKIN genauer wird.


DXF-Generierung mit ezdxf: Polylinie mit Spline-Anpassungspunkten

Ich entwickle ein Programm, und eine der Anforderungen ist, DXF als Eingabe zu verwenden. Die Eingabe ist nur auf den 2D-Fall beschränkt. Das Programm selbst ist in C++/Qt, aber zum Testen benötige ich einige Beispiel-DXF-Eingaben. Der Spline-Import ist bereits implementiert, der nächste Schritt ist Polylinie mit Spline-Fit-Punkten oder Kontrollpunkten hinzugefügt. Ich habe mich entschieden, Python/ezdxf zu verwenden, um eine solche Polylinie zu generieren, da ich kein Autocad habe.

Mein erster Ansatz bestand darin, mit add_spline_control_frame einen Spline aus Anpassungspunkten zu erstellen und ihn dann in eine Polylinie umzuwandeln. Das Problem ist, dass es keine Konvertierung von Spline zu Polyline gab (obwohl ich es in den Dokumenten gesehen habe, es aber nicht mehr finden kann).

Der aktuelle Ansatz besteht darin, eine Polylinie mit add_polyline2d(points) zu erstellen, wodurch jeder Punkt mit einem DXF-Flag-Feld gleich 8 ist (Spline-Scheitelpunkt, der durch Spline-Anpassung erstellt wurde). Das Problem ist, dass Punkte vom Typ DXFVertex sein müssen (Dokumentstatus Vertex , aber nicht vorhanden) und dieser Typ für ezdxf privat ist.

Bitte teilen Sie Ihre Ansätze entweder zu den Problemen, mit denen ich mit ezdxf konfrontiert war, oder zum ursprünglichen Problem.


OSM-Straßendaten importieren

"OpenStreetMap ist ein Projekt, das direkt darauf abzielt, geografische Daten wie Straßenkarten für jeden zu erstellen und bereitzustellen, der sie haben möchte." — openstreetmap.org

OpenStreetMap

OSM ist ein XML-basiertes Format zur Beschreibung von Vektordaten in einer Karte. Es definiert drei grundlegende Datentypen – Knoten, Wege und geschlossene Wege – die verwendet werden, um alle anderen Elemente zu beschreiben:

  • Knoten – Punkte, zwischen denen Segmente gezeichnet werden.
  • Wege – Geordnete Liste von Knoten, die im Editor als durch Liniensegmente verbunden angezeigt werden.
  • Geschlossene Wege – Wege, die in einer vollständigen Schleife verlaufen. Sie werden verwendet, um Gebiete wie Parks, Seen oder Inseln zu beschreiben.

Exportieren Sie eine OSM-Datei aus OpenStreetMap

Suchen Sie die .osm-Datei im Datenordner Ihres aktuellen CityEngine-Projekts.

Importieren Sie eine OSM-Datei in CityEngine

  1. Öffnen Sie eine neue Szenendatei, indem Sie auf Datei > Neue > CityEngine > CityEngine-Szene klicken.
  2. Ziehen Sie die Datei in das 3D-Ansichtsfenster.
  3. Wählen Sie im Dialogfeld OSM-Import die zu importierenden Layer aus. Normalerweise befinden sich alle Straßen im Autobahn-Layer und Gebäude im Gebäude-Layer. Verwenden Sie das Kontrollkästchen Alle auswählen/abwählen, um bei Bedarf alle Ebenen abzuwählen.
  4. Stellen Sie die zusätzlichen Optionen wie im folgenden Screenshot gezeigt ein:
  5. Klicken Sie auf Fertig stellen.
  6. Akzeptieren Sie das vorgeschlagene Koordinatensystem WGS 1984 UTM Zone 33N.
  7. OK klicken .

Straßenbreiten

Wenn Sie sich die generierten Straßenformen genau ansehen, werden Sie feststellen, dass sie sich in der Breite unterscheiden. Beim Importieren von OSM-Daten mit aktivierter Option Karte OSM-Tags erstellt CityEngine Layer-Attribute, die Straßenbreiten aus OSM-Straßentypen definieren.

Wählen Sie ein Straßensegment aus und notieren Sie seine Parameter im Inspektor.

Im folgenden Screenshot hat eine Straße mit primärem Autobahntyp Straßen- und Gehwegbreitenparameter gemäß der Layer-Attributzuordnung aus dem importierten OSM-Layer OSM_Streets zugewiesen:

Sie können die Straßenbreite manuell ändern, indem Sie einen neuen Breitenwert für den Parameter streetWidth festlegen (der Wert wird in einen vom Benutzer festgelegten Wert geändert) oder indem Sie das Straßenbearbeitungswerkzeug in der Symbolleiste verwenden.

OSM-Attributzuordnung

  1. Wählen Sie im Szeneneditor den neuen Diagrammnetzwerk-Layer aus und sehen Sie sich den Layer-Attributcode im Inspektor an.

Das Straßensegment im vorherigen Bild ist vom Typ tertiär und wird in der Funktion streetWidthByClass auf 6 Meter abgebildet. Hier können Sie die Zuordnung beliebig ändern.

Datenkonflikte

Importierte OSM-Daten sind oft nicht sehr sauber und führen zu Konflikten (zB überlappende Straßen). Offene Blöcke oder rot gepunktete Linien sind Hinweise auf nicht verbundene Segmente oder überlappende Straßen, die zu ungültigen Blöcken führen können. Es gibt verschiedene Möglichkeiten, mit solchen Konflikten umzugehen:

  • Verwenden Sie das Werkzeug „Diagramm bereinigen“ mit verschiedenen Parametern.
  • Wählen Sie im Dialogfeld "Importieren" weniger Straßen aus dem Autobahn-Layer aus.
  • Stellen Sie die Straßen- und Gehwegbreiten auf niedrigere Werte ein (was zu weniger überlappenden Straßen führt).
  • Bereinigen Sie das Straßennetz nach dem Import manuell, indem Sie nahegelegene Kreuzungen oder Parallelstraßen kombinieren oder entfernen.

Die folgenden Screenshots zeigen ein Beispiel für nicht verbundene Graphknoten vor und nach der Reinigung:

OSM-Straßendaten enthalten normalerweise Höhendaten (Attributebene ), können jedoch fehlerhaft sein. Wenn Sie die Option Run Generate Bridges Tool aktivieren, erarbeitet CityEngine automatisch eine mögliche Lösung, um damit umzugehen.

Fügen Sie eine Kartenebene mit georeferenzierten Satellitenbildern hinzu

  1. Klicken Sie auf Datei > Importieren > CityEngine-Ebenen > Texturimport .
  2. Navigieren Sie zur Datei pompeii_satellite.tif im Maps-Ordner.
Die Weltdatei pompeii_satellite.tfw begleitet die Datei pompeii_satellite.tif und speichert die Georeferenzinformationen für das Bild. Daher werden die Parameter Size (Bounds) und Offset (Location) automatisch eingestellt. Weitere Informationen finden Sie unter World-File-Raster-Datasets.

CityEngine projiziert Bilder beim Import nicht neu. Die Auswahl des Koordinatensystems beim Bildimport wird nur verwendet, um die korrekten Standortinformationen zu berechnen. Daher ist es wichtig, Bilddaten in der Projektion aufbereitet zu haben, die in der CityEngine-Szene verwendet wird. (Im vorherigen Beispiel wurde das Satellitenbild von Pompeji in ArcMap auf WGS 1984 UTM Zone 33N (das für diese Tutorialszene verwendete Szenenkoordinatensystem) projiziert.

Der folgende Screenshot zeigt die den OSM-Straßendaten hinzugefügte Satellitenkarte:

Modelle generieren

  1. Wählen Sie im Szeneneditor alle Formen in der Ebene OSM_Shapes aus.
  2. Weisen Sie die Regeldatei osm_generic.cga zu.

Da einige Shapes bereits über einen gültigen Startregelsatz verfügen, wird das Dialogfeld Startregel festlegen angezeigt.

Der folgende Screenshot zeigt einfache generische Modelle, die auf OSM-Daten generiert wurden:

Gibt es eine Möglichkeit, 3D-Polylinien in ArcGIS in 3D-Punkte zu konvertieren? - Geografisches Informationssystem

Wenn Sie in diesem Jahr nur ein Upgrade Ihres Systems durchführen, sollte es die Implementierung einer Produktivitätssoftware sein. Unser Produkt ToolPac wurde entwickelt, um die zahlreichen Engpässe im CAD zu beseitigen. Es enthält über 750 Funktionen, die nur zu einem bestimmten Zweck entwickelt wurden, um Ihnen Zeit zu sparen.

ToolPac wird heute von Tausenden von Architekten, Ingenieuren und Designern verwendet! Diese umfassende Sammlung von Produktivitätswerkzeugen funktioniert mit AutoCAD (LT wird nicht unterstützt), BricsCAD Pro oder höher oder IntelliCAD (siehe Tabelle unten für erforderliche Versionen). Es funktioniert in allen Umgebungen gleichermaßen gut, einschließlich Architektur, Ingenieurwesen, Bauwesen, Maschinenbau und Design.

Einfache Installation: Das Installationsprogramm kann all diese Funktionen in einem einzigen Menü hinzufügen, das automatisch in Ihr aktuelles Profil eingefügt wird. Fügen Sie ToolPac-Funktionen problemlos zu Software von Drittanbietern und sogar zu benutzerdefinierten Menüs hinzu.

Teilfunktionsliste
Die folgende Liste beschreibt einige der Funktionen von ToolPac.

Schnittstellenauswahl
Steuern Sie die Anwendung mit Ihrer Wahl der Befehlszeileneingabe, des Pulldown-Menüs oder der Multifunktionsleisten-Schnittstelle.


TIN-Oberfläche zu Civil 3D-Oberfläche. wie geht das am besten?

700.000 in der abgeschnittenen TIN), dass es ewig dauert, sie überhaupt nach CAD zu exportieren. Ich frage mich, ob es einen besseren Weg gibt, damit umzugehen. Ich arbeite nicht viel mit TINs oder Rastern.

Ja mit arcmap. LandXML war einer meiner frühen Instinkte dabei, aber wenn ich nicht genau genug gesucht habe, kann Arc nicht nach LandXML exportieren.

Konvertieren Sie die Arcgis-Zinn in Kanten, exportieren Sie sie als Shapefile und bringen Sie sie ins CAD (zivil 3d vorausgesetzt).

Ich habe dies versucht, aber die schiere Anzahl der resultierenden Funktionen stürzt mein ziviles 3d ab :(

Es gibt ein Arcgis-Plugin für Civil3d, haben Sie es? Ich bin mir ziemlich sicher, dass es kostenlos ist. Es ist auch schrecklich ungenau, aber können Sie Konturen exportieren? Dann importieren?

Ich habe das Plugin nicht, aber ich werde es mir ansehen. Ich glaube nicht, dass Konturen mir die Genauigkeit geben würden, die ich dafür brauche. Es sei denn, ich habe ein winziges Intervall erstellt, das möglicherweise zu meinem ursprünglichen Problem von zu vielen Polylinien für ziviles 3d zurückkehrt.

Konvertieren Sie Ihre Zinn in Raster in arcgis mit dem Befehl Zinn in Raster. Wählen Sie eine für die jeweilige Aufgabe geeignete Zellengröße. Schneiden Sie das Raster auf das für die Analyse erforderliche Maß zu. Erstellen Sie in Civil 3D eine neue leere Oberfläche (Zinn oder Dem) und fügen Sie dann das beschnittene Raster zu Ihrer zivilen 3D-Oberfläche hinzu. Wenn das Raster im Esri-Rasterformat vorliegt, wählen Sie die ADF-Datei mit der größten Dateigröße aus.


Pro: Create 3D points along a 3D line

by ThomasColson

Perhaps this is already offered/idea, but I can find neither. A very common request that GIS folks get in land management agencies, where there are lots of trails going up and down mountains, is "how far is it? What are the mile posts? Where is the middle? How far to the stream crossing/bridge/water source?". Using 2d interpolation and measurements just doesn't work, where the difference between 2d and 3d line length can be a 1 to 1.5 ratio in some cases (a trail in 2d measure 1 mile, where in fact it is 1.5 miles due to terrain). This is handily summarized in Construct Points on polyline at 3d distance ,Creating point file along line (trail) at regular distances (0.20 miles) using ArcGIS Desktop? - Geo. ,http://www.arcgis.com/home/item.html?id=afb3cb8727c54ceba30c1df1c734f97a ,ArcGIS Toolbox - Create Points on Polylines with ArcPy – Ian Broad , and solved in Arc with http://www.arcgis.com/home/item.html?id=9416fbdf13474923b462567e750417df

With linear referencing I can create true 3d length and use hatching to show those miles, but I can't convert the hatches to a feature class. How To: Create a route with measured values that reflect the 3D length of a line


AutoCad :: Adding Layers To Drawings In Bulk

I am trying to add two layers (A-FURN-3-CGDS-VV-1 & A-FURN-3-CGDS-HH-1) to about 4,700 DWG files, any way to bulk process something like this. We use blocks for furniture symbols, and have about 4,700 of them that need these specific layers in them in order to work with a rendering software we use that is based on the layer names. I will also need to go in and select parts of the drawings to put on one layer, and other parts for the other manually, but if I could start with the DWG files having the layers in them it would save a little time.

How to have the bulk process put everything in the DWG file onto one of the layers (VV) while processing.


"Non-NURBs" Dialog Box Options:

This panel controls the output of non-NURBS primitive data, such as meshes, lines and points.

Polygon Export Method The following two radio buttons choose the method by which the polygons will be stored within the IGES file:

Output Each Polygon As a Bilinear NURBS Patch Each and every polygon will be converted to an un-trimmed bilinear NURBS patch. This is extremely in-efficient but there are some CAD/CAM programs which can only read NURBS data (and not polygons), hence this is the only method available to get polygon data into these programs.

Output Polygons as Entity # 106:12 (copious data)

Polygon meshes will be output to the IGES file using 'copious data' entity # 106, form # 12. This is the default method. Not all programs which read in IGES will be able to accept and display copious data (many CAD/CAM programs can only deal with NURBS data, not polygons).

Output all polygons as 3-sided triangles If this checkbox is enabled then all polygon data will be triangulated first prior to export.

Reverse orientation of polygons

Output vertex normals (#106, form 13)

If this checkbox is enabled then vertex normals (if available) will be stored along with the raw vertex coordinate data. Diese Option ist standardmäßig aktiviert. This vertex normal information is useful for programs which require such data to make a rendered object appear smooth.

Flip vertex normals If this checkbox is enabled then the vertex normals output to the IGES file will be 'flipped' so that they point in the opposite direction.

This combo box determines how line segments are output to the IGES file. Internally, lines are "polylines" in which each polyline can handle 2 or more vertices, and each object definition can have one or more polylines. IGES allows for various ways of handling line segments and polylines:

No lines will be output to the IGES file.

2-point line elements (110)

Linear 3D paths (copious data # 106:12)

Linear BSpline curves (126)

Group lines together (#402)

This combo box determines how 3D pointsets ("point clouds") are output to the IGES file.

No 3D points will be output to the IGES file.


Schau das Video: Arcgis: Merge the raster datasets fusionner raster arcgis Mosaic raster dataset ArcGIS