Difference between revisions of "Datové typy SDO Geometry"
m |
m |
||
Line 40: | Line 40: | ||
'''SDO_POINT SDO_POINT_TYPE''' - definuje (geo)objekt typu bod (dle uvedených dimenzí), každá koordináta je zadána datovým typem NUMBER. | '''SDO_POINT SDO_POINT_TYPE''' - definuje (geo)objekt typu bod (dle uvedených dimenzí), každá koordináta je zadána datovým typem NUMBER. | ||
− | CREATE TYPE sdo_point_type AS OBJECT ( | + | CREATE TYPE sdo_point_type AS OBJECT ( |
X NUMBER, | X NUMBER, | ||
Y NUMBER, | Y NUMBER, | ||
Line 46: | Line 46: | ||
Při zadávání bodu musí být SDO_ELEM_INFO a SDO_ORDINATES obě definovány hodnotou null, jinak Spatial funkce nefungují správně. | Při zadávání bodu musí být SDO_ELEM_INFO a SDO_ORDINATES obě definovány hodnotou null, jinak Spatial funkce nefungují správně. | ||
+ | |||
+ | Například zadání bodu | ||
+ | SDO_GEOMETRY( | ||
+ | 2001, | ||
+ | NULL, | ||
+ | SDO_POINT_TYPE(10, 20, NULL), | ||
+ | NULL, | ||
+ | NULL); | ||
+ | |||
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, | SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, | ||
SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY | SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY |
Revision as of 12:48, 24 March 2010
SDO_Geometry je objekt, který má následující atributy:
SDO_GTYPE NUMBER, SDO_SRID NUMBER, SDO_POINT SDO_POINT_TYPE, SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY
Je nutné vnímat "skladbu" tohoto objektu. Při zadávání dat potřebujeme znát kódy, které mají význam pro správné určení geometrie či koordinačního (souřadnicového) systému, ap.
SDO_GTYPE NUMBER - typ geometrie, koresponduje se specifikací modelu "Geometry Object Model" definovanou organizací OGIS - Simple Features for SQL specification.
Skládá se ze 4 numerických hodnot ve formátu DLTT, kde
- D identifies the number of dimensions (2, 3, or 4)
- L identifies the linear referencing measure dimension for a three-dimensional linear referencing system (LRS) geometry, that is, which dimension (3 or 4) contains the measure value. For a non-LRS geometry, or to accept the Spatial default of the last dimension as the measure for an LRS geometry, specify 0. For information about the linear referencing system (LRS).
- TT identifies the geometry type (00 through 09, with 10 through 99 reserved for future use).
Například:
2001 dvoudimenzionální bod 3001 třídimenzionální bod 2002 dvoudimenzionální linie nebo křivka 2003 dvoudimenzionální polygon nebo povrch 2004 kolekce (Geometry is a heterogeneous collection of elements. COLLECTION is a superset that includes all other types.) 2005 multipoint (Geometry has one or more points. (MULTIPOINT is a superset of POINT.))
Pro zjištění obsažených informací je možné použít metody pro navrácení těchto hodnot: Get_Dims, Get_LRS_Dim, Get_Gtype
SDO_SRID NUMBER - identifikace prostorového referenčního systému, se kterým je asociována geometrie.
Pokud je uvedena null hodnota, není asociace provedena. Jinak musí být uveden kód dle typu prostorového referenčního systému.
Například:
SDO_SRID(WGS 84) = 8307
Pokud budeme chtít vytvořit prostorový index, všechny prvky geometrií musí stejný SDO_SRID.
SDO_POINT SDO_POINT_TYPE - definuje (geo)objekt typu bod (dle uvedených dimenzí), každá koordináta je zadána datovým typem NUMBER.
CREATE TYPE sdo_point_type AS OBJECT ( X NUMBER, Y NUMBER, Z NUMBER);
Při zadávání bodu musí být SDO_ELEM_INFO a SDO_ORDINATES obě definovány hodnotou null, jinak Spatial funkce nefungují správně.
Například zadání bodu
SDO_GEOMETRY( 2001, NULL, SDO_POINT_TYPE(10, 20, NULL), NULL, NULL);
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY