SnowConvert AI - Oracle - Types spatiaux¶
Description¶
Oracle Spatial and Graph est conçu pour rendre la gestion des données spatiales plus facile et plus naturelle pour les utilisateurs d’applications de localisation, de systèmes d’information géographique (GIS) et d’applications de géolocalisation. (Référence linguistique Oracle SQL Types spatiaux).
{ SDO_Geometry | SDO_Topo_Geometry |SDO_GeoRaster }
SDO_GEOMETRY¶
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
La description géométrique d’un objet spatial est stockée dans une seule ligne, dans une seule colonne du type d’objet SDO_GEOMETRY dans une table définie par l’utilisateur. Toute table comportant une colonne de type SDO_GEOMETRY doit comporter une autre colonne, ou un ensemble de colonnes, définissant une clé primaire unique pour cette table. (Référence linguistique Oracle SQL Type de données SDO_GEOMETRY)
Définition de l’objet SDO_GEOMETRY :
CREATE TYPE SDO_GEOMETRY AS OBJECT
(sgo_gtype NUMBER,
sdo_srid NUMBER,
sdo_point SDO_POINT_TYPE,
sdo_elem_info SDO_ELEM_INFO_ARRAY,
sdo_ordinates SDO_ORDINATE_ARRAY);
/
L’objet SDO_GEOMETRY n’est pas pris en charge dans Snowflake. Une solution de contournement pour ce type de données consiste à utiliser le support Snowflake GEOGRAPHY, mais cette transformation n’est actuellement pas prise en charge par SnowConvert.
Modèles d’échantillons de sources¶
SDO_GEOMETRY dans Create Table¶
Oracle¶
CREATE TABLE geometry_table(
geometry_column SDO_GEOMETRY
);
Snowflake¶
CREATE OR REPLACE TABLE geometry_table (
geometry_column GEOMETRY
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
;
Insertion de données dans la table SDO_GEOMETRY¶
Oracle¶
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY('POINT(-79 37)')
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY('LINESTRING(1 3, 1 5, 2 7)')
);
INSERT INTO geometry_table VALUES (
MDSYS.SDO_GEOMETRY(
2001,
8307,
MDSYS.SDO_POINT_TYPE (
-86.13631,
40.485424,
NULL),
NULL,
NULL
)
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY(
2003,
12,
SDO_POINT_TYPE(12, 14, -5),
SDO_ELEM_INFO_ARRAY(1,1003,3),
SDO_ORDINATE_ARRAY(1,1, 5,7)
)
);
INSERT INTO geometry_table VALUES (
NULL);
Snowflake¶
INSERT INTO geometry_table
VALUES (
SDO_GEOMETRY('POINT(-79 37)') !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_GEOMETRY' NODE ***/!!!
);
INSERT INTO geometry_table
VALUES (
SDO_GEOMETRY('LINESTRING(1 3, 1 5, 2 7)') !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_GEOMETRY' NODE ***/!!!
);
INSERT INTO geometry_table
VALUES (
MDSYS.SDO_GEOMETRY(
2001,
8307,
MDSYS.SDO_POINT_TYPE (
-86.13631,
40.485424,
NULL) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'MDSYS.SDO_POINT_TYPE' NODE ***/!!!,
NULL,
NULL
) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'MDSYS.SDO_GEOMETRY' NODE ***/!!!
);
INSERT INTO geometry_table
VALUES (
SDO_GEOMETRY(
2003,
12,
SDO_POINT_TYPE(12, 14, -5) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_POINT_TYPE' NODE ***/!!!,
SDO_ELEM_INFO_ARRAY(1,1003,3) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_ELEM_INFO_ARRAY' NODE ***/!!!,
SDO_ORDINATE_ARRAY(1,1, 5,7) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_ORDINATE_ARRAY' NODE ***/!!!
) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_GEOMETRY' NODE ***/!!!
);
INSERT INTO geometry_table
VALUES (
NULL);
Migration à l’aide du type de données GEOGRAPHY¶
Oracle¶
CREATE TABLE geometry_table(
geometry_column SDO_GEOMETRY
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY('POINT(-79 37)')
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY('LINESTRING(1 3, 1 5, 2 7)')
);
/*
--NOT SUPPORTED BY SNOWFLAKE GEOGRAPHY
INSERT INTO geometry_table VALUES (
MDSYS.SDO_GEOMETRY(
2001,
8307,
MDSYS.SDO_POINT_TYPE (
-86.13631,
40.485424,
NULL),
NULL,
NULL
)
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY(
2003,
12,
SDO_POINT_TYPE(12, 14, -5),
SDO_ELEM_INFO_ARRAY(1,1003,3),
SDO_ORDINATE_ARRAY(1,1, 5,7)
)
);
*/
SELECT * FROM geometry_table;
Résultat¶
GEOMETRY_COLUMN |
|---|
[2001, null, [-79, 37, null], [NULL], [NULL]] |
[2002, null, [null, null, null], [1,2,1], [1,3,1,5,2,7]] |
Snowflake¶
CREATE OR REPLACE TABLE geometry_table (
geometry_column GEOMETRY
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
;
INSERT INTO geometry_table
VALUES (
SDO_GEOMETRY('POINT(-79 37)') !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_GEOMETRY' NODE ***/!!!
);
INSERT INTO geometry_table
VALUES (
SDO_GEOMETRY('LINESTRING(1 3, 1 5, 2 7)') !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_GEOMETRY' NODE ***/!!!
);
/*
--NOT SUPPORTED BY SNOWFLAKE GEOGRAPHY
INSERT INTO geometry_table VALUES (
MDSYS.SDO_GEOMETRY(
2001,
8307,
MDSYS.SDO_POINT_TYPE (
-86.13631,
40.485424,
NULL),
NULL,
NULL
)
);
INSERT INTO geometry_table VALUES (
SDO_GEOMETRY(
2003,
12,
SDO_POINT_TYPE(12, 14, -5),
SDO_ELEM_INFO_ARRAY(1,1003,3),
SDO_ORDINATE_ARRAY(1,1, 5,7)
)
);
*/
SELECT * FROM
geometry_table;
Résultat¶
GEOMETRY_COLUMN |
|---|
POINT(-79 37) |
LINESTRING(1 3,1 5,2 7) |
SDO_GEORASTER¶
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Dans le modèle objet-relationnel GeoRaster, un objet grille ou image est stocké sur une seule ligne, dans une seule colonne de type objet
SDO_GEORASTERdans une table définie par l’utilisateur. (Référence linguistique Oracle SQL Type de données SDO_GEORASTER).
Définition de l’objet SDO_GEORASTER :
CREATE TYPE SDO_GEORASTER AS OBJECT
(rasterType NUMBER,
spatialExtent SDO_GEOMETRY,
rasterDataTable VARCHAR2(32),
rasterID NUMBER,
metadata XMLType);
/
Note
SDO\GEORASTER est désactivé par défaut, pour activer son utilisation, suivez les étapes décrites dans cette section de la documentation Oracle.
L’objet SDO_GEORASTER n’est pas pris en charge dans Snowflake.
Modèles d’échantillons de sources¶
SDO_GEORASTER dans Create Table¶
Oracle¶
CREATE TABLE georaster_table(
georaster_column SDO_GEORASTER
);
Snowflake¶
CREATE OR REPLACE TABLE georaster_table (
!!!RESOLVE EWI!!! /*** SSC-EWI-0028 - TYPE NOT SUPPORTED BY SNOWFLAKE ***/!!!
georaster_column SDO_GEORASTER
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
;
Insertion de données dans la table SDO_GEORASTER¶
Oracle¶
INSERT INTO georaster_table VALUES (null);
INSERT INTO georaster_table VALUES (sdo_geor.init('RDT_11', 1));
Snowflake¶
INSERT INTO georaster_table
VALUES (null);
INSERT INTO georaster_table
VALUES (
!!!RESOLVE EWI!!! /*** SSC-EWI-OR0076 - TRANSLATION FOR BUILT-IN PACKAGE 'sdo_geor.init' IS NOT CURRENTLY SUPPORTED. ***/!!!
'' AS init);
Problèmes connus¶
1. Type de données SDO_GEORASTER non transformé
Le type de données SDO_GEORASTER n’est pas transformé par SnowConvert.
EWIs connexes¶
SSC-EWI-0028: Type non pris en charge.
SSC-EWI-OR0076: Paquet intégré non pris en charge.
SDO_TOPO_GEOMETRY¶
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Ce type décrit une géométrie topologique, qui est stockée sur une seule ligne, dans une seule colonne du type d’objet
SDO_TOPO_GEOMETRYdans une table définie par l’utilisateur. (Référence linguistique Oracle SQL Type de données SDO_TOPO_GEOMETRY).
Définition de l’objet SDO_TOPO_GEOMETRY :
CREATE TYPE SDO_TOPO_GEOMETRY AS OBJECT
(tg_type NUMBER,
tg_id NUMBER,
tg_layer_id NUMBER,
topology_id NUMBER);
/
L’objet SDO_TOPO_GEOMETRY n’est pas pris en charge dans Snowflake.
Modèles d’échantillons de sources¶
SDO_TOPO_GEOMETRY dans Create Table¶
Oracle¶
CREATE TABLE topo_geometry_table(
topo_geometry_column SDO_TOPO_GEOMETRY
);
Snowflake¶
CREATE OR REPLACE TABLE topo_geometry_table (
!!!RESOLVE EWI!!! /*** SSC-EWI-0028 - TYPE NOT SUPPORTED BY SNOWFLAKE ***/!!!
topo_geometry_column SDO_TOPO_GEOMETRY
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
;
Insertion de données dans la table SDO_TOPO_GEOMETRY¶
Oracle¶
INSERT INTO topo_geometry_table VALUES (SDO_TOPO_GEOMETRY(1,2,3,4));
INSERT INTO topo_geometry_table VALUES (NULL);
Snowflake¶
INSERT INTO topo_geometry_table
VALUES (SDO_TOPO_GEOMETRY(1,2,3,4) !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SDO_TOPO_GEOMETRY' NODE ***/!!!);
INSERT INTO topo_geometry_table
VALUES (NULL);
Problèmes connus¶
1. Type de données SDO_TOPO_GEOMETRY non transformé
SDO_TOPO_GEOMETRY Le type de données n’est pas transformé par SnowConvert.
EWIs connexes¶
SSC-EWI-0028: Type non pris en charge.
SSC-EWI-0073: Examen de l’équivalence fonctionnelle en attente.