ArcGIS und der PostGIS-Geometrietyp

PostGIS is a product from Refractions Research that can spatially enable PostgreSQL databases. PostGIS follows the Open Geospatial Consortium, Inc., Simple Features specification for SQL.

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.

Um die von ArcGIS unterstützte PostGIS-Version herunterzuladen, besuchen Sie die PostGIS-Website http://www.postgis.org/download/ bzw. http://pgfoundry.org/, um Download-Pfade zu den Dateien zu erhalten. Achten Sie darauf, dass Sie die richtigen Installations- oder Binärdateien für das verwendete Betriebssystem herunterladen.

TippTipp:

Weitere Informationen dazu, welche Version von PostGIS 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. Daher müssen Sie eine Datenbank manuell mit der PostGIS-Vorlage erstellen und eine sde-Anmelderolle im Datenbankcluster und ein sde-Benutzerschema in der Datenbank erzeugen, wenn Sie den PostGIS-Geometrietyp verwenden möchten. Anschließend können Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren verwenden, um eine Geodatabase in der vorhandenen Datenbank zu erstellen.

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.

Auf die räumlich aktivierten Tabellen greifen Sie über ArcGIS for Desktop zu, oder indem Sie Anwendungen über die ArcSDE-C-Anwendungsprogrammierschnittstelle (API) erstellen. 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 auf der PostGIS.org-Website.

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 bei 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/.

9/11/2013