在所有的要素(点要素)中, 要求点的X坐标大于等于min_X且小于等于max_X, Y坐标大于等于min_X且小于等于max_Y
我创建了一个IQueryFilter的指针IQueryFilterPtr pQuery(CLSID_QueryFilter);
pQuery->put_whereclause(whereclause);
问题:whereclause语句该怎么写?
答案:2 悬赏:50 手机版
解决时间 2021-01-25 08:43
- 提问者网友:沉默菋噵
- 2021-01-25 01:28
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-01-25 02:49
直接用空间查询啊
IEnvelopePtr ipEnvelope(CLSID_Envelope);
ipEnvelpe->PutCoords(min_X, min_Y, max_X, max_Y);
ISpatialFilterPtr ipSpaFil(CLSID_SpatialFilter);
ipSpaFil->putref_Geometry(ipEnvelope);
ipSpaFil->put_SpatialRel(esriSpatialRelWithin);
IFeatureCursorPtr ipFeatureCursor;
ipFeatureLayer->Search(ipSpaFil, VARIANT_TRUE, &ipFeatureCursor);
IFeaturePtr ipFeature;
ipFeatureCursor->NextFeature(&ipFeature);
while(ipFeature != NULL)
{
//do something
ipFeatureCursor->NextFeature(&ipFeature);
}
具体的你再查下,上面代码我不是在编译器里面写的,可能会有点小细节问题。
我现在C++写AE很少,主要用C#写,C#方便很多。
IEnvelopePtr ipEnvelope(CLSID_Envelope);
ipEnvelpe->PutCoords(min_X, min_Y, max_X, max_Y);
ISpatialFilterPtr ipSpaFil(CLSID_SpatialFilter);
ipSpaFil->putref_Geometry(ipEnvelope);
ipSpaFil->put_SpatialRel(esriSpatialRelWithin);
IFeatureCursorPtr ipFeatureCursor;
ipFeatureLayer->Search(ipSpaFil, VARIANT_TRUE, &ipFeatureCursor);
IFeaturePtr ipFeature;
ipFeatureCursor->NextFeature(&ipFeature);
while(ipFeature != NULL)
{
//do something
ipFeatureCursor->NextFeature(&ipFeature);
}
具体的你再查下,上面代码我不是在编译器里面写的,可能会有点小细节问题。
我现在C++写AE很少,主要用C#写,C#方便很多。
全部回答
- 1楼网友:煞尾
- 2021-01-25 03:25
只要
intr =范围暗淡intr(“a”rows.count)。结束(xlup)。行
范围(“al2:”intr)替换范围(“al2:be10000”)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯