Mehr

Konvertieren von Polyliniendaten in Polygone?

Konvertieren von Polyliniendaten in Polygone?


Ich versuche, einige Polylinien-Küstenliniendaten in ein Polygon umzuwandeln, das ich verwenden kann, um andere Datensätze durch dieses Polygon zu beschneiden/unterzuordnen. Es gibt einige kleine Lücken in den Küstendaten, die FeatureToPolygon nur schwer so bekommt, wie ich es möchte. Irgendein Rat?


Versuchen Sie es mit dem Tool Polygone mit Linien teilen. Zuerst müssen Sie ein Polygon erstellen, das die gesamte Fläche abdeckt. Verwenden Sie dann das Werkzeug. Nachdem Sie das Tool verwendet haben, können Sie die für Sie unwichtigen Teile einfach löschen.


Google Map-Polylinien

Wenn Sie Google- oder Leaflet-Karten verwendet haben, um geografische Kartenlösungen in Ihrer Logi-Anwendung bereitzustellen, können Sie eine weitere erweiterte Funktion nutzen: Polylinien zuordnen. In Logi Info können Sie auf diese Weise basierend auf Daten durchgehende oder halbtransparente, farbcodierte Linien auf einer Karte überlagern. Sie werden oft verwendet, um eine Route von einem Ort zum anderen darzustellen.

In den folgenden Themen wird die Verwendung von Karten-Polylinien erläutert:

Wenn Sie es noch nicht getan haben, sollten Sie zuerst Leaflet Maps oder Google Maps lesen, die allgemeine Informationen enthalten.


2 Antworten 2

Die gesuchte Form kann berechnet werden, indem eine gewünschte Anzahl gleichmäßig verteilter Punkte in einem Kreis um jeden Eingabepunkt platziert und dann die konvexe Hülle für jedes Kreispaar auf einem Liniensegment ermittelt wird. Die Vereinigung dieser Polygone ergibt das gewünschte Polygon.

Es gibt eine Reihe von Algorithmen, die die konvexe Hülle für eine Menge von Punkten finden können, und auch Bibliotheken, die Implementierungen bereitstellen.

Der Algorithmus, von dem Sie sprechen, heißt "Minkowski-Summe" (in Ihrem Fall von Polylinie und Polygon, Annäherung an einen Kreis). In Ihrem Fall ist der zweite Summand (der Kreis) konvex und bedeutet, dass die Minkowski-Summe mithilfe der sogenannten Polygonfaltung ziemlich effizient berechnet werden kann.

Sie haben die von Ihnen verwendete Sprache nicht angegeben. In C++ ist Minkowski sum als Teil von Boost.Polygon oder als Teil von CGAL verfügbar.

Um sie zu verwenden, müssen Sie Ihre Polylinie wahrscheinlich in ein (degeneriertes) Polygon umwandeln, indem Sie sie zweimal durchlaufen: vorwärts, dann rückwärts.

Die von @melak47 vorgeschlagene Vereinigung konvexer Hüllen führt zu einem korrekten Ergebnis, ist jedoch viel weniger effizient.


Über Kartenpolylinien

Vor v12.5 hieß das in diesem Thema behandelte Element "Google Map Polylines". Mit der Einführung von Leaflet-Karten wurde jedoch der "Google"-Teil des Namens weggelassen. Das Element funktioniert für beide Mapping-Systeme auf die gleiche Weise. Karten-Polylinien, die auf der Karte geplottet werden, sind Überlagerungen, die gezeichnet werden und basierend auf Datenwerten farbcodiert werden können. Hier ist ein Beispiel:


Die obige Karte verwendet Polylinien, um eine Route vom Orsay-Museum in Paris zum Louvre-Museum anzuzeigen. Farbe, Breite und Transparenzstufe der Polylinie sind konfigurierbar und können aus Datenwerten eingestellt werden. Die obige Linie wurde halbtransparent konfiguriert, damit geografische Merkmale durch sie hindurch gesehen werden können.


Polylinien können mit Kartenmarkierungs-Info-Popups konfiguriert und mit anderen Daten verknüpft werden. Im obigen Beispiel wurden sie so konfiguriert, dass beim Anklicken ein Informationsfenster mit detaillierteren Informationen zum unmittelbaren Standort angezeigt wird. Andere Anwendungsbeispiele sind U-Bahn-Karten, Verkehrsdichteindikatoren und Pipeline-Routenkartierung, um nur einige zu nennen.


Über Kartenpolylinien

 Vor v12.5 hieß das in diesem Thema behandelte Element "Google Map Polylines". Mit der Einführung von Leaflet-Karten wurde jedoch der "Google"-Teil des Namens weggelassen. Das Element funktioniert für beide Mapping-Systeme auf die gleiche Weise. Karten-Polylinien, die auf der Karte geplottet werden, sind Überlagerungen, die gezeichnet werden und basierend auf Datenwerten farbcodiert werden können. Hier ist ein Beispiel:
 


 

Die obige Karte verwendet Polylinien, um eine Route vom Orsay-Museum in Paris zum Louvre-Museum anzuzeigen. Farbe, Breite und Transparenzgrad der Polylinie sind konfigurierbar und können anhand von Datenwerten eingestellt werden. Die obige Linie wurde halbtransparent konfiguriert, damit geografische Merkmale durch sie hindurch gesehen werden können.
 


 

Polylinien können mit Pop-ups für Kartenmarkierungsinformationen konfiguriert und mit anderen Daten verknüpft werden. Im obigen Beispiel wurden sie so konfiguriert, dass beim Anklicken ein Informationsfenster mit detaillierteren Informationen zum unmittelbaren Standort angezeigt wird. Andere Anwendungsbeispiele sind U-Bahn-Karten, Verkehrsdichteindikatoren und Pipeline-Routenkartierung, um nur einige zu nennen.
 

Geografische Daten

Polylinien werden mit Sätzen von geplottet Breite und LängengradPunkte die Liniensegmente beschreiben. Mehrere Segmente werden verwendet, um eine durchgehende Linie zu zeichnen. Für die Verwendung mit Logi-Elementen stammen diese in der Regel aus GPX- oder KML-Dateien, bei denen es sich um GIS-Industriestandard-XML-Datendateien handelt. In Logi Info werden spezielle Datenschichten bereitgestellt, um diese Dateien zu lesen. Aufgrund ihres öffentlichen Charakters sind diese Daten häufig im Internet frei verfügbar. Daten sind auch weit verbreitet in Shapefiles, ein beliebtes Geodatenvektorformat für GIS-Daten. Zum Konvertieren von Shapefiles in GPX- oder KML-Datendateien stehen Softwaretools zur Verfügung, die in Map Polygons beschrieben werden. Geografische Daten können auch mithilfe von DataLayer aus SQL-Datenbanktabellen abgerufen werden. Weitere Informationen finden Sie im selben Thema zu Polygonen.


Werkzeuge für die GIS-Datenkonvertierung

Wie zu Beginn dieses Themas erwähnt, werden GIS-Daten zur Beschreibung der geografischen Regionsgrenzen in Logi Info entweder als GPX oder KML Datei. Darüber hinaus sind Daten auch in Shapefiles (SHP) weit verbreitet. Beachten Sie, dass diese Dateien die Standard-Mercator-Projektion verwenden müssen, die auf der WGS 1984 Ellipsoid-Projektion basiert. Google Maps erfordert beispielsweise "kegelförmige" Projektionen, die nicht funktionieren.

Eine Suche im Internet wird viele Treffer nach kostenlosen und kostenpflichtigen Softwaretools ergeben, die GIS-Daten in diese Formate konvertieren können. Logi Analytics befürwortet oder empfiehlt kein bestimmtes Tool ausdrücklich, aber wir haben mit dem Folgenden experimentiert.

  Die folgenden Ressourcen werden Ihnen aus Höflichkeit zur Verfügung gestellt. Es handelt sich um externe Ressourcen, die nicht mit Logi verbunden sind, und wir können nicht garantieren, dass die bereitgestellten Links funktionsfähig bleiben. Entwickler werden ermutigt, im Internet nach ihren eigenen Ressourcen zu suchen.

SHP2KML 2.0

Das unter http://www.zonums.com/shp2kml.html verfügbare Programm SHP2KML (Freeware) konvertiert eine SHP-Datei in eine Google-KML-Datei.

GPSBabel

Das GPSBabel-Programm (lizenziert unter GNU - sollte aber für fast jeden Gebrauch außer der Weiterverbreitung geeignet sein) ist unter http://www.gpsbabel.org/ verfügbar und konvertiert KML in das GPX-Format.

GPS-Visualisierung

http://www.gpsvisualizer.com/convert_input?convert_output=gpx
Dies ist ein kostenloses Online-Konvertierungstool, das wahrscheinlich für kleine Dateien geeignet ist, aber nicht für größere.

ExperteGPS

ExpertGPS macht es sehr einfach, SHP-Dateien in GPX- oder KML-Formate zu konvertieren und ist verfügbar unter http://www.expertgps.com/

Das Programm ist nicht kostenlos, aber relativ günstig (74,95 US-Dollar für den persönlichen Gebrauch) und als 30-Tage-Testversion erhältlich. Das Programm macht es sehr einfach, zwischen SHP und anderen Dateiformaten zu konvertieren.

Wenn Sie eine ZIP-Datei herunterladen, die SHP-Dateien enthält, enthält sie drei Dateien. Sie müssen alle drei Dateien in einen Ordner entpacken und dann die "Import"-Funktion des ExpertGPS-Programms verwenden, um die GPX-Datei zu generieren (Sie wählen nur die .shp-Datei zum Importieren aus, aber der Prozess liest aus den anderen beiden Dateien um die entsprechenden Labels und andere Metadaten zu erhalten). Um die entsprechende GPX-Datei zu erstellen, damit Logi Info funktioniert, müssen Sie sicherstellen, dass Sie das Feld "Beschreibung" mit dem Grenznamen aus der SHP-Datei ausfüllen (z. B. Postleitzahl, Landkreis usw.). Es wird empfohlen, alle andere Felder leer, um die kleinstmögliche GPX-Datei zu erstellen.


Polylinien

Polyliniendaten bestehen aus einer Reihe von Punkten (Scheitelpunkten), die durch Linien verbunden sind. Polyline-Datenobjekte können in Visual MODFLOW Flex zum Definieren von Geometrie und zum Zuweisen von Attributen zu linearen Randbedingungen verwendet werden, wie z. B. Fluss- und Drain-Randbedingungen. Polylinien können auch nützlich sein, um geografische Merkmale wie Fluss- und Straßennetze zu visualisieren.

Visual MODFLOW Flex unterstützt die folgenden Dateitypen für Polyliniendaten.

Führen Sie die folgenden Schritte aus, um Polyliniendaten zu importieren:

• Klicken Sie mit der rechten Maustaste in den Daten-Explorer und wählen Sie Daten importieren. aus dem Popup-Menü.

• Wählen Sie Polyline aus der Dropdown-Liste Datentyp.

• Klicken Sie auf [. ]-Taste und suchen Sie die Quelldatei.

• Geben Sie einen Namen und eine Beschreibung ein und klicken Sie dann auf [Weiter], um fortzufahren.

Der nächste Schritt umfasst die Auswahl des Koordinatensystems der Quelldatei und hängt davon ab, welcher Dateityp für die Quelldatei ausgewählt wurde.

Wenn sich bei .SHP-Dateien die zugehörige .PRJ-Datei am selben Speicherort wie die Quelldatei befindet, kann Visual MODFLOW Flex automatisch das Koordinatensystem der Quelldaten erkennen und führt eine Geotransformation durch, wenn das Koordinatensystem von dem in die Projekteinstellungen. Wenn eine .PRJ-Datei fehlt, werden Sie aufgefordert, das Koordinatensystem für die zu importierenden Daten auszuwählen.

Bei .DXF-Dateien werden Sie immer aufgefordert, das Koordinatensystem der ausgewählten Quelldatei auszuwählen.

Klicken Sie auf die Schaltfläche [Weiter], um fortzufahren.

Wenn der Dateityp .SHP ist, besteht der nächste Schritt darin, Attribute zu erstellen. Wenn Sie aus einer .DXF-Datei importieren, können Sie diesen Schritt überspringen.

Wenn die Datei, die Sie importieren möchten, ein 3D-Shapefile (mit definierter Höhe) ist, sollte Visual MODFLOW Flex dies automatisch erkennen, und Sie sollten das Höhenattribut in diesem Schritt nicht zuordnen müssen. Sie können auch ein Attributfeld als Quelle für Höheninformationen angeben. Zum Beispiel, wenn Sie Konturinformationen haben.

In diesem Dialogfeld können Sie Shapefile-Attribute importieren. Um ein neues Attribut zu erstellen, klicken Sie auf die Schaltfläche Neues Attribut hinzufügen. Bei Auswahl wird der Datenzuordnungstabelle eine neue Zeile hinzugefügt.

Wählen Sie in der Spalte Map_to das gewünschte Attributfeld in den Quelldaten aus dem Kombinationsfeld aus. Wiederholen Sie dies für zusätzliche Attribute. Sie können ein zugeordnetes Attribut löschen, indem Sie die Zeile aus der Tabelle Datenzuordnung auswählen und dann auf die Schaltfläche Löschen klicken.

Eine Beschreibung der Spalten "Einheitenkategorie", "Einheit", "Multiplikator" und "Datentyp" finden Sie im Abschnitt "Datenzuordnung".

Klicken Sie auf die Schaltfläche [Weiter], um fortzufahren.

Der letzte Schritt umfasst die Validierung der importierten Daten. Dieser Schritt stellt sicher, dass der Datensatz gültige Daten für jede der zugeordneten Spalten enthält.

Bei .SHP-Dateien finden Sie im Abschnitt "Datenvalidierung" weitere Informationen zum Schritt der Datenvalidierung.

Für .DXF-Dateien wird der folgende Dialog angezeigt, der die Anzahl der Polylinien angibt, die aus der Quelldatei erstellt werden.

Klicken Sie auf die Schaltfläche [Fertig stellen], um den Polygon-Importvorgang abzuschließen. Nach dem Import wird dem Daten-Explorer ein Polylinien-Datenobjekt hinzugefügt.

Sie können Ihre Polylinien-Datenobjekte visualisieren, indem Sie sie in einem 2D- oder 3D-Viewer oder der Layer-Ansicht innerhalb des numerischen Workflows anzeigen. Zum Beispiel ein DXF der Flüsse:

Sie können die Stileinstellungen für das DXF in jedem der Viewer anpassen. Weitere Informationen zum Anpassen finden Sie im Abschnitt Punkte, Polylinien und Polygone.


So exportieren Sie in KML (Keyhole Markup Language)

Von:

KML ist ein Dateiformat, das verwendet wird, um geografische Daten in internetbasierten, zweidimensionalen Karten und dreidimensionalen Earth-Browsern anzuzeigen.

So exportieren Sie Zeichnungsobjekte in die Keyhole Markup Language (KML)

  1. Geben Sie in der Befehlszeile MAPEXPORT ein und drücken Sie <ENTER>.
  2. Wählen Sie im Dialogfeld Exportspeicherort das Google KML-Dateiformat und einen Speicherort für die exportierten Dateien aus.
  3. Geben Sie im Dialogfeld Exportieren an, wie Objekte exportiert werden sollen. Um zuvor gespeicherte Einstellungen zu verwenden, klicken Sie auf Laden und wählen Sie das Profil mit den Einstellungen aus.
  4. Geben Sie auf der Registerkarte Auswahl die zu exportierenden Objekte an.
    • Um eine Teilmenge von Objekten auszuwählen, klicken Sie auf Manuell auswählen und wählen Sie entweder Objekte auswählen oder Schnellauswahl .
    • Um die Auswahl so zu filtern, dass nur Objekte auf bestimmten Layern oder in bestimmten Klassen exportiert werden, geben Sie die einzuschließenden Layer und Klassen an.
    • Um Polygone aus einer Polygontopologie zu exportieren, wählen Sie die Topologie aus.
    • Um eine Vorschau der zu exportierenden Objekte anzuzeigen, klicken Sie auf Vorschau der gefilterten Auswahl .
  5. Klicken Sie auf der Registerkarte Daten auf Attribute auswählen und wählen Sie die Daten aus, die mit den Objekten exportiert werden sollen.


Konvertieren von Polyliniendaten in Polygone? - Geografisches Informationssystem

In den Beispielen in den vorangegangenen Kapiteln lagen Geodaten in Form einzelner Variablen vor. Die Mapping Toolbox™ Software bietet auch eine einfache Möglichkeit zum Anzeigen, Extrahieren und Bearbeiten von Sammlungen von Vektorkartenfunktionen, die in . organisiert sind geografische Datenstrukturen .

Eine geografische Datenstruktur ist ein MATLAB ®-Struktur-Array mit einem Element pro geografischem Feature. Jedes Feature wird durch Koordinaten und Attribute dargestellt. Eine geografische Datenstruktur, die geografische Koordinaten (Breiten- und Längengrad) enthält, heißt a Geostruktur, und eines, das Kartenkoordinaten enthält (projiziert x und ja ) heißt a mapstruct. Geografische Datenstrukturen enthalten nur Vektor-Features und können nicht zum Speichern von Raster-Daten (normale oder geolokalisierte Datengitter oder Bilder) verwendet werden.

Shapefiles

Geografische Datenstrukturen entstehen am häufigsten, wenn Vektorgeodaten aus einem Shapefile importiert werden. Das Environmental Systems Research Institute hat das Shapefile-Format für Vektor-Geodaten entwickelt. Shapefiles codieren Koordinaten für Punkte, Multipoints, Linien oder Polygone zusammen mit nicht-geometrischen Attributen.

Ein Shapefile speichert Attribute und Koordinaten in separaten Dateien. Es besteht aus einer Hauptdatei, einer Indexdatei und einer xBASE-Datei. Alle drei Dateien haben denselben Basisnamen und werden durch die Erweiterungen .shp , .shx bzw. .dbf unterschieden. (Bei einem gegebenen Basisnamen 'concord_roads' wären die Shapefile-Dateinamen beispielsweise 'concord_roads.shp' , 'concord_roads.shx' und 'concord_roads.dbf' ).

Der Inhalt geografischer Datenstrukturen

Die shaperead-Funktion liest Vektormerkmale und -attribute aus einem Shapefile und gibt ein geographisches Datenstrukturarray zurück. Die Funktion shaperead ermittelt die Namen der Attributfelder zur Laufzeit aus der Shapefile-xBASE-Tabelle oder aus optionalen, benutzerdefinierten Parametern. Wenn ein Shapefile-Attributname nicht direkt als Feldname verwendet werden kann, weist shaperead dem Feld einen entsprechend geänderten Namen zu, normalerweise durch Ersetzen von Leerzeichen durch Unterstriche.

Felder in einer geografischen Datenstruktur

Einer der folgenden Formtypen: 'Point' , 'MultiPoint' , 'Line' oder 'Polygon' .

Gibt die minimalen und maximalen Feature-Koordinatenwerte in jeder Dimension in der folgenden Form an:

[ min ( X ) min ( Y ) max ( X ) max ( Y ) ]

Entfällt bei Formtyp 'Punkt' .

1-mal-N-Array der Klasse double

Zeichenvektor oder Skalarzahl

Attributname, Typ und Wert.

Optional. Normalerweise gibt es mehrere Attribute.

Die Shaperead-Funktion funktioniert nicht unterstützt alle 3D- oder "gemessenen" Formtypen: 'PointZ' , 'PointM' , 'MultipointZ' , 'MultipointM' , 'PolyLineZ' , 'PolyLineM' , 'PolygonZ' , 'PolylineM' oder 'Multipatch' . Obwohl 'Null Shape'-Features in einem 'Point'-, 'Multipoint'-, 'PolyLine'- oder 'Polygon'-Shapefile vorhanden sein können, werden sie ignoriert.

PolyLine- und Polygon-Formen

In geografischen Datenstrukturen mit Linien- oder Polygongeometrien können einzelne Features aus mehreren Teilen, getrennten Liniensegmenten und Polygonringen bestehen. Die Teile können Innenringe gegen den Uhrzeigersinn umfassen, die "Löcher" umreißen. Eine Veranschaulichung hierzu finden Sie unter Erstellen und Anzeigen von Polygonen. Jeder getrennte Teil ist vom nächsten durch ein NaN innerhalb der X- und Y- (oder Lat- und Lon)-Vektoren getrennt. Sie können die isShapeMultipart-Funktion verwenden, um zu bestimmen, ob ein Feature über NaN-getrennte Teile verfügt.

Jedes Multipoint- oder NaN-separierte Multipart-Linien- oder Polygon-Objekt bildet ein einzelnes Feature und hat somit einen Zeichenvektor oder skalaren Double-Wert pro Attributfeld. Es ist nicht möglich, den verschiedenen Teilen eines solchen Features unterschiedliche Attribute zuzuweisen. Jeder Zeichenvektor oder ein numerisches Attribut, das mit dem Geostruct oder Mapstruct importiert (oder nachträglich hinzugefügt) wird, gilt für alle Teile des Features in Kombination.

Mapstructs und Geostructs

Standardmäßig gibt shaperead ein Mapstruct zurück, das X- und Y-Felder enthält. Dies ist sinnvoll, wenn die Datensatzkoordinaten bereits projiziert sind (in einem Kartenkoordinatensystem). Andernfalls, wenn die Koordinaten des Datensatzes nicht projiziert sind (in einem geografischen Koordinatensystem), verwenden Sie das Parameter-Wert-Paar 'UseGeoCoords',true, damit shaperead eine Geostruktur mit Lon- und Lat-Feldern zurückgibt.

Koordinatentypen. Wenn Sie nicht wissen, ob ein Shapefile geografische Koordinaten oder Kartenkoordinaten verwendet, können Sie Folgendes ausprobieren:

Wenn das Shapefile eine Projektionsdatei ( .prj ) enthält, verwenden Sie shapeinfo, um Informationen zum Koordinatenreferenzsystem abzurufen. Wenn das Feld CoordinateReferenceSystem der zurückgegebenen Struktur ein projcrs-Objekt ist, haben Sie Kartenkoordinaten. Wenn das Feld ein Geocrs-Objekt ist, haben Sie geografische Koordinaten.

Wenn das Shapefile keine Projektionsdatei enthält, verwenden Sie shapeinfo, um die BoundingBox zu erhalten. Wenn Sie sich die Koordinatenbereiche ansehen, können Sie möglicherweise feststellen, welche Art von Koordinaten Sie haben.

Die Geoshow-Funktion zeigt in Geostructs gespeicherte geografische Merkmale an, und die Mapshow-Funktion zeigt in Mapstructs gespeicherte geografische Merkmale an. Wenn Sie versuchen, ein Mapstruct mit geoshow anzuzeigen, gibt die Funktion eine Warnung aus und ruft mapshow auf. Wenn Sie versuchen, ein Geostrukt mit mapshow anzuzeigen, projiziert die Funktion die Koordinaten mit einer Plate-Carree-Projektion und gibt eine Warnung aus.

Untersuchen einer geografischen Datenstruktur

Hier ist ein Beispiel für ein ungefiltertes Mapstruct, das von shaperead zurückgegeben wird:

Die Ausgabe sieht wie folgt aus:

Das Shapefile enthält 609 Features. Zusätzlich zu den Feldern Geometry , BoundingBox und Koordinaten ( X und Y ) gibt es fünf Attributfelder: STREETNAME , RT_NUMBER , CLASS , ADMIN_TYPE und LENGTH .

Die Ausgabe sieht wie folgt aus:

Dieses Mapstruct enthält 'Linien'-Features. Die zehnte Zeile hat neun Scheitelpunkte. Die Werte der ersten beiden Attribute sind Zeichenvektoren. Der zweite ist zufällig ein leerer Zeichenvektor. Die letzten drei Attribute sind numerisch. Über die Elemente von S hinweg können X und Y verschiedene Längen haben, aber STREETNAME und RT_NUMBER müssen immer Zeichenvektoren enthalten, und CLASS, ADMIN_TYPE und LENGTH müssen immer skalare Doubles enthalten.

In diesem Beispiel gibt shaperead ein ungefiltertes Mapstruct zurück. Wenn Sie einige Attribute herausfiltern möchten, finden Sie weitere Informationen unter Auswählen von zu lesenden Shapefile-Daten.

Wie man geografische Datenstrukturen konstruiert

Funktionen wie shaperead oder gshhs geben beim Importieren von Vektorgeodaten Geostrukturen zurück. Unter bestimmten Umständen möchten Sie jedoch möglicherweise selbst Geo- oder Mapstructs erstellen. Du könntest zum Beispiel importieren Vektorgeodaten, die nicht in einem Shapefile gespeichert sind (z. B. aus einer MAT-Datei, aus einer Microsoft ® Excel ®-Tabelle oder durch Einlesen einer Textdatei mit Trennzeichen). Du könntest auch berechnen Vektorgeodaten und -attribute durch Aufruf verschiedener MATLAB- oder Mapping Toolbox-Funktionen. In beiden Fällen sind die Koordinaten und andere Daten typischerweise Vektoren oder Matrizen im Arbeitsbereich. Das Packen von Variablen in ein Geostruct oder Mapstruct kann das Kartieren und Exportieren erleichtern, da geografische Datenstrukturen gegenüber Koordinatenarrays mehrere Vorteile bieten:

Alle zugehörigen Geodatenvariablen sind in einem Container, einem Struktur-Array, verpackt.

Die Struktur ist durch ihre Feldnamen selbstdokumentierend.

Sie können die Kartensymbologie für Punkte, Linien und Polygone entsprechend ihren Attributwerten variieren, indem Sie a Symbolspezifikation zum Anzeigen des Geo- oder Mapstructs.

Zwischen Strukturelementen und geografischen Merkmalen besteht eine Eins-zu-Eins-Entsprechung, die sich auf die Kinder von hggroup-Objekten erstreckt, die von mapshow und geoshow konstruiert wurden.

Diese Vorteile zu erreichen ist nicht schwer. Verwenden Sie das folgende Beispiel als Leitfaden für das Packen von Vektorgeodaten, die Sie importieren oder erstellen, in geografische Datenstrukturen.

Erstellen von Punkt- und Linien-Geostrukturen

Im folgenden Beispiel wird zunächst ein Punkt-Geostruct erstellt, das drei Städte auf verschiedenen Kontinenten enthält, und mit geoshow geplottet. Dann erstellt es ein Liniengeostrukt, das Daten für Großkreis-Navigationsspuren enthält, die diese Städte verbinden. Schließlich zeichnet es diese Linien mit einer Symbolspezifikation.

Beginnen Sie mit einem kleinen Satz von Punktdaten, ungefähren Breiten- und Längengraden für drei Städte auf drei Kontinenten:

Erstellen Sie eine Punkt-Geostruktur, die die folgenden erforderlichen Felder aufweisen muss:

Geometrie (in diesem Fall 'Punkt')

Lat (für Punkte ist dies ein skalares Double)

Lon (für Punkte ist dies ein skalares Double)

Zeigen Sie das Geostruktur auf einer Mercator-Projektion der Landmassen der Erde an, die im Shapefile landareas.shp gespeichert sind, und legen Sie Kartengrenzen fest, um Polarregionen auszuschließen:

Erstellen Sie als Nächstes ein Linien-Geostruct, um Großkreis-Navigationsspuren zwischen den drei Städten zu verpacken:

Berechne die Längen der Großkreisspuren:

Ordnen Sie die drei Spuren im Liniengeostruktur zu:

Sie können die gerade erstellten Geostrukturen als Shapefiles speichern, indem Sie shapewrite mit einem Dateinamen Ihrer Wahl aufrufen, zum Beispiel:

Erstellen von Polygon-Geostrukturen

Das Erstellen eines Geostructs oder Mapstructs für Polygondaten ähnelt dem Erstellen eines Geostructs oder Mapstructs für Punkt- oder Liniendaten. Wenn Ihre Polygone jedoch mehrere, durch NaN getrennte Teile enthalten, denken Sie daran, dass sie nur einen Wert pro Attribut haben können, nicht einen Wert pro Teil. Jedes Attribut, das Sie in einem Strukturelement für ein solches Polygon platzieren, bezieht sich auf alle seine Teile. Das heißt, wenn Sie eine Inselgruppe definieren, zum Beispiel mit einer einzelnen NaN-getrennten Liste für jede Koordinate, beschreiben alle Attribute für dieses Element die Inseln als Gruppe, nicht als einzelne Inseln. Wenn Sie einer bestimmten Insel Attribute zuordnen möchten, müssen Sie für diese Insel ein eigenes Strukturelement bereitstellen.

Beachten Sie, dass die Reihenfolge der Polygonscheitelpunkte wichtig ist. Wenn Sie Polygondaten kartieren, hat die Richtung, in der Polygone durchlaufen werden, Bedeutung dafür, wie sie von Funktionen wie geoshow , mapshow und mapview gerendert werden. Die richtige Ausrichtung ist besonders wichtig, wenn Polygone Löcher enthalten. Die Konvention der Mapping Toolbox kodiert die Koordinaten der äußeren Ringe (z. B. Kontinent- und Inselumrisse) im Uhrzeigersinn, die Reihenfolge gegen den Uhrzeigersinn wird für innere Ringe (z. B. Seen und Binnenmeere) verwendet. Innerhalb des Koordinatenfeldes ist jeder Ring durch ein NaN vom vorhergehenden getrennt.

Beim Plotten mit mapshow oder geoshow werden die Ringe im Uhrzeigersinn gefüllt. Ringe im Gegenuhrzeigersinn sind nicht gefüllt, da durch solche Löcher keine zugrunde liegende Symbologie sichtbar wird. Um sicherzustellen, dass Außen- und Innenring gemäß obiger Konvention korrekt codiert sind, können Sie die folgenden Funktionen aufrufen:

ispolycw — Wahr, wenn die Eckpunkte der polygonalen Kontur im Uhrzeigersinn geordnet sind

poly2cw — Konvertieren von polygonalen Konturen in eine Reihenfolge im Uhrzeigersinn

poly2ccw — Konvertieren von polygonalen Konturen in eine Reihenfolge gegen den Uhrzeigersinn

poly2fv — Konvertieren eines polygonalen Bereichs in eine Flächen-Scheitelpunktform zur Verwendung mit Patch, um Polygone mit Löchern richtig zu rendern

Drei dieser Funktionen überprüfen oder ändern die Anordnung von Scheitelpunkten, die ein Polygon definieren, und die vierte wandelt Polygone mit Löchern in eine völlig andere Darstellung um.

Ein Beispiel für die Arbeit mit Polygon-Geostrukturen finden Sie unter Konvertieren von Küstenliniendaten (GSHHG) in das Shapefile-Format.

Mapping Toolbox Version 1 Anzeigestrukturen

Vor Version 2, als Geostructs und Mapstructs eingeführt wurden, wurde beim Importieren von Geodaten aus bestimmten externen Formaten eine andere Datenstruktur verwendet, um sie für Kartenanzeigefunktionen zu kapseln. Diese Anzeigestrukturen sowohl Raster- als auch Vektorkartendaten und andere Arten von Objekten, aber nicht die Allgemeingültigkeit der aktuellen Geostructs und Mapstructs zum Darstellen von Vektor-Features und werden aus der Toolbox entfernt. Sie können jedoch Anzeigestrukturen, die Vektor-Geodaten enthalten, mithilfe von updategeostruct in die Geostrukturform konvertieren. Weitere Informationen zu Anzeigestrukturen der Version 1 und deren Verwendung finden Sie unter Anzeigestrukturen der Version 1 auf der Referenzseite für displaym . Weitere Informationen finden Sie auf den Referenzseiten für updategeostruct, Extractm und mlayers.


So importieren Sie Keyhole Markup Language (KML)-Dateien

Von:

KML ist ein Dateiformat, das verwendet wird, um geografische Daten in internetbasierten, zweidimensionalen Karten und dreidimensionalen Earth-Browsern anzuzeigen.

So importieren Sie aus Google KML

  1. Klicken Sie auf Registerkarte Einfügen Gruppe Importieren Kartenimport .
  2. Wählen Sie im Dialogfeld Speicherort importieren unter Dateityp die Option Google KML aus.
  3. Wählen Sie die zu importierende Datei oder den Ordner aus. OK klicken .
  4. Geben Sie im Dialogfeld Importieren unter Räumlicher Filter an, ob der Bereich eingeschränkt werden soll, in den Daten importiert werden:
    • Keine – Platzieren Sie keine Bereichsbegrenzungen für die eingehende Datei.
    • Aktuelle Anzeige — Beschränken Sie den Import auf den aktuellen Zeichenbereich.
    • Fenster definieren – Beschränken Sie den Import auf einen von Ihnen definierten Bereich. Um diese Option zu verwenden, klicken Sie auf Auswählen . Beantworten Sie die Aufforderungen, um den Bereich zu definieren.
  5. Legen Sie die Importeinstellungen für jeden Eingabe-Layer fest (weitere Informationen finden Sie im Dialogfeld Importieren).
    • Zeichnungsebene – Wählen Sie eine Zielebene für jede Ebene in der eingehenden Datei aus.
    • Objektklasse – Weisen Sie eingehende Objekte einer vorhandenen Objektklasse zu und ordnen Sie eingehende Attributdaten den Datenfeldern in der Objektklasse zu. Die Felder "Objektklasse" sind nur verfügbar, wenn in Ihrer Map Objektklassen definiert sind.
    • Eingabekoordinatensystem – Geben Sie das Koordinatensystem der eingehenden Datei an. Wenn der Zeichnung ein Koordinatensystem zugewiesen ist, werden eingehende Objekte in das Koordinatensystem der Zeichnung konvertiert.
    • Daten – Geben Sie für jeden Layer an, wie Daten importiert werden.
    • Punkte – Geben Sie für jeden Layer an, wie eingehende Punktobjekte behandelt werden sollen.
  6. Standardmäßig werden Polygone als Polygonobjekte importiert. Um sie als geschlossene Polylinien zu importieren, wählen Sie Polygone als geschlossene Polylinien importieren .
  7. Klicken Sie auf OK, um den Importvorgang zu starten.

Schau das Video: flixo - Tutorial: Konvertieren der DXF-Daten und Korrektur von Problemstellen DE