9. ArcView-Anwendertreffen Verarbeiten großer Datenmengen in ArcView Werner Ackermann und Daniel Fuchs
Große Datenmengen warum ein eigener Vortrag? Die Verarbeitung großer Datensätze in ArcGIS bringt eine Reihe spezieller Probleme mit sich: viele Bearbeitungsschritte verlangsamen sich ab einer gewissen Datenmenge übermäßig manche Bearbeitungsschritte funktionieren nur bis zu einer bestimmten Datenmenge einwandfrei große Datenmengen sind als Ergebnis schwierig weiterzuverarbeiten: Anzeige, Druck und Speicherung entsprechender Daten stoßen ebenfalls an Grenzen. Kurz: große Datenmengen kosten eine Menge Zeit, Geld und...... viele viele Nerven.
Und ab welcher Grenzen sind Datenmengen nun zu groß? Die Frage, ab welcher Größe die Verarbeitung von Datenmengen im GIS spezielle Probleme bereitet, ist sowohl von der technischen Ausstattung (Rechnerleistung) als auch von der Datenstruktur abhängig. Bezüglich der Rechnerausstattung spielen folgende Faktoren eine Rolle: Arbeitsspeicher Prozessorleistung evtl. Kapazität eines Netzwerks.
Technische Ausstattung: Prozessorleistung und Speichergröße
Technische Ausstattung: lokale Festplatte / Speicherung im Netzwerk
Einfluss der Datenstruktur Ob eine Datenmenge zu groß ist, hängt wesentlich auch von der Struktur und natürlich der Menge der verwendeten Daten ab. Hier sind folgende Faktoren von Bedeutung: Anzahl Datensätze Anzahl Stützpunkte (Linien, Polygone) Komplexität von Polygonen (z. B. Löcher in Polygonen, großes Verhältnis Außengrenze / Flächeninhalt) Speicherart (Shape-Datei, geodatabase, file geodatabase).
Einfluss der Datenstruktur: Anzahl Datensätze Biotopkartierung Baden-Württemberg: 492.897 Polygone
Einfluss der Datenstruktur: Anzahl Stützpunkte
Einfluss der Datenstruktur: Anzahl Stützpunkte
Einfluss der Datenstruktur: Anzahl Stützpunkte
Einfluss der Datenstruktur: Anzahl Stützpunkte Ausgewählter Kreis : 2001 Stützpunkte bei knapp 4 m Durchmesser
Optimierung der Verarbeitung großer Datenmengen Es gibt demnach zwei Wege zur Verbesserung der Performance an: bessere Hardware und Optimierung der Geoverarbeitung. Oft ist eine Verbesserung der Hardware eine relativ preiswerte Möglichkeit. Beispiel: Eine Verdoppelung des Arbeitsspeichers von 1 auf 2 Gigabyte entspricht ungefähr einer Viertelung der Bearbeitungszeit bei großen Datenmengen. Bei 400.000 Datensätzen (z. B. BK Baden- Württemberg) entspricht dies für einen einfachen Puffervorgang einer Bearbeitungszeit von 30 Minuten statt 2 Stunden.
Optimierung der Geoverarbeitung Für die Optimierung der Geoverarbeitung großer Datenmengen gibt es drei grundlegende Strategien: Sparsamkeit: nur das bearbeiten, was auch wirklich bearbeitet werden muss Teile und herrsche: Aufteilung eines großen Datensatzes in mehrere kleinere und getrennte Bearbeitung dieser Datensätze Vereinfachung: Reduzierung der Komplexität innerhalb des Datensatzes
Optimierung der Geoverarbeitung: Sparsamkeit Viele Verarbeitungsschritte, besonders in der Geoverarbeitung, beziehen nur einen Teil der Datensätze ein. Ein Beispiel hierfür ist ein Intersect, bei dem nur Polygone miteinander verschnitten werden, die sich mit anderen Polygone überschneiden. Isolierte Polygone werden nicht in das Ergebnisthema übernommen. Bei großen Datenmengen kann es sinnvoll sein, einen Bearbeitungsschritt nur für die Datensätze durchzuführen, die dadurch geändert werden können. Dazu werden Modelle eingesetzt.
Optimierung der Geoverarbeitung: Sparsamkeit
Optimierung der Geoverarbeitung: Sparsamkeit
Optimierung der Geoverarbeitung: Sparsamkeit
Optimierung der Geoverarbeitung: Sparsamkeit Das Arbeiten mit einer Unterauswahl von Datensätzen in Modellen bietet sich immer an, wenn bei einem Bearbeitungsschritt die räumliche Beziehung von mehreren Shape-Dateien (oder Feature- Klassen) im Vordergrund steht, z. B.: Overlay-Funktionen (Union, Intersect) Clip Erase (nicht in ArcView verfügbar)
Optimierung der Geoverarbeitung: Sparsamkeit Andere Methoden müssen angewandt werden, wenn Berechnungen innerhalb einer Shape-Datei notwendig sind. Ein Beispiel hierfür ist ein Dissolve, bei dem nur Polygone geändert werden, die an andere Polygone angrenzen. Isolierte Polygone werden unverändert in das Ergebnisthema übernommen.
Optimierung der Geoverarbeitung: Sparsamkeit (Beispiel)
Optimierung der Geoverarbeitung: Sparsamkeit (Beispiel)
Optimierung der Geoverarbeitung: Sparsamkeit (Beispiel)
Optimierung der Geoverarbeitung: Sparsamkeit (Beispiel) In diesem Beispiel sind mehr als die Hälfte der Flächen isoliert, müssen also in ein Dissolve nicht einbezogen werden.
Optimierung der Geoverarbeitung: Sparsamkeit Andere Methoden müssen angewandt werden, wenn Berechnungen innerhalb einer Shape-Datei notwendig sind. Ein Beispiel hierfür ist ein Dissolve, bei dem nur Polygone geändert werden, die an andere Polygone angrenzen. Isolierte Polygone werden unverändert in das Ergebnisthema übernommen. In diesem Fall kann leider nicht mit einer räumlichen Auswahl über ein Modell gearbeitet werden. Die Nachbarschaftsbeziehungen zwischen Einzelflächen innerhalb einer Shape-Datei können aber über speziell programmierte Funktionen berechnet werden.
Optimierung der Geoverarbeitung: Sparsamkeit Andere Methoden müssen angewandt werden, wenn Berechnungen innerhalb einer Shape-Datei notwendig sind. Ein Beispiel hierfür ist ein Dissolve, bei dem nur Polygone geändert werden, die an andere Polygone angrenzen. Isolierte Polygone werden unverändert in das Ergebnisthema übernommen. In diesem Fall kann leider nicht mit einer räumlichen Auswahl über ein Modell gearbeitet werden. Die Nachbarschaftsbeziehungen zwischen Einzelflächen innerhalb einer Shape-Datei können aber über speziell programmierte Funktionen berechnet werden. Nachbarberechnungs-Makro von PAN, download unter www.pan-gmbh.com
Optimierung der Geoverarbeitung: Teile und herrsche Das Prinzip Teile und herrsche in seit Version 9.2 bereits in einige Geoverarbeitungsprozesse integriert. Große Shape-Dateien werden dabei in kleinere Portionen (anhand sogenannter Kacheln ) unterteilt, diese einzeln bearbeitet und zum Schluss zum Ergebnis zusammengefügt. Der Prozess wird im Hilfeeintrag Tiled procession of large datasets näher erläutert.
Optimierung der Geoverarbeitung: Teile und herrsche
Optimierung der Geoverarbeitung: Teile und herrsche
Optimierung der Geoverarbeitung: Teile und herrsche Das Kacheln erfolgt automatisch für folgende Geoverarbeitungs- Prozesse: Clip, Intersect und Union (sowie weitere in ArcEditor und ArcInfo) und damit aber leider nicht für alle... Bei Prozessen, bei denen eine Kachelung nicht vorgesehen ist (z. B. Dissolve, Buffer) muss man sich wieder mit Modellen selbst behelfen. Sinnvoll ist dabei eine Aufteilung der Daten anhand eines regelmäßigen Rasters. Dafür können z. B. die Kartenschnitte der Topographischen Karten oder der Flurkarten verwendet werden. Kartenschnitte für Deutschland können beim Bundesamt für Kartographie und Geodäsie kostenfrei heruntergeladen werden (www.geodatenzentrum.de).
Optimierung der Geoverarbeitung: Teile und herrsche
Optimierung der Geoverarbeitung: Teile und herrsche Für die Verarbeitung der Kachelung in einem eigenen Modell wird wieder mit räumlichen Auswahlen gearbeitet.
Optimierung der Geoverarbeitung: Teile und herrsche Damit das Modell komfortabel mehrmals aufgerufen werden kann, werden Parameter verwendet.
Optimierung der Geoverarbeitung: Teile und herrsche Statt viele Einzelergebnisse zu erzeugen, kann jedes Zwischenergebnis auch an eine Ergebnisdatei angehängt werden.
Optimierung der Geoverarbeitung: Teile und herrsche Dieses Modell kann (ab Version 9.2) im Batch-Modus ausgeführt werden, d. h. es durchläuft verschiedene Werte für die Parameter je einmal. Alternativ kann bei einer größeren Anzahl von Durchgängen die Verwendung von Scripten erforderlich sein.
Optimierung der Geoverarbeitung: Vereinfachen Viele Bearbeitungsschritte sind viel mehr von der Zahl der Stützpunkte im einzelnen Polygon oder in der einzelnen Polyline abhängig als von der Gesamtzahl der Datensätze. Daher kann die Verarbeitung großer Datenmengen oft wesentlich schneller ablaufen, wenn man die Zahl der Stützpunkte pro Polygon/Polyline reduziert. Dies kann mit zwei Methoden erfolgen: Aufteilung eines großen Polygons in mehrere kleinere Vereinfachung der Geometrie jedes einzelnen Polygons.
Vereinfachen das Beispiel Pufferung komplexer Features
Beispiel Deutschlandgrenze am Hochrhein
Puffern der Deutschlandgrenze mit 1.000 Metern ergibt...
... ein nicht ganz befriedigendes Ergebnis.
Zweiter Versuch: Verschneiden Grenze mit Blattschnitt TK 50
Ergebnis: der Puffer mit 1.000 Metern funktioniert einwandfrei.
Vereinfachen aller Datensätze In manchen Fällen kann es auch sinnvoll sein, die Komplexität aller Datensätze zu verringern, um die Bearbeitungszeit zu verbessern, auch wenn dabei Daten verloren gehen. Hierzu einige Beispiele. Reduzierung simulierter Kreise oder Ellipsen (nur in Shape- Dateien, nicht in der Geodatabase), die eine große Zahl an Stützpunkten aufweisen. Erfassungsmaßstab deutlich größer als Bearbeitungsmaßstab (z. B. Biotopkartierung 1 : 5.000, Biotopverbundplanung 1 : 100.000)
Vereinfachen aller Datensätze: Vorgehen Die typischen Funktionen zum Vereinfachen von Datensätzen stehen in ArcView nicht zur Verfügung ( Simplify Polygon, Simplify Line ). Hier muss auf kostenfreie oder preiswerte Lösungen von Drittanbietern zurückgegriffen werden, z. B.: Scripts im Download-Bereich bei http://arcscripts.esri.com Ausdrücke für Berechnung des Shape-Felds (Beispiele kostenfrei bei www.ian-ko.com, siehe dort EasyCalculate mit Funktion shape.generalize ) kostenpflichtige Zusatztools.
Zusammenfassung: was tun, wenn s zu lange dauert... Arbeitsplatz-Optionen: mehr Arbeitsspeicher kaufen Rechner neu starten, bevor große Datensätze verarbeitet werden (trivial, aber immer gut...) lokalen Speicherplatz verwenden, nicht Netzwerkspeicherplatz mit einer früheren Version probieren (manches war eben früher tatsächlich besser... Dissolve in ArcGIS 9.1 zum Beispiel) weitere Hinweise in der ESRI-Hilfe unter dem Stichwort migrating to the file geodatabase.
ArcGIS-Hilfe Stichwort migrating to the file geodatabase
Zusammenfassung: was tun, wenn s zu lange dauert... Bearbeitungs-Optionen: Prozesse nur mit Daten ablaufen lassen, die auch sicher daran teilnehmen Vorauswahlen treffen Große Dateien teilen und Teile nacheinander abarbeiten, Ergebnisse am Schluss wieder zusammenfügen Möglichst alle langwierigen Prozesse in Modelle packen, damit sie ohne großen Aufwand mehrmals durchgeführt werden können In Modellen mit Parametern arbeiten oder Scripte mit Schleifen erzeugen, um Automatisierung zu erreichen.
Zusammenfassung: was tun, wenn s gar nicht geht... Bearbeitungs-Optionen: Regelmäßig das Werkzeug Repair Geometry auf die Daten anwenden. Komplexe Shapes in einfachere zerlegen, z. B. durch Intersect mit regelmäßigen, rechteckigen Gittern einzelne Geometrien so weit möglich vereinfachen.
9. ArcView-Anwendertreffen Verarbeiten großer Datenmengen in ArcView Vielen Dank für Ihre Aufmerksamkeit! Werner Ackermann und Daniel Fuchs www.pan-gmbh.com