ArcGIS und der PostGIS-Geometrietyp

PostGIS ist ein Produkt, das PostgreSQL-Datenbanken räumlich aktiviert. PostGIS folgt der Simple Features-Spezifikation des Open Geospatial Consortium, Inc. (OGC) für SQL (Structured Query Language). Es verwendet das OGC Well-Known Binary (WKB)- und Well-Known Text (WKT)-Format für Geometrie.

PostGIS verfügt über zwei räumliche Typoptionen: GEOMETRY oder GEOGRAPHY. Nur der Geometrietyp wird mit ArcGIS unterstützt.

Wenn Sie den PostGIS-Geometriespeichertyp mit ArcGIS verwenden, beachten Sie die folgenden Regeln:

Die folgenden Abschnitte enthalten weitere Informationen zum Verwenden des PostGIS-Geometriespeichertyps mit ArcGIS-Anwendungen.

Vorbereiten der Datenbank zur Verwendung der PostGIS-Geometrie

Um den PostGIS-Geometrietyp verwenden zu können, müssen Sie PostGIS installieren. Installieren Sie PostGIS nach der Installation von PostgreSQL. Stellen Sie sicher, dass die installierte PostGIS-Version von der verwendeten ArcGIS-Version unterstützt wird.

TippTipp:

Weitere Informationen dazu, welche PostGIS-Version von Ihrer ArcGIS-Version unterstützt wird, finden Sie im ArcGIS Resource Center auf der Seite für Datenbank-Systemanforderungen.

Wenn Sie PostGIS installieren, wird eine PostGIS-Vorlagendatenbank im PostgreSQL-Datenbank-Cluster erstellt. Verwenden Sie diese PostGIS-Vorlagendatenbank, um eine Datenbank zu erstellen, in der die Geodatabase gespeichert wird.

HinweisHinweis:

Wenn Sie die Geodatabase mithilfe des Geoverarbeitungswerkzeugs Enterprise-Geodatabase erstellen erstellen, wird die Datenbank mit einer anderen Vorlage als der PostGIS-Vorlage erstellt. Wenn Sie also den PostGIS-Geometrietyp verwenden möchten, müssen Sie eine Datenbank manuell mit der PostGIS-Vorlage erstellen. Wenn Sie dann die vorhandene Datenbank beim Ausführen des Geoverarbeitungswerkzeugs Enterprise-Geodatabase erstellen angeben, wird die Geodatabase darin erstellt.

Gewähren von Benutzerrechten zum Erstellen von Tabellen mit PostGIS-Geometriespalten

Wenn eine Datenbank für PostGIS aktiviert wird, werden zwei Tabellen – "geometry_columns" und "spatial_ref_sys" – im Schema "public" erstellt. Sie müssen dem Benutzer "sde" sowie allen anderen Benutzern, die Daten in der Geodatabase erstellen, für die Tabelle "geometry_columns" mindestens die Berechtigungen "SELECT", "INSERT", "UPDATE" und "DELETE" und für die Tabelle "spatial_ref_sys" die Berechtigung "SELECT" gewähren.

GRANT select, insert, update, delete 
ON TABLE public.geometry_columns 
TO <user_name>;

GRANT select
ON TABLE public.spatial_ref_sys
TO <user_name>;

Erstellen von Feature-Classes in einer Geodatabase in PostgreSQL mit PostGIS-Geometriespeicher

Sobald die Datenbank für die Speicherung von PostGIS-Geometrie aktiviert wurde, können Sie räumliche Tabellen mit räumlichen Spalten vom Typ "geometry" erstellen. Geographische Features können in die räumlichen Spalten eingefügt werden.

Sie können über ArcGIS for Desktop oder durch die Erstellung von Anwendungen, die die ArcSDE-C-API (Application Programming Interface) verwenden, auf die räumlich aktivierten Tabellen zugreifen. Wenn Sie ein erfahrener SQL-Programmierer sind, können Sie die räumlichen Funktionen auch aufrufen.

Erstellen von Feature-Classes mit ArcGIS

Der Geometriespeichertyp, der für mit ArcGIS erstellte Feature-Classes verwendet wird, wird durch eine Parametereinstellung in der Tabelle "sde_dbtune" gesteuert. Der Parameter ist "GEOMETRY_STORAGE". In PostgreSQL-Geodatabases kann dieser auf "ST_GEOMETRY" oder "PG_GEOMETRY" (die Einstellung für den PostGIS-Geometrietyp) festgelegt werden. Wenn Sie eine Feature-Class mit ArcGIS erstellen möchten, die den PostGIS-Speichertyp verwendet, müssen Sie daher ein Konfigurationsschlüsselwort angeben, in dem der Parameter "GEOMETRY_STORAGE" auf "PG_GEOMETRY" festgelegt wurde.

Standardmäßig wird als Geometriespeichertyp für neue Feature-Classes in einer ArcSDE-Geodatabase für PostgreSQL "ST_Geometry" verwendet. Wenn Sie jedoch einen Großteil der Daten als PostGIS-Speichertyp speichern möchten, können Sie den Wert des Parameters "GEOMETRY_STORAGE" unter dem Schlüsselwort "DEFAULTS" in der Tabelle "sde_dbtune" in "PG_GEOMETRY" ändern. (Verwenden Sie den Befehl "sdedbtune", um Parameter in der Tabelle "sde_dbtune" zu ändern. Informationen zum Verwenden dieses Befehls finden Sie in der "ArcSDE Administration Command Reference".) Wenn Sie nur einige wenige Feature-Classes im PostGIS-Speichertyp speichern möchten, können Sie beim Erstellen der betreffenden Feature-Class stattdessen das Konfigurationsschlüsselwort "PG_GEOMETRY" angeben. In der Datei "dbtune.sde", die durch den Export des Inhalts der Tabelle "sde_dbtune" mit dem Befehl "sdedbtune" erstellt werden kann, wird das Schlüsselwort PG_GEOMETRY folgendermaßen angezeigt:

##PG_GEOMETRY
GEOMETRY_STORAGE    "PG_GEOMETRY"
UI_TEXT             "User Interface text description for POSTGIS geometry storage" 
END

Der Rest der Speicherparameter wird aus dem Schlüsselwort "DEFAULTS" übernommen. Weitere Informationen zum sde_dbtune-Speicher finden Sie in den folgenden Themen:

Verwenden vorhandener PostGIS-Tabellen

ArcGIS kann Tabellen verwenden, die PostGIS-Geometriespalten enthalten, die extern von anderen Anwendungen oder mithilfe von SQL erstellt wurden (auch als Tabellen von Drittanbietern bezeichnet), solange die Tabellen die folgenden Voraussetzungen erfüllen:

Informationen zum Erstellen von Tabellen mit einer PostGIS-Spalte mithilfe von SQL finden Sie in der PostGIS-Dokumentation.

Registrieren von externen Tabellen mit PostGIS-Geometriespalten

Sie können eine Verbindung mit einer PostgreSQL-Datenbank herstellen, die PostGIS-Tabellen von ArcGIS for Desktop enthält, und sie in der Geodatabase registrieren. Weitere Informationen finden Sie unter Registrieren einer Tabelle in der Geodatabase.

Weitere PostGIS- und PostgreSQL-Dokumentation

Die PostGIS-Dokumentation finden Sie auf der PostGIS-Website unter http://www.postgis.org/documentation/.

Allgemeine Informationen zu PostgreSQL finden Sie in der Dokumentation auf der PostgreSQL-Website unter http://www.postgresql.org/docs/.

5/9/2014