Generalisieren von großen Datasets mit Partitionen

Geoverarbeitungswerkzeuge, die kontextabhängig mehrere Datenthemen beachten, müssen alle Eingabedaten vor der Verarbeitung in den Speicher laden. Die Speichereinschränkungen dieser Werkzeuge können von großen Datasets oder zahlreichen Eingabe-Datasets leicht überschritten werden. Partitionierung ist eine Möglichkeit, eine große Datenmenge in kleinere, verwaltbare Sätze von Features zu unterteilen.

Wenn die Werkzeuge auf partitionierten Daten ausgeführt werden, wird jede Partition sequenziell verarbeitet. Die Features auf oder in der Nähe von Partitionsgrenzen werden genau behandelt, um Diskrepanzen zu vermeiden. Weitere Daten jenseits jeder Partition werden vom Werkzeug geladen und werden während der Verarbeitung beachtet, aber nur die Features innerhalb der Partition werden zu dieser Zeit geändert. Das Ergebnis ist eine nahtlose endgültige Ausgabe.

Im Allgemeinen sollten Sie bei mehr als ungefähr 100.000 Features zusammen in allen Eingabe-Layern das Partitionieren für die Ausführung des Werkzeugs in Betracht ziehen. Die folgenden Werkzeuge können für Partitionierung aktiviert werden:

So aktivieren Sie die Partitionierung

Die Partitionierung wird für die oben aufgeführten Geoverarbeitungswerkzeuge aktiviert, indem Sie eine Partitions-Feature-Class in der Geoverarbeitungs-Umgebungseinstellung +++Cartographic Partitions angeben. Bei Verwendung dieser Einstellung werden die anwendbaren Werkzeuge aufgefordert, Eingabe-Features sequenziell in Teilen statt alle gemeinsam zu verarbeiten.

Als Partitions-Features können alle Polygon-Feature-Classes dienen, die Eingabedaten konzeptuell in logische Abschnitte unterteilen. Eine Partitions-Feature-Class sollte den Interessenbereich vernünftig abdecken und die Eingabe-Features einigermaßen gleichmäßig unterteilen. Idealerweise enthält jede Partition nicht mehr als ungefähr 50.000 Features, wenn Features von allen Eingabe-Layern betrachtet werden. Bei zu großen Partitionen werden weiterhin Speichereinschränkungen überschritten, aber bei zu kleinen Partitionen werden möglicherweise die Kontextabhängigkeit des Werkzeugs und damit die Qualität der Ergebnisse beeinträchtigt.

Überlegungen zu Partitionen

Partitions-Features können aus verschiedenen Quellen stammen. Einige Workflows enthalten möglicherweise bereits inhärente logische Partitionen, z. B. die auf einem zusammenhängenden Satz gedruckter Karten angezeigten Datenausdehnungen. Wenn Kartenblätter als Polygone modelliert werden, bilden sie wahrscheinlich ideale Partitionen. In diesem Fall könnten Sie das Werkzeug Indexgitter-Features verwenden, um ein Gitter von rechteckigen Polygon-Features zu erstellen. Diese bilden angemessene Partitionen, vorausgesetzt, die Eingabedaten sind relativ gleichmäßig über den Interessenbereich verteilt.

Beim Web Mapping wird möglicherweise durch das Cache-Kachelschema ein geeigneter Satz von Partitionen erstellt. Erwägen Sie, das Werkzeug Kachelschema des Map Server-Caches zu Polygonen zu verwenden, um ein Gitter von Polygonen zu erstellen, das dieses Schema darstellt. Ähnlich wie die Verwendung von Kartenblattausdehnungen ist dies ein gültiger Workflow, wenn Eingabe-Features einigermaßen gleichmäßig verteilt sind.

In einigen Workflows enthält ein Dataset möglicherweise eine Feature-Class, die natürliche zusammenhängende Partitionen bildet, z. B. Landkreise oder Postleitzahlen. Wenn diese Features die Eingabe-Features hinreichend abdecken und unterteilen, können sie als Partitionen verwendet werden. Dies ist ein guter Ansatz bei Verteilungen von Daten, die sich in der Dichte ändern. Beispielsweise sind Postleitzahlpolygone wahrscheinlich kleiner, wo es eine höhere Dichte von Wohnsitzen gibt. Deshalb liefern Postleitzahlen möglicherweise gute Partitionen beim Lösen von Gebäudekonflikten.

Wenn noch keine geeigneten Polygone verfügbar sind, können Sie speziell zum Zweck der Partitionierung welche erstellen. Verwenden Sie das Werkzeug +++Create Cartographic Partitions, um einen zusammenhängenden Satz von Polygonen zu erstellen, die eine ungefähr gleiche Anzahl von Eingabe-Features einschließen.

Anforderungen an Partitionen

  • Die Größe jeder Partition sollte so sein, dass der Umfang der Eingabedaten die Kapazität des Werkzeugs nicht überschreitet. Dieser Schwellenwert wird im Allgemeinen durch die Anzahl von Features aus allen Eingabe-Layern und die Komplexität dieser Features bestimmt. Es variiert auch abhängig vom ausgeführten Werkzeug und der Definition der Parameter. Als Faustregel sollten Sie Partitionen verwenden, die nicht mehr als ungefähr 50.000 Eingabe-Features enthalten.
  • Partitions-Features müssen eine Polygon-Feature-Class oder ein Polygon-Shapefile mit einem gültigen Raumbezug sein.
  • Partitions-Features müssen topologisch richtig sein. Benachbarte Polygonkanten sollten zusammenpassen, und es kann keine Überlappungen geben. Löcher zwischen Partitions-Features sind akzeptabel, aber Partitions-Features können keine Multipart-Polygone oder Polygone mit Löchern sein. Polygone müssen einfache, nicht überlappende Geometrie haben.
  • Jedes Partitionspolygon muss eine Fläche größer als Null 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 wirken sich negativ auf die Werkzeug-Performance aus, wenn die Partitionierung aktiviert wird.

Funktionsweise der Verarbeitung mit Partitionierung

Wenn die Partitionierung (durch Angeben einer Partitions-Feature-Class in der Geoverarbeitungs-Umgebungseinstellung Kartografische Partitionen) aktiviert wird, verarbeiten die Werkzeuge mit aktivierter Partitionierung Eingabedaten in Abschnitten, die von den Partitionen definiert sind. Partitionen werden in der Reihenfolge der Objekt-ID der einzelnen Partitionen verarbeitet. Um nur bestimmte Flächen der Karte zu verarbeiten, verwenden Sie einen Layer in der Karte als Umgebungsvariable, und wählen Sie dann vor der Verarbeitung nur die relevanten Partitions-Features aus.

Auch wenn Daten partitioniert werden, gibt es möglicherweise Situationen, wo die durch eine einzelne Partition abgegrenzte Menge an Eingabedaten noch immer die Speichereinschränkungen des Verarbeitungswerkzeugs überschreitet. In diesem Fall schlägt die Verarbeitung für diese Partition fehl, und die Verarbeitung fährt mit der nächsten Partition fort. Geoverarbeitungsnachrichten geben an, welche Partitionen nicht verarbeitet wurden. Ein Feld mit dem Namen STATUS wird an die Partitions-Feature-Class angefügt und mit einem der folgenden Hinweise aufgefüllt, die seinen Status nach den Verarbeitungsversuchen angeben:

TippTipp:

Wenn der im Feld STATUS angegebene Verarbeitungsstatus beibehalten werden soll, fügen Sie den Daten ein neues Feld hinzu und berechnen Sie die Feldwerte, die dem Feld STATUS entsprechen, bevor Sie das nächste Werkzeug mit aktivierter Partitionierung ausführen.

Verwandte Themen

9/22/2013