вопросы по работе со Feature

0 голосов
спросил 06 Дек, 07 от YakimenkoAV (520 баллов) в категории Программные продукты Esri
добрый вечер. У меня пару вопросов.
1. Определение существования слоя. Почему-то цикл не прерывается пока не пройдет по всем слоям,а так не должно быть.
private boolean isLayerExist(Map map, String layerName)
{
     boolean res = false;
     try
     {
          for(int i = 0; i < map.getLayerCount(); i++)
          {
               if(map.getLayer(i).getName().compareTo(layerName) == 0)
                    res = true;
               if(res)
                    break;
          }
}
     catch(Exception ex)
     {
          ex.printStackTrace();
     }
     return res;
}

2. Добавление объекта к слою. Предполагается использование shape файла. Я, как понимаю, необходимо иметь FeatureClass, создать FeatureLayer, а затем добавлять Feature к этому слою функцией add(IFeature feature)?Так вот при создании FeatureClass какие поля являются обязательными? При добавлении Feature к слою объект автоматически сохраняется в этом слое или надо еще выполнять какие-то действия для того, чтобы в будущем отобразить этот объект на карте? Если есть пример кода как записать данные объекта в слой, отобразить его на карте и как загрузить объекты из shape файла с последующим отображением их на карте, не могли бы привести его тут.
3. Как проверить, существует ли FeatureClass по заданному пути? Смотрел описание функции (IWorkSpace2)isNameExist, но не понял как ее использовать.

Спасибо

    

2 Ответы

0 голосов
ответил 06 Дек, 07 от Alexander1 (32,520 баллов)
1. Ошибка в логике программы - зачем 2 "if"?
break; надо ставить в первом "if", иначе, действительно, цикл не прерывётся пока не пройдет по всем слоям.

2. См. IFeatureClass CreateFeature Example в ArcGIS Developer Help.
0 голосов
ответил 06 Дек, 07 от YakimenkoAV (520 баллов)
    1. точно...даже не заметил неправильную логику.Спасибо
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...