FeatureClass.Search возвращает не все объекты

0 голосов
спросил 04 Сен, 07 от -3A- (5,220 баллов) в категории Программные продукты Esri
Доброго всем времени суток!

Образовалась такая проблема: FeatureClass.Search(null, ...) возвращает не все объекты в слое, хотя документация вроде утверждает обратное.

Как тогда перечислять все объекты (features) определенного слоя?

ps FeatureLayer.Search работает аналогично - с глюками.

3 Ответы

0 голосов
ответил 04 Сен, 07 от Alexander1 (32,520 баллов)
Код.
0 голосов
ответил 05 Сен, 07 от -3A- (5,220 баллов)
дык собственно вот он, никаких откровений тут нет:


ILayer* layer; // этот указатель на слой получен ранее

IFeatureLayerPtr featureLayer(layer);
IFeatureCursorPtr featureCursor = featureLayer->Search(NULL, true);

while ((IFeaturePtr feature = featureCursor->NextFeature) != NULL)
{
// здесь делаем что-то полезное
}


причем, если дополнительно получить FeatureClass и все делать через него - будет то же самое
и еще, FeatureClass.FeatureCount вернет количество элементов, соответствующее методу Search.
то есть вроде бы все корректно, но на самом деле возвращаются не все объекты, так как в окне ArcMap я их вижу, выделяю, смотрю атрибуты, а через Search они не приходят
0 голосов
ответил 05 Сен, 07 от -3A- (5,220 баллов)
вопрос снимается
оказывается, это данные так хитро организованы
оказалось, что контур состоит из кучи exterior rings, а я брал только первый из них
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...