Diferencias de implementación de SQL para el tipo ST_Geometry
Hay una diferencia entre la implementación de SQL espacial (ST_Geometry) implementación para Informix, DB2, Oracle y PostgreSQL. Esri, un socio y desarrollador asociado del SQL espacial extendido dentro de los productos del sistema de administración de bases de datos (DBMS) de IBM, trabajó en un ambiente de cooperación para asegurar que las normas establecidas por el Consorcio Geoespacial abierto (OGC) se aplicaran en su máxima expresión.
Sin embargo, hay tres excepciones notables, ninguna de las cuales realmente rompe las normas del OGC, pero que son idiosincrasias de implementación de poca importancia de los DBMS en sí mismos.
-
Valores de predicado
Las funciones de predicado de Informix y PostgreSQL devuelven una v para verdadero y una f para falso, mientras que DB2 y el tipo espacial para Oracle 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 devuelve t 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;
-
Entrada de SRID
Para un texto conocido (WKT), un binario conocido (WKB), y representaciones de forma ESRI en DB2, se introduce el Id. de referencia espacial (SRID) por medio del método srid del objeto coordref. Para Informix, Oracle y PostgreSQL, el valor de SRID se ingresa directamente.
En este ejemplo, la SRID de 1 se ingresa directamente a la función linefromtext de Informix.
insert into linestring_test values ( linefromtext('linestring(10.01 20.03, 20.94 21.34, 35.93 19.04)', 1) );
insert into linestring_test values ( linefromtext('linestring(10.01 20.03, 20.94 21.34, 35.93 19.04)',coordref()..srid(1)) );
-
Funciones calificativas
Las funciones ST_Geometry se deben calificar con el nombre del esquema al ejecutar SQL contra las tablas en las geodatabases corporativas en Oracle. Esto es verdadero para todas las geodatabases en Oracle creadas en ArcGIS 9.3 o versiones posteriores.
Puede calificar las funciones ST_Geometry al ejecutar SQL contra las tablas con columnas ST_Geometry en DB2, Informix o PostgreSQL, pero esto no es requerido.