Des fonctions et des types SQL spécifiques sont créés lorsque vous effectuez l'une des opérations suivantes :
- Création d'une géodatabase dans une base de données Oracle ou PostgreSQL.
- Installation du type de données spatiales ST_Geometry dans une base de données Oracle ou PostgreSQL.
- Création d’une base de données SQLite à l’aide de la fonction ArcPy createSQLiteDatabase, suivie de la définition du type de données spatiales ST_Geometry.
Dans les bases de données Oracle et PostgreSQL, le type ST_Geometry et ses fonctions sont créés dans la structure utilisateur sde. Dans SQLite, le type et les fonctions sont stockés dans une bibliothèque que vous devez charger avant d'exécuter SQL dans la base de données SQLite.
Cette section d'aide présente une liste et une description des fonctions pouvant être utilisées avec le type de données spatiales ST_Geometry. Les rubriques de fonction sont structurées comme suit :
- Définition
Une description de la fonction.
- Syntaxe
La syntaxe appropriée pour utiliser la fonction.
Notez qu'avec les opérateurs relationnels, l'ordre dans lequel les paramètres sont spécifiés est important : le premier paramètre correspond à la table à partir de laquelle la sélection est effectuée et le deuxième correspond à la table utilisée comme filtre.
- Type de retour
Le type de données qui est renvoyé lorsque la fonction est exécutée.
- Exemple
Exemples utilisant la fonction spécifique.
Liste des fonctions SQL
Cliquez sur les liens ci-dessous pour accéder aux fonctions que vous pouvez utiliser avec le type ST_Geometry dans Oracle, PostgreSQL et SQLite.
Lors de l'utilisation de fonctions ST_Geometry dans Oracle, vous devez qualifier les fonctions et les opérateurs avec sde. Par exemple, ST_Buffer devient sde.ST_Buffer. L'ajout de sde. indique au logiciel que la fonction est stockée dans la structure de l'utilisateur sde. Pour PostgreSQL, la qualification est facultative, mais il est judicieux d'inclure le qualificateur. N'incluez pas la qualification lorsque vous utilisez les fonctions avec SQLite, car les bases de données SQLite ne comportent pas de structure sde.
Lorsque vous indiquez des chaînes de texte connu en entrée pour une fonction SQL ST_Geometry, vous pouvez utiliser une notation scientifique pour spécifier des valeurs très grandes ou très petites. Par exemple, si vous spécifiez des coordonnées sous forme de texte connu lors de la création d’une nouvelle entité, et que l’une des coordonnées est 0.000023500001816501026, vous pouvez saisir 2.3500001816501026e-005 à la place.
Les fonctions SQL ST_Geometry peuvent être groupées selon leur utilisation.
Fonctions constructeur
Les fonctions constructeur partent d'un type de géométrie ou d'un texte de description de géométrie et créent une géométrie. Le tableau suivant répertorie les fonctions constructeur et indique les implémentations ST_Geometry qui les prennent en charge.
Fonctions constructeur
Fonction | 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 |
Fonctions accesseur
Il existe plusieurs fonctions qui prennent une ou plusieurs géométries en entrée et renvoient des informations spécifiques à leur sujet.
Certaines fonctions accesseur s'attachent à déterminer si une ou plusieurs fonctions répondent à certains critères. Si la géométrie répond aux critères, la fonction renvoie 1 ou t pour TRUE. Dans le cas contraire, elle renvoie 0 ou f pour FALSE.
Ces fonctions s'appliquent à toutes les implémentations, sauf mention contraire.
Fonctions accesseur
ST_Entity (Oracle et SQLite uniquement) |
ST_GeomFromCollection (PostgreSQL uniquement) |
ST_GeoSize (PostgreSQL uniquement) |
ST_Is3d (Oracle et SQLite uniquement) |
ST_IsMeasured (Oracle et SQLite uniquement) |
Fonctions relationnelles
Les fonctions relationnelles acceptent des géométries en entrée et déterminent s'il existe une relation spécifique entre elles. Si les conditions de la relation spatiale sont remplies, ces fonctions renvoient 1 ou t pour TRUE. Dans le cas contraire (il n'existe aucune relation), ces fonctions renvoient 0 ou f pour FALSE.
Ces fonctions s'appliquent à toutes les implémentations, sauf mention contraire.
Fonctions relationnelles
ST_DWithin (PostgreSQL uniquement) |
ST_EnvIntersects (Oracle et SQLite uniquement) |
ST_OrderingEquals(Oracle et PostgreSQL uniquement) |
Fonctions de géométrie
Ces fonctions partent de données spatiales, les soumettent à diverses analyses et en renvoient de nouvelles.
Ces fonctions s'appliquent à toutes les implémentations, sauf mention contraire.
Fonctions de géométrie
ST_Aggr_ConvexHull (Oracle et SQLite uniquement) |
ST_Aggr_Intersection (Oracle et SQLite uniquement) |
ST_Aggr_Union (Oracle et SQLite uniquement) |
ST_Equalsrs (PostgreSQL uniquement) |