环境:
ArcSDE10.1 SP1
Oracle 11.2.0.3
操作步骤:
点状要素类数据量:500000+
面状要素类数据量:3条,一个面积特别大,两个一般大
使用如下SQL语句进行查询
SQL> select count(*) from bjj; COUNT(*) ---------- 582341 SQL> select count(bjj.objectid) as fieldCount from bjj,bjpp where sde.ST_Intersects(bjj.shape,bjpp.shape) = 1 and bjpp.objectid=3; FIELDCOUNT ---------- 0
如上图所示,我使用该矩形是可以查询出结果的(目测),但是查询结果是0
但是如果点状要素类数据量在1000或者10000级别的数据,可以查询出正确的结果
SQL> select count(bj.objectid) as fieldCount from bj,bjpp where sde.ST_Intersects(bj.shape,bjpp.shape) = 1 and bjpp.objectid=3; FIELDCOUNT ---------- 855 SQL> select count(*) from bj; COUNT(*) ---------- 1000 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SQL> select count(bj.objectid) as fieldCount from bj,bjpp where sde.ST_Intersects(bj.shape,bjpp.shape) = 1 and bjpp.objectid=3; FIELDCOUNT ---------- 8247 SQL> select count(*) from bj; COUNT(*) ---------- 10000
在使用过程中,数据特点是点状要素类数据量大,以及查询面积大都有可能是造成该Bug的原因,但是经过大量测试点状要素类数据量大是导致该bug 的最主要的原因!
经过与美国Support的交流,认定为一个Bug
I submitted a bug request as -"ST_INTERSECTS returns zero record for a polygon that intersects largenumber of point features".
The tracking id of bug is #NIM096278. Ihave added your incident id 1208476 to this bug. You may like to be aware ofits updated status by visiting our customer care portal:
https://customers.esri.com
As issue is not reproducible in version10.2, upgrading geodatabase to 10.2 will be a workaround for this issue as ofnow.
美国建议用户升级到ArcGIS10.2即可,我也测试过10.2已经解决了该问题。
希望有使用ST_Geometry的朋友留意一下!
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------