1 / 17

<Insert Picture Here>

<Insert Picture Here>. 2 Structures de données Le Type Géométrique. Création de tables spatiales. Utiliser le type SDO_GEOMETRY Pas de limite au nombres de colonnes géométriques par table La colonne peut contenir n'importe quel type de géométrie. SQL> CREATE TABLE Cells (

connie
Download Presentation

<Insert Picture Here>

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. <Insert Picture Here> 2 Structures de données Le Type Géométrique

  2. Création de tables spatiales • Utiliser le type SDO_GEOMETRY • Pas de limite au nombres de colonnes géométriques par table • La colonne peut contenir n'importe quel type de géométrie SQL> CREATE TABLE Cells ( 2> Cell_id NUMBER, 3> Cell_name VARCHAR2(32), 3> Cell_type NUMBER, 4> Location SDO_GEOMETRY, 5> Covered_area SDO_GEOMETRY);

  3. Primitives Géométriques Point Line string Self-crossingline strings Arc line string Compound line string Valid Polygon Polygon with hole Self-crossingpolygons Compound polygon Optimized polygons Not valid

  4. Couche Geometrie Geometrie Geometrie Element Element Element Point Ligne Polygone Éléments, géométries, couches, … …… …… …… ……

  5. Élément • Constituant des objets géométriques • Type d'élément: • Point • Ligne • Polygone • Formé d'une suite ordonnée de points Element 5 Element 4 Element 3 Element 2 Element 6 Element 1 Hawaii, USA

  6. Géométrie Geometry 1 California Geometry 2 Texas • Représentent un objet spatial • Formé d'une suite ordonnée d'éléments • Homogène ou hétérogène Geometry 3 Florida Geometry 4 Hawaii

  7. Couche Spatiale • Représente une colonne géométrique dans une table • Une table peut contenir plusieurs colonnes géométriques ! • En général, contient des objets de même nature (= ayant les mêmes attributs) • Couche "clients" (points) • Couche "rues" (lignes) • Couche "communes" (polygones)

  8. Le type SDO_GEOMETRY • Structure de l'objet SDO_GEOMETRY • Exemple d'utilisation SDO_GTYPE NUMBER SDO_SRID NUMBER SDO_POINT SDO_POINT_TYPE SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY SDO_ORDINATES SDO_ORDINATE_ARRAY SQL> CREATE TABLE states ( 2 state VARCHAR2(30), 3 totpop NUMBER(9), 4 geom SDO_GEOMETRY);

  9. Méta-données • Définit les bornes de la couche • Valeurs mini et maxi des coordonnées pour chaque dimension • Définit la tolérance de la couche • Distance maximale entre deux points pour qu'ils soient considérés comme distincts. • Définit le système de coordonnées pour la couche. SQL> INSERT INTO USER_SDO_GEOM_METADATA 2> (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) 3> VALUES ( 4> 'ROADS', 5> 'GEOMETRY', 6> SDO_DIM_ARRAY ( 7> SDO_DIM_ELEMENT('Long', -180, 180, 0.5), 8> SDO_DIM_ELEMENT('Lat', -90, 90, 0.5)), 9> 8307 );

  10. Construction de géométries SQL> INSERT INTO TELEPHONE_POLES (col-1, …, col-n, geom) 2> VALUES (attribute-1, …, attribute-n, 3> SDO_GEOMETRY ( 4> 2001, 8307, 5> SDO_POINT_TYPE (-75.2,43.7,null), 6> null, null) 7> ); Constructeur standard Constructeur "WKT" Constructeur "WKB" SQL> INSERT INTO TELEPHONE_POLES (col-1, …, col-n, geom) 2> VALUES (attribute-1, …, attribute-n, 3> SDO_GEOMETRY ('POINT (-75.2 43.7)',8307) 7> ); SQL> INSERT INTO TELEPHONE_POLES (col-1, …, col-n, geom) 2> VALUES (attribute-1, …, attribute-n, 3> SDO_GEOMETRY (:my_blob,8307) 7> );

  11. Extraction de géométriesFormat OGC "WKT" (texte) • Ne pas oublier d'utiliser un alias! • Restitue la géométrie dans un CLOB SELECT c.geom.get_wkt() FROM us_counties c WHERE county = ‘Denver'; POLYGON ( (-105.052597 39.791199, -105.064606 39.789928, ... ... -105.024757 39.790947,-105.052597 39.791199), (-104.933578 39.698139, -104.936104 39.698299, ... ... -104.9338 39.696701, -104.933578 39.698139))

  12. Extraction de géométriesFormat OGC "WKB" (binaire) • Ne pas oublier d'utiliser un alias! • Restitue la géométrie dans un BLOB SELECT county, c.geom.get_wkb() INTO :my_blob FROM us_counties c WHERE state_abrv = 'NH'; CREATE TABLE us_counties_wkb AS SELECT county, state_abrv, c.geom.get_wkb() wkb_geom FROM us_counties c;

  13. Extraction de géométriesFormat GML SELECT city, sdo_util.to_gmlgeometry(location) FROM us_cities WHERE state_abrv = 'CO'; <gml:Point srsName="SDO:8307“ xmlns:gml="http://www.opengis.net/gml"> <gml:coordinates decimal="." cs="," ts=" "> -104.872655,39.768035 </gml:coordinates> </gml:Point>

  14. Manipulation de géométries en Java • API java fournie dans le kit Oracle 10g • SDOAPI.JAR • Aussi en téléchargement sur Technet • Peut être distribuée avec vos applications • Comme le driver JDBC • Entièrement supportée • ClasseJGeometry • Méthodesload() et store() • Nombreuses fonctions utilitaires • Lecture et écriture GML • Lecture et écriture Shape Files

  15. Extraction d'information des géométries // Point double gPoint[] = geom.getPoint(); // Element info array int gElemInfo[] = geom.getElemInfo(); // Ordinates array double gOrdinates[] = geom.getOrdinatesArray(); // First and last point double[] gFirstPoint = geom.getFirstPoint(); double[] gLastPoint = geom.getLastPoint(); // MBR double[] gMBR = geom.getMBR(); // Java Shape Shape gShape = geom.createShape();

  16. Construction de géométries // Multi-point JGeometry geom = JGeometry.createMultiPoint( new double[][] {{50,5}, {55,7}, {60,5}}, 2, 8307); // Multi-linestring JGeometry geom = JGeometry.createLinearMultiLineString( new double[][] {{50,15, 55,15}, {60,15, 65,15}}, 2, 8307); // Circle (using 3 points on the circumference) geom = JGeometry.createCircle(15,145, 10,150, 20,150, 8307); // Circle (using a center point and radius) geom = JGeometry.createCircle(10,150, 5, 8307);

More Related