Diferencias de implementación de SQL para el tipo ST_Geometry
Hay poca diferencia en la implementación de SQL espacial (ST_Geometry) para Informix, DB2, Oracle, PostgreSQL y SQLite. Esri (e IBM en el caso de Informix y DB2) trabajó para garantizar que las normas establecidas por el Consorcio Geoespacial abierto (OGC) se aplicaran en la mayor medida posible.
Sin embargo, hay dos excepciones. Ninguna de ellas infringe realmente las normas del OGC, sino que son diferencias de implementación de poca importancia de los sistemas de administración de bases de datos.
-
Valores de predicado
Las funciones de predicado de ST_Geometry en Informix y PostgreSQL devuelven una t para verdadero y una f para falso, mientras que ST_Geometry en DB2, Oracle y SQLite utilizan 1 para verdadero y 0 para falso.
En este ejemplo de Informix SQL, la declaración seleccionada devuelve solamente aquellas ID de construcción para las que la función ST_Contains para los lotes de construcción que contienen huellas de construcción.
select bf.building_id "Building id" from buildingfootprints bf, lots where st_contains(lot,footprint) = 't';
select bf.building_id "Building id" from buildingfootprints bf, lots where sde.st_contains(lot,footprint) = 1;
-
Funciones calificativas
Las funciones ST_Geometry se deben calificar con el nombre del esquema al ejecutar SQL en las tablas de las geodatabases corporativas en Oracle.
Puede calificar las funciones ST_Geometry al ejecutar SQL en las tablas con columnas ST_Geometry en DB2, Informix y PostgreSQL, pero no es necesario.
SQLite no usa nombres de esquema, de modo que no es necesario calificar las funciones ST_Geometry al ejecutar SQL en las tablas con columnas ST_Geometry.