欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle spatial中,对sdo_geometry字段使用get_wkt() 函数为何出错

更新时间: 2014-01-05 02:11:59 责任编辑: Author_N1

 

oracle spatial中,对sdo_geometry字段使用get_wkt() 函数为什么出错?
 oracle 版本:10g
 在表中建了一个sdo_geometry字段(字段名为shape,表名为tb_geo,里面存储了面信息)用来存储空间数据,里面的数据是利用shp2sdo从shape文件转换而来的。
 我现在想从数据库几何字段中提取出坐标信息, 利用语句
    select to_char(sdo_util.to_wktgeometry(shape)) wkt from tb_geo where id=1;
 结果提示出错:
   第 1 行出现错误:
ORA-13199: 0D geometries are not supported by geometry WKB/WKT generation.
ORA-06512: 在 "MDSYS.MD", line 1723
ORA-06512: 在 "MDSYS.MDERR", line 17
ORA-06512: 在 "MDSYS.SDO_UTIL", line 2441


利用sdo_util.to_gmlgeometry()函数可以得到字符串gml格式的数据,如下所示:
 GML
--------------------------------------------------------------------------------
<gml:MultiPolygon srsName="SDO:8307" xmlns:gml="http://www.opengis.net/gml"><gml
:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinate
s decimal="." cs="," ts=" ">-34.596287,-4.08403 -18.152958,-147.049641 -196.7457
82,-163.949729 -198.572819,-97.719654 -198.572819,-18.243563 -34.596287,-4.08403
 </gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:po
lygonMember><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing
><gml:coordinates decimal="." cs="," ts=" ">-159.291533,-54.327535 -155.1807,-12
6.495479 -51.039616,-116.446778 -58.804521,-41.08152 -159.291533,-54.327535 </gm
l:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygon
Member></gml:MultiPolygon>
是数据的原因吗?这是怎么回事呢?谢谢大家 
--参考方法--
用to_char(shape.get_wkt()) 试试呢
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:59
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6861/
本文WWW.DOC100.NET DOC100.NET版权所有。