簡體   English   中英

如何更改Oracle SDO_GEOMETRY的SRID

[英]How do I change the SRID's for Oracle SDO_GEOMETRY

我有空間數據,Oracle已分配SRID為81989 我想將它改為27700 - 它們都是相同的坐標系,它只是Oracle使用自己的SRID; 所以不需要重新投影(因此SDO_CS.TRANSFORM不起作用,因為它實際上也改變了坐標,這是我不想要的))。

我已經足夠輕松地更新了USER_SDO_GEOM_METADATA ,但是包含數據本身的SDO_GEOMETRY也有SRID,我不知道如何更改它。

例如,我的當前數據如下:

MDSYS.SDO_GEOMETRY(2001,81989,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)

我需要把它改成:

MDSYS.SDO_GEOMETRY(2001,27700,MDSYS.SDO_POINT_TYPE(420531.663898,268911.956161,NULL),NULL,NULL)

對於表中的所有行。 但我不知道如何自動更改SDO_GEOMETRY中的單個元素,同時保持數組的其他方面不變。

任何人都能指出我的方向嗎? 謝謝。

要更新SRID,您可以使用以下內容:

UPDATE YOUR_TABLE T
SET T.YOUR_SDO_GEOMETRY_COLUMN.SDO_SRID = 27700
WHERE T.YOUR_SDO_GEOMETRY_COLUMN IS NOT NULL

請注意,必須使用表別名(如本例中的T)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM