使用查询Oracle插入ST_Geom(GIS)

pxq42qpu  于 2023-06-29  发布在  Oracle
关注(0)|答案(2)|浏览(127)

我有个问题
我想使用查询(Oracle数据库)运行使用ST(几何)数据类型的几何插入。
我尝试使用以下查询:

INSERT INTO <TABLE> (OBJECTID, "NO", NAMA_OBJEK, JENIS_OBJE, ALAMAT, SHAPE)
VALUES (
0,
0,
'example',
'example',
'example',
SDE.ST_GEOMETRY('POINT(106.89162, -6.15505)', 4328));

我在查询中遇到了一个错误,错误消息为:SQL错误[28595] [99999]:ORA-28595:Extproc试剂:DLL路径ORA-06512无效:在“SDE.ST_GEOMETRY_SHAPELIB_PKG”,第12行。
Query
为什么我无法运行插入,而当我使用ST_Geometry函数运行查询时:

SELECT SDE.ST_length(shape) AS area
FROM Table
WHERE SDE.ST_length(shape) > 1000;

没有错误发生。是我的查询中的一个错误导致了错误,还是有其他原因?

hkmswyz6

hkmswyz61#

除了SDE.ST_GEOMETRY之外,您还可以简单地使用以下命令插入几何:

INSERT INTO <table_name> (OBJECTID, SHAPE)
VALUES (
0,
SDO_GEOMETRY('POINT(106.89162 -6.15505)', 4328));

本机空间数据类型SDO_GEOMETRY可与ESRI工具集完美配合使用。
您的查询:

SELECT SDE.ST_length(shape) AS area
FROM Table
WHERE SDE.ST_length(shape) > 1000;

对于点数据没有意义。尽管如此,您可以在这里找到使用SDO_GEOMETRY进行面积和长度计算的语法。

ndasle7k

ndasle7k2#

还有一点https://epsg.io/4328被标记为“已弃用”。

相关问题