Exemples de géométries

Point simple

SDO_GEOMETRY(
    2001,  -- Point 2D
    8307,  -- WGS 84
    SDO_POINT_TYPE(2.3522, 48.8566, NULL),  -- Paris
    NULL,
    NULL
)

Ou avec SDO_ELEM_INFO :

SDO_GEOMETRY(
    2001,
    8307,
    NULL,
    SDO_ELEM_INFO_ARRAY(1, 1, 1),
    SDO_ORDINATE_ARRAY(2.3522, 48.8566)
)

Cluster de points

Un cluster contient plusieurs points dans la même géométrie.

SDO_GEOMETRY(
    2001,
    NULL,
    NULL,
    SDO_ELEM_INFO_ARRAY(1, 1, 5),  -- 5 points
    SDO_ORDINATE_ARRAY(
        10, 90,  -- point 1
        50, 50,  -- point 2
        11, 13,  -- point 3
        80, 10,  -- point 4
        90, 80   -- point 5
    )
)

L’interprétation = 5 indique le nombre de points.

Rectangle

Géométrie optimisée : seuls 2 coins opposés sont nécessaires.

SDO_GEOMETRY(
    2003,  -- Polygone 2D
    NULL,
    NULL,
    SDO_ELEM_INFO_ARRAY(1, 1003, 3),  -- interp=3 pour rectangle
    SDO_ORDINATE_ARRAY(
        1, 1,  -- coin inférieur gauche
        5, 7   -- coin supérieur droit
    )
)

Polygone général

SDO_GEOMETRY(
    2003,
    NULL,
    NULL,
    SDO_ELEM_INFO_ARRAY(1, 1003, 1),  -- polygone, ligne droite
    SDO_ORDINATE_ARRAY(
        2, 4,   -- sommet 1
        4, 3,   -- sommet 2
        10, 3,  -- sommet 3
        13, 5,  -- sommet 4
        13, 9,  -- sommet 5
        11, 13, -- sommet 6
        5, 13,  -- sommet 7
        2, 11,  -- sommet 8
        2, 4    -- retour au sommet 1 (fermeture)
    )
)

Le premier et dernier point doivent être identiques.

Ligne (LineString)

SDO_GEOMETRY(
    2002,  -- Ligne 2D
    8307,
    NULL,
    SDO_ELEM_INFO_ARRAY(1, 2, 1),  -- ligne droite
    SDO_ORDINATE_ARRAY(
        2.35, 48.85,
        2.36, 48.86,
        2.37, 48.87
    )
)