#1 Tue 31 May 2016 14:09
- nat43
- Participant actif
- Date d'inscription: 13 Mar 2008
- Messages: 94
[ORACLE 11g2] Table MDSYS.SDO_GEOM_METADATA_TABLE
Bonjour,
Je m’interroge sur la cartouche spatiale d'Oracle et en particulier sur la table contenant les métadonnées.
Jusqu'à présent, j'ai toujours créé mes métadonnées avec le même script en changeant juste les coordonnées du cadre englobant et le SRID. Et en faisant des requêtes spatiales, je me suis demandée à quoi servait la tolérance qu'on indique, et sur quelle base faut-il la renseigner.
J'ai posé la question autour de moi ... personne ne sait. Tout le monde utilise la tolérance indiquée dans l'exemple de la doc d'Oracle.
J'ai fouillé un peu le net ... et je n'ai pas trouvé d'explications précises.
J'ai fait des tests en utilisant des fonctions spatiales d'Oracle ... et je ne vois aucune différence, hormis un 1/10 de seconde gagnée pour une tolérance de 1m contre 1cm, mais le résultat ne change pas.
Quelqu'un aurait-il une explication simple à me fournir ? Et surtout la manière dont il faut la définir ?
Exemple de création de métadonnées :
Code:
INSERT INTO MDSYS.USER_SDO_GEOM_METADATA (TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) values ('TABLE','GEOM', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X',300000,580000,0.01), MDSYS.SDO_DIM_ELEMENT('Y', 6550000,6750000,0.01) ), 2154);
Merci beaucoup !
Nathalie T.
Hors ligne
#2 Thu 02 June 2016 00:45
Re: [ORACLE 11g2] Table MDSYS.SDO_GEOM_METADATA_TABLE
Bonjour,
D'après https://docs.oracle.com/cd/B28359_01/ap … _intro.htm (§ 1.5.5) la tolérance donne, la précision d'arrondi des coordonnées et par là, la résolution de la couche et/ou du traitement effectué par une fonction où elle est indiquée.
Tous les points dont les coordonnées différent d'une valeur inférieure à deux fois cette tolérance seront considérés comme confondus.
A noter que pour des coordonnées géographiques, elle n'est jamais inférieure à 5 cm même si une valeur plus petite est indiquée pour les fonctions SDO_GEOM.RELATE, SDO_GEOM.SDO_DIFFERENCE, SDO_GEOM.SDO_INTERSECTION, SDO_GEOM.SDO_UNION, and SDO_GEOM.SDO_XOR.
Si vous voulez avoir une précision au centimètre, vous devrez choisir une tolérance de 5 mm. Ce qui fait que deux points distants de moins de 1 cm seront considérés comme confondus (SDO_GEOM.SDO_DISTANCE renverra 0) (§ 1.5.5.1).
Jean-Marie
Azimut
Hors ligne
#3 Thu 02 June 2016 11:00
- nat43
- Participant actif
- Date d'inscription: 13 Mar 2008
- Messages: 94
Re: [ORACLE 11g2] Table MDSYS.SDO_GEOM_METADATA_TABLE
Bonjour,
Merci pour toutes ces informations.
A force de chercher sur le net, et dans des bouquins, j'en arrive aux mêmes constatations.
Cordialement. Nathalie T.
Hors ligne