java 单机接口限流处理方案
334
2022-11-04
ORACLE 操作空间字段 报ORA-29877/ORA-29875错误的处理
oracle里,对用arcgis创建的空间字段进行赋值,
update SDE.PE_BASE set SHAPE=sde.ST_PointFromText('point(118.25 103.21)',0) where objectid=203;
报错:
ORA-29877: 无法执行 ODCIINDEXUPDATE 例行程序ORA-20085: Insert Spatial Reference SRID 0 does not match SDE.PE_BASE.SHAPE registered Spatial Reference SRID 4326ORA-06512: 在 "SDE.ST_DOMAIN_METHODS", line 2014ORA-06512: 在 "SDE.ST_DOMAIN_METHODS", line 2386
从错误提示可以得知,这是坐标系不匹配问题。其实sde.ST_PointFromText是一个函数,第二个参数就是让我们指定坐标系的。我执行的那条SQL语句,给出的坐标点,采用的是常用的空间地理坐标系,编号为4326,大家一定不会陌生。因此,将SQL修改一下即可:
update SDE.PE_BASE set SHAPE=sde.ST_PointFromText('point(118.25 103.21)',4326) where objectid=203;
oracle并不天然支持空间数据库,需要引用第三方库。arcgis就提供了这样的库。看上去很神秘,但其实,sde.ST_PointFromText不就是一个函数嘛,是一个专门的函数而已。
有关坐标系的一些心得,可看拙作:arcgis for jsapi开发:坐标系、经纬度与平面坐标的互换
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~