Generalisieren von großen Datasets mit Partitionen
Geoverarbeitungswerkzeuge, die mehrere Datenthemen kontextbezogen berücksichtigen, müssen alle Eingabedaten in den Arbeitsspeicher laden, bevor die Verarbeitung gestartet werden kann. Die Speichergrenzen dieser Werkzeuge können durch große Datasets oder eine Vielzahl von Eingabe-Datasets leicht überschritten werden. Durch Partitionierung lässt sich eine große Datenmenge in kleinere, besser zu handhabende Feature-Sets unterteilen.
Wenn die Werkzeuge auf partitionierten Daten ausgeführt werden, wird jede Partition nacheinander verarbeitet. Die Features an oder in der Nähe von Partitionsgrenzen werden genau verwaltet, um Abweichungen zu vermeiden. Zusätzliche Daten, die über die jeweilige Partition hinausgehen, werden vom Werkzeug geladen und bei der Verarbeitung berücksichtigt, doch zu diesem Zeitpunkt werden nur die Features innerhalb der Partition geändert. Das Ergebnis ist eine nahtlose Endausgabe.
Wenn in allen Eingabe-Layern insgesamt mehr als etwa 100.000 Features vorhanden sind oder wenn die Features komplex sind und eine große Anzahl von Stützpunkten aufweisen, sollten Sie in der Regel eine Partitionierung in Betracht ziehen, um das Werkzeug auszuführen. Die folgenden Werkzeuge können für die Partitionierung aktiviert werden:
Das Werkzeug Polygone aggregieren
Das Werkzeug Marker an Strich oder Füllung ausrichten
Das Werkzeug Hydrologische Polygone ausblenden
Das Werkzeug Straßendetails reduzieren
Das Werkzeug Bebaute Flächen skizzieren
Das Werkzeug Grafikkonflikt ermitteln
Das Werkzeug Maskierung für sich schneidende Layer
Das Werkzeug Getrennte Fahrbahnen zusammenführen
Das Werkzeug Gebäudekonflikte lösen
Das Werkzeug Straßenkonflikte lösen
Das Werkzeug Repräsentationspasspunkt an Schnittpunkt festlegen
Das Werkzeug Polygon vereinfachen
Das Werkzeug Linie vereinfachen
Das Werkzeug Polygon vereinfachen
Das Werkzeug Gemeinsame Kanten vereinfachen
Das Werkzeug Linie glätten
Das Werkzeug Polygon glätten
Das Werkzeug Gemeinsame Kanten glätten
Das Werkzeug Straßennetzwerk ausdünnen
Aktivieren der Partitionierung
Die Partitionierung wird für die oben aufgeführten Geoverarbeitungswerkzeuge aktiviert, indem in der Einstellung der Geoverarbeitungsumgebung Kartografische Partitionen eine Partition-Feature-Class festgelegt wird. Durch die Verwendung dieser Einstellung werden die entsprechenden Werkzeuge dazu veranlasst, die Eingabe-Features nacheinander in Teilmengen zu verarbeiten, anstatt alle auf einmal.
Die Partition-Feature-Class sollte den Interessenbereich sinnvoll abdecken und die Eingabe-Features einigermaßen gleichmäßig aufteilen. Zu große Partitionen überschreiten zwar weiterhin die Speichergrenzen, doch die Verwendung zu kleiner Partitionen schränkt die kontextbezogenen Überlegungen des Werkzeugs ein, wodurch die Qualität der Ergebnisse beeinträchtigt werden kann.
Was kann als Partitionen verwendet werden?
Partitions-Features können aus verschiedenen Quellen stammen. Manche Workflows können bereits inhärente logische Partitionen enthalten, wie beispielsweise die Datenausdehnungen, die auf einer zusammenhängenden Reihe gedruckter Karten dargestellt sind. Kartenbögen, die als Polygone dargestellt werden, sind oft ideale Partitionen. In diesem Fall könnten Sie das Werkzeug Indexgitter-Features verwenden, um ein Raster aus rechteckigen Polygon-Features zu erstellen. Diese liefern sinnvolle Partitionen, sofern die Eingabedaten relativ gleichmäßig über den Interessenbereich verteilt sind.
Im Bereich des Web Mapping kann das Cache-Kachelschema einen geeigneten Satz von Partitionen festlegen. Erwägen Sie die Verwendung des Werkzeugs Kachelschema des Kartenserver-Cache in Polygone, um ein Polygongitter zu erstellen, das dieses Schema darstellt. Ähnlich wie bei der Verwendung von Kartenblattausdehnungen ist dies ein geeigneter Workflow, wenn die Eingabe-Features relativ gleichmäßig verteilt sind.
In manchen Workflows kann ein Dataset eine Feature-Class enthalten, die natürliche zusammenhängende Einheiten bildet, wie beispielsweise Landkreise oder Postleitzahlen. Sofern diese Features die Eingabe-Features ausreichend abdecken und unterteilen, können sie als Partitionen verwendet werden. Dies ist ein guter Ansatz bei Datenverteilungen, deren Dichte variiert. Beispielsweise sind Polygone für Postleitzahlen in Gebieten mit einer höheren Wohndichte tendenziell kleiner, sodass Postleitzahlen bei der Lösung von Gebäudekonflikten gute Partitionen darstellen können.
Falls keine geeigneten Polygone zur Verfügung stehen, können Sie auch eigens welche für die Partitionierung erstellen. Verwenden Sie das Werkzeug Kartografische Partitionen erstellen, um eine zusammenhängende Gruppe von Polygonen zu erstellen, die jeweils eine annähernd gleiche Anzahl von Eingabe-Features oder Stützpunkten umschließen.
Anforderungen an Partitionen
Die Größe jeder Partition sollte so bemessen sein, dass sie nicht mehr Eingabe-Features enthält, als das Werkzeug verarbeiten kann. Dieser Schwellenwert wird im Allgemeinen durch die Anzahl der Features aus allen Eingabe-Layern und die Komplexität dieser Features bestimmt. Dies hängt auch davon ab, welches Werkzeug ausgeführt wird und wie die Parameter definiert wurden. Als allgemeine Richtlinie sollten Sie Partitionen in Betracht ziehen, die nicht mehr als etwa 50.000 Features enthalten. Wenn Sie bei der Partitionierungsmethode Stützpunkte verwenden, wählen Sie einen Wert, der sich nach der verfügbaren Speichergröße richtet. Es hängt zwar vom jeweiligen Werkzeug ab, doch 1 Million Stützpunkte beanspruchen etwa 0,5 GB Speicherplatz.
Partitions-Features sollten eine logische Unterteilung der Eingabe-Features darstellen, die von den Werkzeugen verarbeitet werden, die diese Einstellung berücksichtigen. Eingabe-Features sollten ungefähr gleichmäßig zwischen Partitions-Features verteilt sein. Dabei kann es sich um verschiedene räumlich verwandte Features handeln, beispielsweise Landkreise oder andere Verwaltungsgrenzen, Polygone, die einzelne Kartenblätter darstellen, wie die mit dem Werkzeug Indexgitter-Features erstellten, oder Polygon-Partitionen, die vom Werkzeug Kartografische Partitionen erstellen speziell zu diesem Zweck erstellt wurden.
Partitions-Features müssen topologisch richtig sein. Benachbarte Polygonkanten sollten zusammenpassen, und es darf keine Überlappungen geben. Löcher zwischen Partitions-Features sind akzeptabel, aber Partitions-Features dürfen keine Multipart-Polygone oder Polygone mit Löchern sein. Polygone müssen einfache, nicht überlappende Geometrie haben.
Jedes Partitions-Polygon muss eine Fläche größer als 0 haben. NULL-Partitionen oder leere Partitionen werden nicht verarbeitet und lösen eine Warnung aus. Diese Partitionen werden bei der Verarbeitung ignoriert.
Partitions-Features sollten eine logische Unterteilung der Eingabe-Features darstellen, die von den Werkzeugen verarbeitet werden, die diese Einstellung berücksichtigen. Eingabe-Features sollten ungefähr gleichmäßig zwischen Partitions-Features verteilt sein.
Die Ausdehnung der Eingabe-Features sollte von den Partitions-Features abgedeckt werden.
Die Partitionsgeometrie sollte so einfach wie möglich sein. Komplexe Geometrien beeinträchtigen die Performance des Werkzeugs, wenn die Partitionierung aktiviert ist.
Verarbeitung bei der Partitionierung
Wenn die Partitionierung aktiviert ist (durch Angabe einer Partition-Feature-Class in der Einstellung Kartografische Partitionen der Geoverarbeitungsumgebung), verarbeiten Werkzeuge, die die Partitionierung unterstützen, die Eingabedaten in Abschnitten, wie sie durch die Partitionen definiert sind. Partitionen werden in der Reihenfolge der Objekt-ID der jeweiligen Partition verarbeitet. Um nur bestimmte Bereiche der Karte zu verarbeiten, verwenden Sie einen Layer in der Karte als Umgebungsvariable, und wählen Sie vor der Verarbeitung nur die relevanten Partitions-Features aus. Falls die Partition-Feature-Class die Eingaben nicht vollständig abdeckt, werden nur die von den Partitionen abgedeckten Bereiche verarbeitet.
Selbst wenn Daten partitioniert sind, kann es vorkommen, dass die Menge der Eingabedaten, die einer einzelnen Partition zugeordnet ist, die Speichergrenzen des Werkzeugs dennoch überschreitet. In diesem Fall schlägt die Verarbeitung für diese Partition fehl, und die Verarbeitung wird mit der nächsten Partition fortgesetzt. Die Meldungen zur Geoverarbeitung geben an, welche Partitionen nicht verarbeitet wurden. Der Partition-Feature-Class wird ein Feld mit dem Namen STATUS hinzugefügt, das mit einer der folgenden Angaben zu dem Status gefüllt wird:
0 - Nicht verarbeitet
1 - Wird verarbeitet
2 - Erfolgreich verarbeitet
3 - Nicht genügend Arbeitsspeicher
4 - Fehler
Tipp:
Wenn Sie den im Feld STATUS enthaltenen Verarbeitungsstatus beibehalten möchten, fügen Sie den Daten ein neues Feld hinzu und berechnen Sie den Wert dieses Feldes anhand des Feldes STATUS, bevor Sie das nächste Werkzeug ausführen, das die Partitionierung verwendet.