为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm 8 1-2-2-21.05.13-139380-10006-ENT Pack5
【操作系统】:CentOS 7.6 X86
【CPU】:Intel XEON
【问题描述】*:执行空间坐标查询报错
执行空间坐标查询报错
表结构如下:
CREATE TABLE "ONM_SOURCE_GRID_GISFEATURE"
(
"PVIGUID" VARCHAR(200),
"OPERATEUSERGUID" VARCHAR(200),
"YEARFLAG" VARCHAR(16),
"OPERATEUSERNAME" VARCHAR(200),
"ROW_ID" INT,
"OPERATEUSEROUGUID" VARCHAR(200),
"ROWGUID" VARCHAR(200) NOT NULL,
"BELONGXIAQUCODE" VARCHAR(200),
"OPERATEUSERBASEOUGUID" VARCHAR(200),
"OPERATEDATE" TIMESTAMP(0),
"XZQHNAME" VARCHAR(200) NOT NULL,
"XZQHCODE" VARCHAR(200) NOT NULL,
"CENTERX" DOUBLE,
"CENTERY" DOUBLE,
"COORDINATES" CLOB NOT NULL,
"LAYERTYPE" VARCHAR(8),
"LAYERID" VARCHAR(200) NOT NULL,
"SERVICEGUID" VARCHAR(200),
"SERVICENAME" VARCHAR(200),
"GEOMETRYDATA" "sysgeo"."ST_GEOMETRY",
NOT CLUSTER PRIMARY KEY("ROWGUID")) ;
查询报错的语句如下:
select * from Onm_Source_grid_GisFeature where 1=1 and (layerid='zhwg' and dmgeo.st_within(dmgeo.st_geomfromtext('POLYGON((120.60231 31.941677, 120.60155 31.940615, 120.60118 31.940113, 120.59943 31.940899, 120.59643 31.942232, 120.597305 31.943756, 120.60231 31.941677))',4326),geometrydata)=1 )
总共1个语句正依次执行...
[执行语句1]:
select * from Onm_Source_grid_GisFeature where 1=1 and
(layerid='zhwg' and
dmgeo.st_within(dmgeo.st_geomfromtext('POLYGON((120.60231 31.941677, 120.60155 31.940615, 120.60118 31.940113,
120.59943 31.940899, 120.59643 31.942232, 120.597305 31.943756, 120.60231 31.941677))',4326),geometrydata)=1 )
执行失败(语句1)
空间对象不在同一个坐标系
1条语句执行失败
建议下个新版本试试,我刚试了也没报错,先要启用SYSGEO包
你好,在DM8数据库上执行问题中的SQL语句,执行成功。结果参考如图。
在云适配上试玩-达梦线上实验室运行也执行通过。
注意:
执行前打开相应包语句:SP_INIT_GEO_SYS(1);
插入数据测试:

