Comment puis-je changer le SRID pour Oracle SDO_GEOMETRY
J'ai des données spatiales que l'Oracle a attribué un SRID de 81989. Je voudrais le changer pour 27700 - ils sont tous les deux le même système de coordonnées, c'est juste Oracle utilise son propre SRID; donc pas de re-projection est nécessaire (en tant que tel SDO_CS.TRANSFORM
ne fonctionne pas comme il modifie les coordonnées de trop, que je ne veux pas)).
J'ai mis à jour USER_SDO_GEOM_METADATA
assez facilement, mais le SDO_GEOMETRY
contenant les données lui-même a le SRID trop et je ne sais pas comment faire pour changer cela.
Ainsi, par exemple, mon apparence des données:
MDSYS.SDO_GEOMETRY(2001,81989,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)
et j'ai besoin d'aller le modifier:
MDSYS.SDO_GEOMETRY(2001,27700,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)
Pour toutes les lignes dans une table. Mais je ne sais pas comment faire pour modifier automatiquement un élément unique dans un SDO_GEOMETRY tout en laissant les autres aspects de la matrice inchangé.
Quelqu'un peut-il m'indiquer la direction? Merci.
OriginalL'auteur GIS-Jonathan | 2013-02-05
Vous devez vous connecter pour publier un commentaire.
De mettre à jour le SRID, vous pouvez utiliser quelque chose comme ceci:
Notez que l'utilisation d'un alias de la table (comme T dans cet exemple) est nécessaire.
Pour d'autres, il pourrait être important de noter que, pour ce faire, il faut d'abord supprimer l'index spatial, mettre à jour les métadonnées de la table, puis effectuer le srid mise à jour, puis ajouter à nouveau l'index spatial
OriginalL'auteur Brian Camire