ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

In ArcGIS unterstützte PostgreSQL-Datentypen

  • Geometriedatentypen
  • Raster-Datentypen

Beim Erstellen einer Tabelle oder Hinzufügen einer Spalte zur Tabelle einer Datenbank definieren Sie einen bestimmten Datentyp für die Spalte. Durch Datentypen wird Folgendes festgelegt:

  • Welche Werte in der Spalte gespeichert werden können
  • Welche Operationen mit den Daten in dieser Spalte ausgeführt werden dürfen
  • Wie die Daten aus dieser Spalte in der Datenbank gespeichert werden

ArcGIS verwendet bestimmte Datentypen. Wenn Sie über eine Datenbankverbindung oder über einen Abfrage-Layer auf eine Datenbanktabelle zugreifen, filtert ArcGIS alle nicht unterstützten Datentypen heraus. Da nicht unterstützte Datentypen in ArcGIS nicht angezeigt werden, können Sie sie in ArcGIS nicht bearbeiten. Wenn beispielsweise ArcGIS zum Kopieren und Einfügen von Tabellen, die nicht unterstützte Datentypen enthalten, von einer Datenbank in eine andere verwendet wird, fügt ArcGIS nur die Spalten ein, deren Datentyp unterstützt wird.

Die erste Spalte der folgenden Tabelle enthält die ArcGIS-Datentypen. In der zweiten Spalte sind die von ArcGIS erstellten PostgreSQL-Datentypen aufgeführt. In der dritten Spalte ist aufgelistet, welche weiteren PostgreSQL-Datentypen (sofern vorhanden) dem ArcGIS-Datentyp zugeordnet werden, wenn Sie eine Tabelle anzeigen, die außerhalb von ArcGIS erstellt wurde. Die letzte Spalte enthält ggf. zusätzliche Informationen.

ArcGIS-DatentypenErstellte PostgreSQL-DatentypenAndere PostgreSQL-Datentypen, die angezeigt werden könnenHinweise

BLOB

BYTEA

DATE

TIMESTAMP WITHOUT ZONE

TIMESTAMP

DOUBLE

NUMERIC(p)

BIG SERIAL, DOUBLE PRECISION

Die Genauigkeit und die Anzahl der Dezimalstellen, die in ArcGIS angegeben sind, können Auswirkungen auf den resultierenden Datentyp haben, der in der Datenbank erstellt wird. Weitere Informationen finden Sie unter ArcGIS-Felddatentypen.

FLOAT

NUMERIC(p)

Die Genauigkeit und die Anzahl der Dezimalstellen, die in ArcGIS angegeben sind, können Auswirkungen auf den resultierenden Datentyp haben, der in der Datenbank erstellt wird. Weitere Informationen finden Sie unter ArcGIS-Felddatentypen.

GEOMETRY

ST_GEOMETRY or GEOMETRY (PostGIS)

In einer Geodatabase wird der in der Datenbank erstellte Datentyp durch die Einstellung "GEOMETRY_STORAGE" des Konfigurationsschlüsselworts bestimmt, das beim Erstellen der Feature-Class verwendet wird.

Um den Typ "ST_Geometry" in einer Datenbank (nicht Geodatabase) verwenden zu können, müssen Sie ihn installieren. Weitere Informationen finden Sie unter Hinzufügen des Typs "ST_Geometry" zu einer PostgreSQL-Datenbank.

Sie müssen PostGIS in Ihrem PostgreSQL-Datenbank-Cluster installieren und die Datenbank muss für die Verwendung von PostGIS aktiviert werden, damit Sie den PostGIS-Geometrietyp verwenden können. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation.

GLOBAL ID

VARCHAR(38)

Wird nur in Geodatabases unterstützt.

GUID

VARCHAR(38)

LONG INTEGER

INTEGER

SERIAL

OBJECT ID

INTEGER in einer Geodatabase

SERIAL in einer Datenbank

Die ArcGIS-Typ-ObjektID ist die registrierte Zeilen-ID-Spalte für die Tabelle (oder Feature-Class). Pro Tabelle gibt es nur eine.

RASTER

BYTEA or ST_RASTER

Raster werden nur in Geodatabases unterstützt. Der erstellte PostgreSQL-Datentyp hängt vom Konfigurationsschlüsselwort ab, das beim Erstellen des Raster-Katalogs, Raster-Datasets oder Mosaik-Datasets verwendet wurde.

Sie müssen den Typ "ST_Raster" in der Geodatabase getrennt konfigurieren, wenn Sie ihn verwenden möchten. Anweisungen finden Sie unter Installieren von ST_Raster in PostgreSQL.

SHORT INTEGER

SMALLINT

REAL

TEXT

CHARACTER VARYING

CHARACTER, VARCHAR, TEXT

In ArcGIS unterstützte PostgreSQL-Datentypen

Wenn die Tabelle eine Spalte mit einem Datentyp enthält, der nicht in ArcGIS unterstützt wird, können Sie die Spalte in Text umwandeln. Dies sollte jedoch nur dann erfolgen, wenn Sie die Werte in der Spalte lediglich anzeigen möchten, keinesfalls, um Analysen anhand der Werte in dieser Spalte durchzuführen. Sie können z. B. eine SELECT-Anweisung ausführen, um die Spalten in "tableb" auszuwählen und die Dezimalspalte (total) in Text umzuwandeln:

SELECT id, name, total::text
 FROM me.mydb.tableb;

Geometriedatentypen

Wie in der Tabelle angegeben, können von ArcGIS zwei Geometriedatentypen in PostgreSQL erstellt und verwendet werden: "ST_Geometry" von Esri oder "PostGIS Geometry". Die nächsten zwei Abschnitte enthalten weitere Hintergrundinformationen zu diesen beiden Datentypen.

ST_Geometry

Nachfolgend finden Sie eine allgemeine Beschreibung des räumlichen Datentyps "ST_Geometry". Spezifische Informationen zur PostgreSQL-Implementierung finden Sie unter "ST_Geometry" in PostgreSQL.

Der Datentyp "ST_Geometry" implementiert die SQL 3-Spezifikation benutzerdefinierter Datentypen (UDTs) und ermöglicht es Ihnen, Spalten zu erstellen, die zum Speichern von räumlichen Daten wie der Lage eines Orientierungspunktes, einer Straße oder eines Flurstückes geeignet sind. Er stellt den International Organization for Standards (ISO)- und Open Geospatial Consortium, Inc. (OGC)-kompatiblen SQL-Zugriff (Structured Query Language) auf die Geodatabase und die Datenbank bereit. Dieser Speichertyp erweitert die Funktionen der Datenbank, indem er die Speicherung von Objekten (Punkte, Linien und Polygone) ermöglicht, die geographische Features darstellen. Er wurde für die effiziente Verwendung von Datenbankressourcen, die Kompatibilität mit Datenbank-Features, wie z. B. Replikation und Partitionierung, und den schnellen Zugriff auf räumliche Daten entwickelt.

"ST_Geometry" selbst ist eine abstrakte, nicht instanziierte übergeordnete Objektklasse. Ihre Subclasses können jedoch instanziiert sein. Bei einem instanziierten Datentyp handelt es sich um einen Datentyp, der als Tabellenspalte definiert werden kann und darin eingefügte Werte seines Typs aufweisen kann.

Eine Spalte kann zwar als Typ "ST_Geometry" definiert werden, es werden jedoch keine ST_Geometry-Werte in die Spalte eingefügt, da sie nicht instanziiert werden kann. Stattdessen werden die Subclass-Werte eingefügt.

Im folgenden Diagramm wird die Hierarchie des Datentyps "ST_Geometry-Datentyps" und seiner Subclasses veranschaulicht.

ST_Geometry
Die übergeordnete Objektklasse "ST_Geometry" und ihre Subclasses

Die Subclasses von "ST_Geometry" sind in zwei Kategorien unterteilt: die Subclasses der Basisgeometrie und die Subclasses der homogenen Sammlung. Die Basisgeometrien umfassen "ST_Point", "ST_LineString" und "ST_Polygon", während die homogenen Sammlungen "ST_MultiPoint", "ST_MultiLineString" und "ST_MultiPolygon" umfassen. Wie der Name schon besagt, handelt es sich bei den homogenen Sammlungen um Sammlungen der Basisgeometrien. Homogene Sammlungen weisen neben den mit der Basisgeometrie gemeinsamen Eigenschaften auch eigene Eigenschaften auf.

Jede Subclass speichert den durch ihren Namen implizierten Geometrietyp: "ST_MultiPoint" speichert beispielsweise Multipoints. In der folgenden Tabelle finden Sie eine Liste mit den Subclasses und die dazugehörigen Beschreibungen:

SubtypeBeschreibung

ST_Point

  • Eine nulldimensionale Geometrie, die eine einzelne Position in einem Koordinatenbereich einnimmt.
  • Besitzt einen XY-Koordinatenwert, ist immer eine einfache Geometrie und weist eine NULL-Grenze auf.

ST_LineString

  • Ein eindimensionales Objekt, das als Folge von Punkten gespeichert ist und einen linearen interpolierten Pfad definiert.
  • "ST_LineStrings" besitzen eine Länge.
  • Der "ST_LineString" besitzt eine einfache Geometrie, wenn er seinen Innenbereich nicht schneidet.
  • Die Endpunkte (Grenze) eines geschlossenen "ST_LineString" nehmen denselben Punkt im Raum ein.
  • Ein "ST_LineString" ist ein Ring, wenn er geschlossen ist und eine einfache Geometrie aufweist.
  • Die Endpunkte bilden im Normalfall die Grenze eines "ST_LineString". Wenn der "ST_LineString" geschlossen ist, ist die Grenze jedoch NULL.
  • Der Innenbereich eines "ST_LineString" ist der verbundene Pfad, der zwischen den Endpunkten liegt. Wenn er geschlossen ist, gibt es einen durchgehenden Innenbereich.

ST_Polygon

  • Eine zweidimensionale Oberfläche, die als Folge von Punkten gespeichert ist und den umfassenden äußeren Ring sowie Null oder mehr innere Ringe definiert.
  • "ST_Polygon" weist eine Fläche auf und ist immer eine einfache Geometrie.
  • Der äußere und alle inneren Ringe definieren die Grenze eines "ST_Polygon". Der Raum, der zwischen den Ringen eingeschlossen ist, definiert den Innenbereich des "ST_Polygon".
  • Die Ringe eines "ST_Polygon" dürfen sich an einem Tangentenpunkt schneiden, jedoch nicht kreuzen.

ST_MultiPoint

  • Eine Sammlung von ST_Points.
  • Weist die Dimension 0 auf.
  • Ein "ST_MultiPoint" ist einfach, wenn keines seiner Elemente den gleichen Koordinatenbereich einnimmt.
  • Die Grenze eines "ST_MultiPoint" beträgt NULL.

ST_MultiLineString

  • Eine Sammlung von ST_LineStrings.
  • "ST_MultiLineStrings" besitzen eine Länge.
  • "ST_MultiLineStrings" sind einfach, wenn sich nur die Endpunkte der "ST_LineString"-Elemente schneiden.
  • "ST_MultiLineStrings" sind komplex, wenn sich die Innenbereiche der "ST_LineString"-Elemente schneiden.
  • Die Grenze eines "ST_MultiLineString" bilden die Endpunkte der "ST_LineString"-Elemente, die nicht geschnitten werden.
  • Der "ST_MultiLineString" ist geschlossen, wenn alle "ST_LineString"-Elemente geschlossen sind.
  • Die Grenze eines "ST_MultiLineString" ist NULL, wenn alle Endpunkte aller Elemente geschnitten werden.

ST_MultiPolygon

  • Eine Sammlung von Polygonen.
  • "ST_MultiPolygons" besitzen eine Fläche.
  • Die Grenze eines ST_MultiPolygon ist die kumulative Länge der äußeren und inneren Ringe seiner Elemente.
  • Der Innenbereich eines "ST_MultiPolygon" ist als die kumulativen Innenbereiche der zugehörigen "ST_Polygon"-Elemente definiert.
  • Die Grenzen der Elemente eines "ST_MultiPolygon" dürfen sich nur an einem Tangentenpunkt schneiden.

ST_Geometry-Subtypes

Beachten Sie, dass jede Subclass die Eigenschaften der übergeordneten Objektklasse "ST_Geometry" erbt, aber auch über eigene Eigenschaften verfügt. Bei Funktionen, die für den Datentyp "ST_Geometry" verwendet werden können, sind alle Subclass-Entitätstypen zulässig. Einige Funktionen wurden jedoch auf Subclass-Ebene definiert und nehmen nur bestimmte Subclasses an. Die Funktion "ST_GeometryN" akzeptiert beispielsweise nur die Subtype-Werte "ST_MultiLinestring", "ST_MultiPoint" oder "ST_MultiPolygon" als Eingabe.

PostGIS-Geometrie

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:

  • Sie müssen die PostGIS-Datenbank-Vorlage verwenden, um die PostgreSQL-Datenbank zu erstellen, die Sie für die Geodatabase verwenden, oder Sie müssen PostGIS in der Datenbank aktivieren.
    Hinweis:

    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.

  • Dem Benutzer "sde" und allen anderen Benutzern, die Daten in der Geodatabase erstellen, müssen Berechtigungen für bestimmte PostGIS-Tabellen gewährt werden.
  • Von Ihnen erstellte Feature-Classes können nur die in der PostGIS-Tabelle "public.spatial_ref_sys" aufgeführten Raumbezüge verwenden. Wenn Sie einen Raumbezug angeben, der nicht in dieser Tabelle enthalten ist, schlägt die Erstellung der Feature-Class fehl.
  • Sie müssen ein Konfigurationsschlüsselwort angeben, in dem der Parameter "GEOMETRY_STORAGE" auf "PG_GEOMETRY" festgelegt wurde, um eine Feature-Class zu erstellen, die den PostGIS-Geometrietyp verwendet.
  • Sie können räumliche Tabellen, die mit dem PostGIS-Geometrietyp gespeichert wurden, nicht umbenennen. Das liegt daran, dass es keine PostGIS-Funktion gibt, um den Tabellennamen in der Tabelle "public.geometry_columns" zu aktualisieren.

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.

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.

Gewähren von Berechtigungen zum Erstellen von 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, die PostGIS-Geometrie verwenden

ArcGIS verwendet eine Konfigurationsparametereinstellung in der Tabelle "sde_dbtune", um zu bestimmen, welcher räumliche Datentyp bei der Erstellung einer Feature-Class erstellt werden soll. 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 verwenden neue Feature-Classes den Speichertyp "ST_Geometry". 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 Konfigurationsschlüsselwort DEFAULTS in der Tabelle "sde_dbtune" in PG_GEOMETRY ändern. Wenn Sie nur einige wenige Feature-Classes im PostGIS-Speichertyp speichern möchten, können Sie beim Erstellen der Feature-Class das Konfigurationsschlüsselwort PG_GEOMETRY angeben. Beim Export aus der Geodatabase 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 zu Konfigurationsschlüsselwörtern und Parametern finden Sie in den folgenden Themen:

  • Konfigurationsschlüsselwörter
  • Konfigurationsparameter in PostgreSQL

Verwenden von vorhandenen Geometrietabellen

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:

  • Die Tabelle darf nur eine einzelne Geometriespalte enthalten. Sollte dies nicht zutreffen, definieren Sie einen Abfrage-Layer oder eine Ansicht, die nur eine der Geometriespalten enthält.
  • Die Tabelle darf keine weiteren benutzerdefinierten Spalten enthalten.
  • Die Tabelle darf nur einen Geometrietyp aufweisen (Punkte, Linien oder Polygone), Multipart-Geometrie ist jedoch zulässig.
  • Die Tabelle muss eine eindeutige Spalte vom Typ "Integer" ohne NULL-Werte (NOT NULL) enthalten, die sich als registrierte Zeilen-ID-Spalte eignet.
  • Die Tabelle muss einen räumlichen Index haben.

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

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.

Raster-Datentypen

Sie können Raster in einer Geodatabase in PostgreSQL mit dem Datentyp "bytea" oder "ST_Raster" speichern. Standardmäßig wird "bytea" verwendet. Wenn Sie "ST_Raster" verwenden möchten, müssen Sie die Verwendung dieses Datentyps in der Geodatabase konfigurieren.

Bytea

"Bytea" ist ein binärer Zeichenfolgendatentyp variabler Länge, der von PostgreSQL verwendet wird. Er hat Ähnlichkeit mit BLOB. Weitere Informationen zu diesem Datentyp finden Sie in der PostgreSQL-Dokumentation.

ST_Raster

"ST_Raster" ist ein benutzerdefinierter Datentyp, der in Enterprise-Geodatabases installiert werden kann, um SQL-Zugriff auf Raster-Daten bereitzustellen.

Zur Verwendung des Datentyps "ST_Raster" müssen Sie diesen in der Datenbank konfigurieren.

Ausführliche Informationen zur Definition des Objekttyps "ST_Raster" finden Sie unter Der ST_Raster-Datentyp.

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches