Benutzer- und Referenzhandbuch

Geocodierer verwenden

In diesem Abschnitt wird der Prozess der Geocodierung beschrieben und wie ein Geocodierer im Stapelbetrieb von der Steuerzentrale aus ausgeführt wird.

Informationen zur Geocodierung

Wie bereits erwähnt, verwendet DB2 Spatial Extender eine als Geocodierer bezeichnete Funktion für zwei Aktivitäten: die Umsetzung von Adressdaten in räumliche Daten und die Eintragung dieser räumlichen Daten in Tabellenspalten. Dieser Abschnitt erläutert die wesentlichen Unterschiede zwischen Geocodierern und ihren Quellen. Außerdem beschreibt er zwei Modi, in denen ein Geocodierer arbeiten kann, und stellt Faktoren vor, die bei der Planung der Arbeit mit einem Geocodierer berücksichtigt werden sollten.

Mit dem Spatial Extender haben Sie folgende Möglichkeiten:

Der Standard-Geocodierer kann Adressen in den USA geocodieren und sie in ST_Point-Daten umsetzen. Wenn Sie Daten mit anderen räumlichen Datentypen speichern wollen, können Sie einen anderen Geocodierer installieren, der solche Daten generiert. Wenn Sie räumliche Daten benötigen, die Standorte außerhalb der USA darstellen oder Standorte ohne Adresse, beispielsweise Ackerland mit unterschiedlichem Anteil an Muttererde, können Sie auch für diese Anforderung einen weiteren Geocodierer installieren.

Bevor Sie mit einem zusätzlichen Geocodierer arbeiten können, muss dieser registriert worden sein. Benutzer und Hersteller können einen solchen Geocodierer mit der gespeicherten Prozedur db2gse.gse_register_gc registrieren. Der Geocodierer kann nicht über die Steuerzentrale registriert werden.

Informationen zu db2gse.gse_register_gc finden Sie im Abschnitt db2gse.gse_register_gc. Allgemeine Informationen zur Verwendung der gespeicherten Prozeduren des Spatial Extender finden Sie in Kapitel 9, Gespeicherte Prozeduren.

Ein Geocodierer kann in zwei verschiedenen Modi arbeiten:

Wenn Sie vorhaben, einen Geocodierer zu verwenden, sollten Sie eventuell die folgenden Faktoren berücksichtigen:

  1. Wenn Sie mit der Steuerzentrale arbeiten, verwenden Sie normalerweise das Fenster Create Spatial Layers, bevor Sie das Fenster Run Geocoder aufrufen. Dies bedeutet, dass Sie den Spatial Extender anweisen können, mehrere Auslöser für die schrittweise steigende Geocodierung einzurichten, bevor Sie die Geocodierung im Stapelbetrieb starten. Es ist deshalb möglich, dass eine schrittweise Geocodierung einer Geocodierung im Stapelbetrieb vorausgeht. Bei der Verarbeitung aller Quellendaten im Stapelbetrieb werden die gleichen Daten geocodiert wie im schrittweise steigenden Modus. Diese Redundanz führt nicht zu Duplizierungen; wenn räumliche Daten zweimal generiert werden, überschreibt das zweite Datenergebnis das erste. Die Leistung kann dadurch jedoch sinken. Eine Möglichkeit, diesen Leistungsabfall zu vermeiden, ist das verzögerte Einrichten von Auslösern bis nach der Geocodierung im Stapelbetrieb.
  2. Wenn die Auslöser vorhanden sind, wenn Sie mit der Geocodierung im Stapelbetrieb beginnen wollen, empfiehlt es sich, diese Auslöser zu inaktivieren, bis die Geocodierung im Stapelbetrieb abgeschlossen ist. Sie können die Auslöser über das Fenster Run Geocoder oder in einem Anwendungsprogramm inaktivieren, indem Sie das Programm für den Aufruf der gespeicherten Prozedur db2gse.gse_disable_autogc codieren. Wenn Sie das Fenster Run Geocoder verwenden, reaktiviert der Spatial Extender die Auslöser automatisch, wenn die Geocodierung abgeschlossen ist. Falls Sie die gespeicherte Prozedur db2gse.gse_disable_autogc verwenden, können Sie die Auslöser über den Aufruf der gespeicherten Prozedur db2gse.gse_enable_autogc reaktivieren.
  3. Wenn Sie einen Geocodierer im Stapelbetrieb ausführen wollen, um eine räumliche Spalte mit einem Index auszufüllen, inaktivieren Sie zunächst den Index oder geben Sie ihn frei. Andernfalls bleibt der Index während der Ausführung des Geocodierers betriebsbereit, was die Leistung beträchtlich verschlechtert. Wenn Sie mit der Steuerzentrale arbeiten, können Sie den Index über das Fenster Run Geocoder inaktivieren. Der Spatial Extender reaktiviert den Index automatisch, wenn die Geocodierung abgeschlossen ist. Wenn Sie ein Anwendungsprogramm verwenden, können Sie den Index mit der Anweisung SQL DROP freigeben. Notieren Sie sich in diesem Fall unbedingt die Parameter des Index, so dass Sie ihn nach Abschluss der Geocodierung wieder erstellen können.
  4. Wenn der Geocodierer einen Datensatz einliest, versucht er, diesen Datensatz mit seinem Pendant in den Bezugsdaten abzugleichen. Dieser Abgleich muss mindestens eine bestimmte Genauigkeit aufweisen, damit der Geocodierer den Datensatz verarbeitet. Eine Genauigkeit von 85 bedeutet beispielsweise, dass ein Quellendatensatz und sein Pendant in den Bezugsdaten zu mindestens 85 Prozent übereinstimmen müssen, damit der Quellendatensatz verarbeitet wird.

    Sie geben selbst an, wie hoch die Genauigkeit sein muss. Denken Sie daran, dass Sie die Genauigkeit eventuell anpassen müssen. Angenommen, die Genauigkeit ist 100. Wenn viele Quellendatensätze Adressen enthalten, die neuer sind als die Bezugsdaten, sind Übereinstimmungen von 100 Prozent zwischen diesen Datensätzen und den Bezugsdaten nicht möglich. Der Geocodierer weist diese Datensätze daher zurück. Insgesamt gilt: Wenn ein Geocodierer räumliche Daten generiert, die ungenügend oder weitgehend ungenau sind, können Sie dieses Problem eventuell umgehen, indem Sie die Genauigkeit ändern und den Geocodierer erneut starten.

Es gibt mehrere Möglichkeiten, die Anzahl oder den Bereich der Datensätze zu steuern, die ein Geocodierer vor dem Festschreiben bearbeitet:

Methode 1

Ein Geocodierer kann vor jeder Festschreibung Adressdaten in einer bestimmten Anzahl von Datensätzen geocodieren. Mit diese Methode kann die Größe der Arbeitseinheiten genau gesteuert werden. Allerdings ist der Systemaufwand bei dieser Methode erheblich höher als bei den übrigen hier vorgestellten Methoden.

Geben Sie zur Verwendung von Methode 1 die Anzahl der Datensätze an, die vor jeder Festschreibung verarbeitet werden sollen. Wenn Sie mit der Steuerzentrale arbeiten, stellen Sie diese Zahl mit dem Drehknopf Commit scope im Fenster Run Geocoder ein. Wenn Sie ein Anwendungsprogramm schreiben, ordnen Sie diese Zahl dem Parameter commitScope der gespeicherten Prozedur db2gse.gse_run_gc zu.

Methode 2

Ein Geocodierer kann vor jeder Festschreibung Adressdaten in allen Datensätzen einer Tabelle geocodieren. Bei dieser Methode verarbeitet der Geocodierer die Datensätze ähnlich wie eine Stapeloperation, wobei der Systemaufwand pro Datensatz erheblich niedriger ist als bei Methode 1. Allerdings können Sie bei dieser Methode die Größe der Arbeitseinheit nicht im selben Umfang steuern wie bei Methode 1. Infolgedessen haben Sie keinen Einfluss darauf, wie viele Sperren beibehalten werden oder wie viele Protokolleinträge während der Ausführung des Geocodierers erstellt werden. Darüber hinaus müssen Sie den Geocodierer so einstellen, dass er im Fall eines Fehlers, der eine ROLLBACK-Operation erfordert, alle Datensätze erneut verarbeitet. Dies kann erhebliche Ressourcenkosten verursachen, wenn die Tabelle sehr groß ist und der Fehler sowie die ROLLBACK-Operation auftreten, nachdem die meisten Datensätze bereits verarbeitet wurden.

Zum Starten von Methode 2 von der Steuerzentrale aus stellen Sie den Drehknopf Commit scope im Fenster Run Geocoder auf Null. Wenn Sie ein Anwendungsprogramm schreiben, setzen Sie den Parameter commitScope der gespeicherten Prozedur db2gse.gse_run_gc auf Null.

Methode 3

Ein Geocodierer kann vor jeder Festschreibung Adressdaten in einer Untergruppe der Datensätze einer Tabelle geocodieren. Anschließend kann der Geocodierer die Adressdaten in einer zweiten und, falls erforderlich, in einer dritten, einer vierten Untergruppe usw. geocodieren. Der Geocodierer verarbeitet jede Untergruppe ähnlich wie eine Stapeloperation, wobei der Systemaufwand pro Datensatz erheblich niedriger ist als bei Methode 1. Ebenso wie Methode 2 erlaubt jedoch auch Methode 3 keine direkte Einflussnahme auf die Größe der Arbeitseinheit. Außerdem fällt hier Systemaufwand für die mehrfache Einstellung und Ausführung des Geocodierers für jede Untergruppe von Datensätzen an.

So definieren Sie über die Steuerzentrale eine Untergruppe von Datensätzen:

Zur Definition einer Untergruppe von Datensätzen in einem Anwendungsprogramm codieren Sie die gespeicherte Prozedur db2gse.gse_run_gc wie folgt:


[ Seitenanfang | Vorherige Seite | Nächste Seite ]