Bestimmte SQL-Funktionen und -Typen werden erstellt, wenn Sie einen der folgenden Schritte ausführen:
- Erstellen einer Geodatabase in einer Oracle- oder PostgreSQL-Datenbank
- Installieren des räumlichen Datentyps "ST_Geometry" in einer Oracle- oder PostgreSQL-Datenbank
- Erstellen einer SQLite-Datenbank mit der ArcPy-Funktion createSQLiteDatabase und Festlegen des räumlichen Datentyps "ST_Geometry"
In Oracle- und PostgreSQL-Datenbanken werden der ST_Geometry-Typ und die zugehörigen Funktionen im Schema des SDE-Benutzers erstellt. In SQLite werden der Typ und die Funktionen in einer Bibliothek gespeichert, die Sie laden müssen, bevor Sie SQL für die SQLite-Datenbank ausführen.
In diesem Abschnitt der Hilfe werden die für die Verwendung mit dem räumlichen Datentyp "ST_Geometry" Funktionen aufgelistet und beschrieben. Die einzelnen Themen sind wie folgt aufgebaut:
- Definition
Eine Beschreibung der Funktion
- Syntax
Die richtige Syntax für die Funktion
Bei relationalen Operatoren spielt die Reihenfolge, in der die Parameter angegeben werden, eine wichtige Rolle: Der erste Parameter bezeichnet die Tabelle, aus der die Auswahl getroffen wird, und der zweite Parameter bezeichnet die Tabelle, die als Filter verwendet wird.
- Rückgabetyp
Der Datentyp, der von der Funktion zurückgegeben wird
- Beispiel
Beispiele, in denen die bestimmte Funktion zum Einsatz kommt
Liste der SQL-Funktionen
Klicken Sie auf die Links unten, um zu den Funktionen zu wechseln, die Sie mit dem ST_Geometry-Typ in Oracle, PostgreSQL und SQLite verwenden können.
Beim Verwenden von "ST_Geometry"-Funktionen in Oracle müssen Sie das Präfix sde. zusammen mit den Funktionen und Operatoren angeben. Beispiel: Bei "ST_Buffer" müssen Sie "sde.ST_Buffer" angeben. Am Präfix sde. erkennt die Software, dass die Funktion im Schema des Benutzers "sde" gespeichert ist. Für PostgreSQL ist die Angabe zwar optional, wird jedoch empfohlen. Beziehen Sie bei Verwendung der Funktionen mit SQLite die Qualifikation nicht mit ein, da SQLite-Datenbanken kein SDE-Schema enthalten.
Wenn Sie Well-Known Text-Zeichenfolgen als Eingabe mit einer ST_Geometry-SQL-Funktion bereitstellen, können Sie zur Angabe sehr großer oder sehr kleiner Werte die wissenschaftliche Schreibweise verwenden. Wenn Sie beispielsweise Koordinaten bei der Konstruktion eines neuen Features mithilfe von Well-Known Text angeben und eine der Koordinaten 0.000023500001816501026 lautet, können Sie stattdessen 2.3500001816501026e-005 eingeben.
ST_Geometry-SQL-Funktionen können nach Verwendung gruppiert werden.
Konstruktorfunktionen
Konstruktorfunktionen verwenden einen Geometrietyp oder eine Textbeschreibung der Geometrie und erstellen eine Geometrie. In der folgenden Tabelle werden die Konstruktorfunktionen aufgelistet und sie enthält Angaben dazu, welche ST_Geometry-Implementierungen sich jeweils unterstützen.
Konstruktorfunktionen
Funktion | Oracle | PostgreSQL | SQLite |
---|---|---|---|
X | X | ||
X | X | ||
X | |||
X | X | X | |
X | X | ||
X | X | ||
X | X | X | |
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | |||
X | X | X | |
X | X | X | |
X | X | X | |
X | |||
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | X | X | |
X | X |
Accessor-Funktionen
Es gibt eine Vielzahl von Funktionen, die eine oder mehrere Geometrien als Eingabe verwenden und bestimmte Informationen über sie zurückgeben.
Einige dieser Accessor-Funktionen überprüfen, ob ein oder mehrere Features bestimmte Kriterien erfüllen. Wenn die Geometrie die Kriterien erfüllt, gibt die Funktion den Wert "1" oder "t" für TRUE (Wahr) zurück. Wenn die Geometrie die Kriterien nicht erfüllt, gibt die Funktion den Wert "0" oder "f" für FALSE (Falsch) zurück.
Wenn nicht anders angegeben, gelten diese Funktionen für alle Implementierungen.
Accessor-Funktionen
ST_GeomFromCollection (nur PostgreSQL) |
ST_GeoSize (nur PostgreSQL) |
ST_Is3d (nur Oracle und SQLite) |
ST_IsMeasured (nur Oracle und SQLite) |
Relationale Funktionen
Relationale Funktionen verwenden Geometrien als Eingabe und ermitteln, ob eine bestimmte Beziehung zwischen den Geometrien besteht. Wenn die Bedingungen einer räumlichen Beziehung erfüllt sind, geben diese Funktionen den Wert "1" oder ein "t" für TRUE (Wahr) aus. Wenn die Bedingungen nicht erfüllt sind (es besteht keine Beziehung), geben diese Funktionen den Wert "0" oder ein "f" für FALSE (Falsch) aus.
Wenn nicht anders angegeben, gelten diese Funktionen für alle Implementierungen.
Relationale Funktionen
ST_DWithin (nur Oracle und PostgreSQL) |
ST_EnvIntersects (nur Oracle und SQLite) |
ST_OrderingEquals(nur Oracle und PostgreSQL) |
Geometriefunktionen
Diese Funktionen führen Analysen für räumliche Daten aus und geben neue räumliche Daten zurück.
Wenn nicht anders angegeben, gelten diese Funktionen für alle Implementierungen.
Geometriefunktionen
ST_Aggr_ConvexHull (nur Oracle und SQLite) |
ST_Aggr_Intersection (nur Oracle und SQLite) |
ST_Aggr_Union (nur Oracle und SQLite) |
ST_Equalsrs (nur PostgreSQL) |