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 }

Copy

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);
/

Copy

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
);
Copy
Snowflake
CREATE OR REPLACE TABLE geometry_table (
        geometry_column GEOMETRY
    )
    COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
    ;
Copy

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);
Copy
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);
Copy

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;
Copy
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;
Copy
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_GEORASTER dans 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);
/

Copy

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
);
Copy
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"}}'
    ;
Copy
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));
Copy
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);
Copy

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

  1. SSC-EWI-0028: Type non pris en charge.

  2. 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_GEOMETRY dans 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);
/

Copy

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
);
Copy
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"}}'
    ;
Copy

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);
Copy
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);
Copy

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

  1. SSC-EWI-0028: Type non pris en charge.

  2. SSC-EWI-0073: Examen de l’équivalence fonctionnelle en attente.