Mehr

Wie zähle ich Polygone in Multipart-Features?


Ich versuche, die Anzahl der Polygone in einem Multipart-Feature zu zählen. Mein Ziel ist es, ein 'count'-Attribut zu haben, um die Fragmentierung von mehrteiligen Landparzellen zu quantifizieren.

Ich habe mir den Feldrechner und geeignete Plugins angeschaut, kann aber nichts sehen, was helfen würde. Es gibt viele Möglichkeiten, Punkte, Linien und Scheitelpunkte zu zählen, aber keine Polygone.


Ich weiß, dass Sie nach einer Antwort suchen, die QGIS verwendet, aber wenn Sie stattdessen die Open-Source-GIS Whitebox Geospatial Analysis Tools verwenden möchten, finden Sie hier eine vollständige Antwort, die ein beliebiges Shapefile verwendet und ein neues Attributfeld erstellt in seiner Tabelle, die die Anzahl der Feature-Teile enthält. Sie müssen lediglich das Scripter-Fenster in Whitebox öffnen, die Skriptsprache in Groovy ändern und den folgenden Code einfügen:

import whitebox.geospatialfiles.ShapeFile import whitebox.geospatialfiles.shapefile.* import whitebox.geospatialfiles.shapefile.attributes.* def inputFileName = "/MY_DIRECTORY/MY_FILE_NAME.shp" def shape = new ShapeFile(inputFileName) AttributeTable table = shape.getAttributeTable ) DBFField field = new DBFField() field.setName("NUM_PARTS") field.setDataType(DBFField.DBFDataType.NUMERIC) field.setFieldLength(5) field.setDecimalCount(0) table.addField(field) for (int i = 0 ; i < shape.getNumberOfRecords(); i++) { ShapeFileRecord record = shape.getRecord(i) int numParts = record.getGeometry().getParts().length recData = table.getRecord(i) recData[recData.length - 1 ] = new Double(numParts) table.updateRecord(i, recData) } println("Ich bin fertig")

Sie müssen den Wert der Variablen inputFileName oben aktualisieren, um auf Ihre Datei zu verweisen. Sie könnten auch Python verwenden, um dasselbe zu erreichen, aber ich habe dies in Groovy geschrieben. Wenn Sie möchten, kann ich das Skript auch Lochteile ausschließen lassen, wenn Sie mit Polygonen arbeiten.

Hier ist ein Beispiel für eine gerenderte Weltlandkarte, die die Anzahl der Teile anzeigt, die das Polygon-Feature jedes Landes enthält:


4 Jahre später scheint es, als ob QGIS diese Funktion in den Feldrechner integriert hat. Die Ausdruckssyntax lautet:

num_geometries($geometry)


Wenn QGIS das einzige verfügbare Werkzeug ist Der folgende Python-Code in der Python-Konsole könnte den Zweck erfüllen:

layer = iface.activeLayer() für x in layer.getFeatures(): Geometrie = x.geometry().asMultiPolygon() print len(geometry)

Natürlich ist dies keine vollständige Lösung, es werden nur eine Reihe von Zahlen gedruckt, ohne anzugeben, zu welcher Funktion sie gehören, aber es ist ein Anfang. Sie können auch das Feld 'NAME' oder ein anderes bevorzugtes Schlüsselattribut drucken lassen. Oder Sie könnten ändern, um die ganze Zahl len(geometry) in ein anderes Feld in der Ebene zu schreiben.


Eine andere Nicht-QGIS-Lösung ist die Verwendung von OpenJUMP. Es hat ein spezielles Werkzeug in Tools - Statistik - Feature-Statistik. Das Werkzeug erstellt einen neuen Layer mit diesen Attributen:

  • nPts (Anzahl der Scheitelpunkte)
  • nLöcher (Anzahl der Löcher)
  • nKomponenten (Anzahl der Komponenten)
  • Bereich
  • Länge
  • Typ (Typ oder Geometrie)

Wenn Sie die Anzahl der Polygone in Multipolygonen zählen möchten, sollte dieses Werkzeug die Arbeit gut machen. Wenn Sie jedoch zählen möchten, wie viele Polygone in GeometryCollections enthalten sind, die auch andere Arten von Geometrien enthalten, müssen Sie die Sammlungen zuerst auflösen.


Sie können versuchen, mehrere Polygone in eindeutige Polygone zu zerlegen und dann die Attributtabelle öffnen und die Anzahl der Linien (die die Anzahl der Polygone darstellt) beobachten.

So trennen Sie Multipolygone:Vektor->Geometriewerkzeuge->Mehrteilig zu Einzelteilen


Bitte beachten Sie, dass die digitalen Daten die Rechtslage des einzutragenden Titels genau wiedergeben müssen.

Wenn ein Antrag auf freiwillige Registrierung eingereicht wird, der digitale Daten als Alternative zu papierbasierten Plänen verwendet, muss der Antrag eine .pdf-Datei enthalten, um die Zuordnung der Themen zu erleichtern. Unter diesen Umständen führt die Nichtbereitstellung der .pdf-Datei zur Ablehnung des Antrags.

Wenn in einem Antrag papierbasierte Pläne / Urkunden zur Festlegung des Umfangs verwendet werden, aber auch digitale Daten eingereicht werden, wäre es von Vorteil, wenn auch ein .pdf des Layouts zur Verwendung als visuelle Darstellung eingereicht wird. Die .pdf-Datei kann einen kleineren Maßstab aufweisen als für papierbasierte Pläne erforderlich, da sie eine rein visuelle Darstellung der registrierten Subjekte ist. Wird unter solchen Umständen keine PDF-Datei bereitgestellt, wird der Antrag jedoch nicht abgelehnt.

Wenn im Rahmen einer Bewerbung digitale Daten eingereicht werden, sollten diese per E-Mail an [email protected] gesendet werden. Auf die Übermittlung digitaler Daten per E-Mail ist im Abschnitt „Weitere Informationen“ des Antragsformulars zu vermerken und das Aktenzeichen anzugeben.


Syntax

Die zu aggregierenden Polygon-Features. Wenn es sich um einen Layer handelt, der auf eine Repräsentation verweist, und Shape-Overrides in den Eingabe-Features vorhanden sind, werden die überschriebenen Shapes, nicht die Feature-Shapes, bei der Aggregationsverarbeitung berücksichtigt.

Die zu erstellende Ausgabe-Feature-Class.

Der Abstand, der zwischen Polygongrenzen eingehalten werden muss, damit die Aggregation stattfindet. Es muss ein Abstand angegeben werden, der größer als Null sein muss. Sie können eine bevorzugte Einheit auswählen, die Standardeinheit ist die Funktionseinheit.

Die Mindestfläche für ein aggregiertes Polygon, die beibehalten werden soll. Der Standardwert ist Null, dh alle Polygone werden beibehalten. Sie können eine bevorzugte Einheit angeben, die Standardeinheit ist die Funktionseinheit.

Die Mindestgröße eines Polygonlochs, die beibehalten werden soll. Der Standardwert ist Null, dh alle Polygonlöcher werden beibehalten. Sie können eine bevorzugte Einheit angeben, die Standardeinheit ist die Funktionseinheit.

Gibt die Charakteristik der Ausgabe-Features beim Erstellen der aggregierten Grenzen an.

  • NON_ORTHOGONAL —Es werden organisch geformte Ausgabe-Features erstellt. Dies ist für natürliche Merkmale wie Vegetation oder Bodenpolygone geeignet. Dies ist die Standardeinstellung.
  • ORTHOGONAL —Orthogonal geformte Ausgabe-Features werden erstellt. Diese Option eignet sich zum Beibehalten der geometrischen Eigenschaften von anthropogenen Eingabe-Features, wie z. B. Gebäudegrundrisse.

Die Layer mit den Linien- oder Polygon-Features, die Aggregationsbarrieren für Eingabe-Features darstellen. Features werden nicht über Barriere-Features hinweg aggregiert. Barrier-Features, die in geometrischen Konflikten mit Eingabe-Features stehen, werden ignoriert.

Eine 1:n-Beziehungstabelle, die die aggregierten Polygone mit ihren Quell-Polygon-Features verknüpft. Diese Tabelle enthält zwei Felder, OUTPUT_FID und INPUT_FID, in denen die aggregierten Feature-IDs bzw. ihre Quell-Feature-IDs gespeichert werden. Verwenden Sie diese Tabelle, um die erforderlichen Attribute für die Ausgabe-Features aus ihren Quell-Features abzuleiten. Der Standardname für diese Tabelle ist der Name der Ausgabe-Feature-Class, angehängt mit _tbl. Der Standardpfad ist mit der Ausgabe-Feature-Class identisch. Wenn dieser Parameter leer gelassen wird, wird keine Tabelle erstellt.


Diagramm (links): Hydrographisches Polygon vor dem Split Narrow Polygons-Prozess. Diagramm (rechts): Nach dem Split Narrow Polygons-Prozess wird das hydrographische Polygon in Abschnitte unterteilt, deren Breite weniger als 15 Meter beträgt.

Dieses Werkzeug dient zum Identifizieren von Teilen von Polygon-Features, die zu schmal sind, um in einem bestimmten Maßstab visuell unterscheidbar zu sein. Die Mindestbreite ist ein Hinweis auf den kürzesten Abstand zwischen Polygonkanten, der für die Anzeige im Ausgabemaßstab sinnvoll ist.

Der Ausgabe-Feature-Class werden Felder hinzugefügt, die Informationen zu jedem geteilten Polygon enthalten.

  • split_type —Gibt an, welcher Bereichstyp identifiziert wird.
    • 0 – Als schmaler Bereich identifiziert
    • 1 – Nicht als enger Bereich identifiziert
    • 2 – Als schmaler Bereich identifiziert, fällt aber unter die Mindestlänge
    • 3 – Nicht als schmaler Bereich identifiziert, fällt aber unter die Mindestlänge
    • 4—Verjüngte Funktion
    • split_length —Die Länge des Segments, das geteilt wird.

    Der Parameter Minimale Länge ist die kürzeste Distanz, die zwischen Polygonen bestehen sollte, undoder die kürzeste Länge, die für ein einzelnes Polygon in einem Maßstab angezeigt werden sollte. Wenn Sie sich beispielsweise entschieden haben, die Polygone split_type 2 (schmale Polygone kürzer als die Mindestlänge) durch eine Mittellinie zu ersetzen und alle split_type 3-Polygone (breite Polygone kürzer als die Mindestlänge) anzuzeigen, kann dies zu einer Reihe kleiner Polygone verbunden mit kurzen Liniensegmenten. Abhängig von Ihren gewünschten Ergebnissen können Sie split_type 2-Polygone als sichtbar belassen oder die Polygone puffern, um sicherzustellen, dass sie die Mindestbreite erfüllen.

    Der Parameter Taper Length wird für hydrographische Polygone bereitgestellt. Wenn ein schmaler Abschnitt eines Flusspolygons entfernt wird, wird er normalerweise in kleineren Maßstäben als Flussmittellinie angezeigt, um die visuelle Konnektivität des hydrografischen Netzwerks beizubehalten. An der Stelle, an der das Polygon schmaler wird, kann ein spitzes Ende oder eine Verjüngung erstellt werden, um einen glatten Übergang vom Polygon zur angezeigten Mittellinie zu gewährleisten. Wenn eine Taper-Länge von 0 angegeben wird, werden keine Polygone mit split_type von 4 erstellt. Alle anderen split_type-Werte werden mit geraden Enden erstellt.

    Die Integrität der Ergebnisse dieses Tools hängt von der topologischen Integrität der Eingaben ab. Beachten Sie die folgenden Anforderungen und Vorschläge für Eingabedaten:

    • Leere oder Null-Geometrie – Die Eingabe-Features müssen aus gültigen Geometrien bestehen. Verwenden Sie bei Bedarf das Werkzeug Fehlerhafte Geometrie reparieren, um diese Features zu reparieren.
    • Singlepart-Features – Die Eingabe-Features sollten keine Multipart-Features enthalten. Verwenden Sie das Werkzeug Multipart to Singlepart, oder erstellen Sie eine Topologie mit einer Linienregel "Muss ein einzelnes Teil sein", um Features in ein einzelnes Teil zu konvertieren.
    • Scheitelpunkte —Nicht genügend Scheitelpunkte auf einem Polygon können die Qualität der Ergebnisse beeinträchtigen. Es wird empfohlen, das Werkzeug Verdichten auszuführen, bevor dieses Werkzeug ausgeführt wird, wenn die Polygon-Features eine geringe Anzahl von Stützpunkten aufweisen.
    • Nichtlineare Segmente – Bézierkurven-, Kreisbogen- und Ellipsenbogensegmente können die Qualität der Ergebnisse beeinträchtigen. Es wird empfohlen, das Werkzeug Verdichten auszuführen, bevor dieses Werkzeug ausgeführt wird, wenn die Polygon-Features nichtlineare Segmente aufweisen, da dadurch Stützpunkte entlang der Kurven hinzugefügt werden.

    Die Ausgabe-Feature-Class enthält keine geografischen Attribute aus den Eingabe-Features. Der Ausgabe-Feature-Class wird ein Feld namens FID hinzugefügt. Dieses Feld wird mit der ObjectID des Features gefüllt, von dem das geteilte Polygon stammt. Das FID-Feld kann verwendet werden, um die geteilten Polygone mit ihren Quellpolygonen zu verknüpfen.

    Die besten Ergebnisse erzielen Sie, wenn Sie das Werkzeug Polygonteil entfernen ausführen, um kleine Löcher in den Polygon-Features zu entfernen, bevor Sie Schmale Polygone teilen ausführen. Zum Beispiel das Entfernen von Löchern aus der Mitte von Flusspolygonen, wo Inselpolygone vorhanden sind. Wenn im Polygon ein Loch vorhanden ist, berücksichtigt das Werkzeug den Abstand vom Rand des Polygons zum Rand des Lochs. Dies könnte möglicherweise dazu führen, dass das Flusspolygon auf jeder Seite der Insel als schmal angesehen wird, obwohl die Gesamtbreite des Flusses von Rand zu Rand größer als die Mindestbreite ist. Wenn Sie kleine Löcher füllen, bevor Sie "Schmale Polygone teilen" ausführen, kann das Werkzeug die Position ignorieren, an der zuvor ein Loch vorhanden war, und die Breite von den Kanten des Polygons messen.


    Wie zähle ich Polygone in Multipart-Features? - Geografisches Informationssystem

    Shapefiles enthalten geografische Datenobjekte in Form von Punkten, Linien oder Polygonen mit zugehörigen Informationsattributen, die die geometrischen Merkmale beschreiben. Shapefiles sind ein GIS-Industriestandardformat, das vom Environmental Systems Research Institute (ESRI) entwickelt wurde (siehe http://www.esri.com/). Shapefiles enthalten raumbezogene Vektordaten und sind der primäre Typ von Eingabedaten für die SA Vector Tools.

    Jedes Shapefile speichert Daten für eine einzelne Feature-Class (d. h. ein Shapefile enthält Informationen für Punkte, Linien oder Polygone). Punktformen sind Einzelkoordinaten-Features wie Schornsteine, Schulen oder Häfen. Linienformen können durchgehende Linien sein, z. B. Straßen, und sie können auch Polylinien sein, wie die Zweige oder Nebenflüsse eines Flusses. Polygonformen können einfache Flächen oder mehrteilige Flächen wie Bundesstaaten und Länder sein (z. B. der Bundesstaat Michigan ist eine mehrteilige Form). Shapefiles speichern keine topologischen Informationen, da sie keine Assoziationen zwischen Punkten, Linien und Polygonen enthalten.

    Ein Shapefile besteht aus einer Gruppe von Dateien, die die Koordinaten der Shapes, zugehörige Attribute und optional Kartenprojektionsinformationen enthalten. Jedes Shapefile enthält drei obligatorische Dateien:

    .shp – Koordinaten von Formen oder Features (Punkte, Linien oder Polygone)

    .shx – Shape-Positionsindexdaten, um das schnelle Durchsuchen der im Shapefile enthaltenen Daten zu unterstützen

    .dbf – Attributdaten (z. B. Bevölkerungszahlen, Straßenklassen, Flughafenkapazitäten) für jede Form im dBASE III-Format.

    Ein Shapefile kann auch viele optionale Dateien enthalten, deren Details für diese Diskussion nicht wichtig sind.

    2.2 Räumliche Surrogate

    Räumliche Surrogate werden am häufigsten verwendet, um Emissionsdaten auf Kreisebene auf die rechteckigen Gitterzellen abzubilden, die von einem Eulerschen Luftqualitätsmodell wie dem Community Multiscale Air Quality (CMAQ)-Modellierungssystem (siehe www.cmascenter.org) verwendet werden. Ein räumliches Surrogat ist ein Wert größer null und kleiner oder gleich eins, der den Anteil der Emissionen in einem Gebiet (normalerweise einem Landkreis) angibt, der einer bestimmten Modellgitterzelle zugewiesen werden sollte. Viele Arten von Emissionsinventaren enthalten nach Landkreisen zusammengefasste Daten. Da die Fläche eines bestimmten Landkreises in mehrere Modellrasterzellen fallen kann, müssen räumliche Surrogate verwendet werden, um den Anteil der Emissionen für diesen Landkreis anzugeben, der jeder den Landkreis überlappenden Rasterzelle zuzuordnen ist. Derzeit verwendet EPA etwa 65 verschiedene Arten von Surrogaten, die aus etwa 24 verschiedenen Shapefiles berechnet werden. Räumliche Surrogate müssen in der Regel für jedes zu modellierende Gitter berechnet werden, es sei denn, das verwendete Gitter ist eine vollständig ausgerichtete Teilmenge eines Gitters, für das bereits räumliche Surrogate verfügbar sind.

    Wenn Surrogate erstellt werden, gibt es normalerweise eine Art geografisches Attribut, das verwendet wird, um die Emissionen des Landkreises in Rasterzellen auf eine Weise zu "gewichten", die spezifischer ist als eine einfache einheitliche Verteilung über den Landkreis, die die Unterschiede in den Emissionen zwischen den Städten nicht widerspiegelt , ländliche Gebiete, Häfen usw. Gewichtungen können beispielsweise Informationen über Punkte sein, die Häfen darstellen (z. B. Liegeplätze) oder die auf Linien gefahrenen Fahrzeugkilometer, die die Standorte von Straßen oder Eisenbahnen darstellen, oder polygonbasierte Gewichtsattribute wie geografisches Gebiet , Bevölkerung, Anzahl der Haushalte und Landnutzungskategorien. Sie können mit dem Spatial Allocator räumliche Surrogate aus punkt-, linien- oder polygonbasierten Shapefiles erstellen, die Gewichtungsattributinformationen enthalten. Ein einzelner Ersatzwert (srg) für Landkreis C und Rasterzelle GC wird wie folgt ausgedrückt:

    wobei srg = Ersatz, C = Landkreis und GC = Rasterzelle. Beachten Sie, dass ein Ersatz nicht für einen Landkreis gelten muss, sondern für eine andere geografische Region wie einen Bundesstaat, eine Provinz, eine Nation oder einen Volkszählungsbezirk. Diese Polygone werden im Programm als "Datenpolygone" bezeichnet

    Mit diesem Programm können drei Arten von Surrogaten erstellt werden: polygonbasiert, linienbasiert und punktbasiert. Polygon-basierte Surrogate verwenden flächenbezogene Attributinformationen (z. B. Bevölkerung in einem Volkszählungsgebiet). Der Ersatzwert wird als Verhältnis des Attributwertes im Schnittpunkt des Landkreises und der Gitterzelle zum Gesamtwert des Attributs in einem bestimmten "Datenpolygon" (z. B. Landkreis, Bundesland, Zählbezirk) berechnet. Beispiele für polygonbasierte Gewichtsattribute sind Fläche, Bevölkerung, Anzahl der Haushalte und Landnutzung. Der Zähler (d. h. der Wert des Gewichtsattributs im Schnittpunkt des Landkreises C und der Gitterzelle GC) und der Nenner (d. h. der Gesamtattributwert im Landkreis oder einem anderen Datenpolygon) werden gemäß den folgenden Gleichungen berechnet:

    wobei srg=Ersatz, C = Landkreis (oder ein anderes Datenpolygon), GC = Gitterzelle, WP = Gewichtspolygon, int. = Schnittmenge von, i = Gewichtspolygon und n = Anzahl der Gewichtspolygone.


    Datensatz veröffentlicht 2011-03-09
    Zuletzt geändert aufnehmen 2021-05-06
    Ressourcenstatus weiterGehen

    Objektbeschreibung

    Objektname: WHSE_FOREST_VEGETATION.PEST_INFESTATION_POLY

    Kurzer Name: PST_IF_PL
    Bemerkungen: PEST_INFESTATION_POLY repräsentiert einen Standortbefall als Fläche (Polygon). Feature-Typ: Polygon-Multipart.


    Datensatz veröffentlicht 2011-03-09
    Zuletzt geändert aufnehmen 2021-06-10
    Ressourcenstatus weiterGehen

    Objektbeschreibung

    Objektname: WHSE_BASEMAPPING.FWA_WATERSHEDS_POLY

    Kurzer Name: FWWTRSHDSP
    Bemerkungen: Enthält alle Wassereinzugspolygone, die aus Hauptwassereinzugsgrenzlinien, Uferkanten, Begrenzungskanten, Küstenlinienkanten und administrativen Grenzkanten nach dem 1:50K-Datenmodell generiert wurden. Kann mehrteilige Geometrien enthalten. Raumtyp: mehrteilige Geometrie


    Datensatz veröffentlicht 2011-03-09
    Zuletzt geändert aufnehmen 2021-06-26
    Ressourcenstatus weiterGehen

    Objektbeschreibung

    Objektname: WHSE_BASEMAPPING.FWA_NAMED_WATERSHEDS_POLY

    Kurzer Name: FWNMDWTRSH
    Bemerkungen: Enthält alle Wassereinzugsgebiete benannter Flüsse und die zugehörigen Namensdetails. Es gibt ungefähr 12 000 benannte Wasserscheiden in BC. Diese enthält mehrteilige Geometrien. Räumliche Geometrie: mehrteiliges Polygon


    GIS 1 (335) Finale

    2. Einfacher Distanz-Join: behält die Kardinalität der Join-Beziehung bei und das räumliche Kriterium ist Nähe/Entfernung
    Zusammenfassen der räumlichen Verbindung AKA zu vielen Wird in einer Eins-zu-Viele- oder Viele-zu-Viele-Beziehung verwendet, wenn die Kardinalität des einfachen Joins verletzt wird

    3. Zusammengefasster Inside-Join: Wird verwendet, wenn das Ziel-Feature und das Quell-Feature eine Eins-zu-Viele-Kardinalitätsbeziehung aufweisen und die räumliche Beziehung Containment ist

    2 Positionsgenauigkeit
    -Bewertung, wie genau Merkmale in einem Datensatz ihren tatsächlichen Positionen in der realen Welt entsprechen

    3 Attributgenauigkeit
    -Bewertet, wie gut die Attributwerte den Werten in der realen Welt entsprechen correspond

    4 Logische Konsistenz
    -Beschreibt, wie gut die Funktion reale Situationen nachahmt
    -In der Regel beschränkt auf das Testen auf Topologiefehler

    5 Vollständigkeit
    -Bewertet, ob ein Datensatz jede bekannte Instanz eines Satzes von Objekten der realen Welt erfasst hat
    -Beurteilt, ob alle Originaldaten bis zum Endprodukt übertragen wurden


    Datensatz veröffentlicht 2011-03-09
    Zuletzt geändert aufnehmen 2021-05-22
    Ressourcenstatus weiterGehen

    Objektbeschreibung

    Objektname: WHSE_BASEMAPPING.FWA_ISLANDS_POLY

    Kurzer Name: FWSNLDSPL
    Bemerkungen: Enthält alle Inselpolygone. Inseln können sich überschneiden, da es Inseln innerhalb von Inseln gibt. Raumgeometrie: mehrteiliges Polygon


    Schau das Video: Devide single polygon into multipart #polygons with #explode #command in ArcMap. Advanced editing. (Oktober 2021).