Поиск и обновление записей

0 голосов
спросил 18 Янв, 07 от Voltron (2,800 баллов) в категории Программные продукты Esri
Работаю с ArcMap 9.1, данные хранятся в базе, к которой подключаюсь через SDE. Возникла необходимость программно сделать выборку из слоя по значению одного из аттрибутов в таблице, а потом для выбранных записей провести изменение другого аттрибута.
Выборку по аттрибуту сделать удается, но мен могу понять как потом пройтись по всем отобранным записям и поменять при необходимости значение другого поля.
Выборку делаю так

Set pFeatureClass=FeatureWorkspace.OpenFeatureClass("название_фичкласса")
Set pQFilt = New QueryFilter
pQFilt.WhereClause = "условие_отбора"
Set pSelectionSet = pFeatureClass.Select(pQFilt, esriSelectionTypeIDSet, _
                                                            esriSelectionOptionNormal, Nothing)

С ArcMap и программированием для нее только начинаю разбираться. Подскажите в какую сторону копать.

3 Ответы

0 голосов
ответил 18 Янв, 07 от Appl (1,340 баллов)
скорее что-то типа
 
IFeatureCursor featCur =  pFeatureClass.search(pQFilt, true );
IFeature feat = featCur.nextFeature();
while (feat != null)
{
// здесь изменяешь и сохраняешь
featHi = featCur.nextFeature();
}
 
примерно так.
0 голосов
ответил 18 Янв, 07 от Scok (1,260 баллов)
Согласен с ответом. Только не забудь про
IWorkspaceEdit     *ipWSE;
try
     {
      ipWSE->StartEditing(false);
      ipWSE->StartEditOperation();

      // редактирование

      ipWSE->StopEditOperation();
      ipWSE->StopEditing(true);
     }

На самом деле - это основы ESRI::ArcGIS::Geodatabase. Начни с DveloperHelp->C++ Help, например, и посмотри обзор этой библиотеки и ее место в общей иерархии библиотек. У тебя отпадет эдак процентов 60 вопросов + городость за самостоятельность...
0 голосов
ответил 19 Янв, 07 от Alexander_Vishn (1,900 баллов)
Вот так прям по нулевому указателю? :))
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...