Bonjour,
J'ai une table contenant des objets correspondant à des pays. Ils ont donc une géométries et un attribut donnant le code du pays ('FR' pour France). J'ai des pays qui sont consitués de 2 objets et je voudrais les fusionner pour n'avoir qu'un seul objet par pays. Dans ce cas, ils ont le même code mais un autre attribut est de valeur différente (rg_id).
J'ai créé une table temporaire contenant le code du pays et le count. J'ai ensuite enlevé les pays qui étaient "bien formés" :
J'ai testé une première fonction SDO_AGGR_UNION :Code:
1
2 CREATE TABLE PAYS_TEMP AS SELECT COUNT(CODE) AS COUNT, CODE FROM PAYS GROUP BY CODE; DELETE FROM PAYS_TEMP WHERE COUNT < 2;
J'ai une erreur :Code:SELECT SDO_AGGR_UNION(MDSYS.SDOAGGRTYPE(a.geom,0.5)) FROM PAYS a WHERE a.CODE IN (SELECT CODE FROM PAYS_TEMP GROUP BY CODE);
J'ai testé une autre fonction SDO_GEOM.SDO_UNION :Citation:
ORA-13000: dimension number is out of range
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 8
ORA-06512: at "MDSYS.SDO_CONSTRUCT_DIM_ARRAY", line 27
ORA-06512: at "MDSYS.AGGRUNION", line 20
Et là j'ai l'erreur :Code:
1
2
3
4
5
6 SELECT SDO_GEOM.SDO_UNION(a.geom,m.diminfo,b.geom,m.diminfo) FROM PAYS a, PAYS b, USER_SDO_GEOM_METADATA m WHERE m.table_name='PAYS' AND m.column_name='GEOM' AND a.CODE = b.CODE AND a.RG_ID != b.RG_ID;
Si quelqu'un connaissant cette fonction peut m'aider...Citation:
ORA13050: unable to construct spatial object
ORA-06512: at "MDSYS.SDO_3GL", line 715
ORA-06512; at "MDSYS.SDO_GEOM", line 2968
Merci!
WwAvE