.createObject(SpatialFilter.getClsid());
Arcgis Engine根据属性查询问题
原创
©著作权归作者所有:来自51CTO博客作者zb609的原创作品,请联系作者获取转载授权,否则将追究法律责任
Arcgis根据一个属性值查询feature,下面的语句可以:
IFeatureClass featureCls=....
IFeatureCursor ifc1 = featureCls.search(null, false);
但下面用法就不行,报异常:
String queryString = "\"EstateId\"=50";
IQueryFilter queryFilter = new QueryFilter();
queryFilter.setWhereClause(queryString);
IFeatureCursor ifc = featureCls.search(queryFilter, false);
改成SpatialFilter,用下面的用法,好了:
String queryString = "\"EstateId\"=50";
SpatialFilter queryFilter = (SpatialFilter) serverContext
.createObject(SpatialFilter.getClsid());
.createObject(SpatialFilter.getClsid());
queryFilter.setWhereClause(queryString);
IFeatureCursor ifc = featureCls.search(queryFilter, false);
看来对于IFeatureClass的search,不管是不是用空间查询,都要使用SpatialFilter,或者使用serverContext.createObject。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章