我有一个 Oracle 数据库表,其中有一列 SDO_GEOMETRY 类型。我正在尝试在此表上编写一个视图并获取具有不同 SRID 的 SDO_GEOMETRY 列。我不想更改原始表或将值转换为不同的 SRID。我只想获得具有不同 SID(相同顶点值)的几何列。如何做到这一点?
表是这样的:
Create Table Locations (CityCode VARCHAR(2), Location SDO_GEOMETRY)
我正在尝试创建这样的视图,例如:
CREATE OR REPLACE VIEW VW_Locations AS
SELECT
CityCode,
SDO_GEOMETRY(Location, <NEW_SRID>)
FROM Locations
我尝试使用 WKT 作为参数来使用 SDO_GEOMETRY 的构造函数,但我无法做到,因为我的表中的几何值是 3D 并且 Oracle 不支持 3D SDO_GEOMETRY 值的 WKT/WKB 转换。这适用于 2D 几何:
CREATE OR REPLACE VIEW VW_Locations AS
SELECT
CityCode,
SDO_GEOMETRY(SDO_UTIL.TO_WKTGEOMETRY(Location), <NEW_SRID>) AS Loc
FROM Locations