Skip To Content

Generalisieren von großen Datasets mit Partitionen

Geoverarbeitungswerkzeuge, die kontextabhängig mehrere Datendesigns 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 Umgebungseinstellung zur Geoverarbeitung Kartografische Partitionen angeben. Bei Verwendung dieser Einstellung werden die anwendbaren Werkzeuge aufgefordert, Eingabe-Features sequenziell in Teilen statt alle gemeinsam zu verarbeiten.

Die 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. Als Polygone modellierte Kartenblätter bilden oft 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.

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 auch speziell zur Partitionierung welche erstellen. Verwenden Sie das Werkzeug Kartografische Partitionen erstellen, 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. Er 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 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. Diese sind möglicherweise ein räumlich verwandter Satz von Features, wie 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 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. Wenn die Partitions-Feature-Class die Eingaben nicht komplett abdeckt, werden nur die von den Partitionen abgedeckten Flächen verarbeitet.

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:

  • 0 – Nicht verarbeitet
  • 1 – Wird verarbeitet
  • 2 – Erfolgreich verarbeitet
  • 3 – Nicht genügend Arbeitsspeicher
  • 4 – Fehler

Tipp:

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

Verwandte Themen