Страница 1 из 1

Как определить тип слоя(arcgis Engine + C#)

Добавлено: 29 апр 2011, 07:41
Tereha
Не могу найти как определить что слой - композитный или групповой. Пишу процедуру определения индекса слоя по его имени. Если слой - группа, то отдельно нужно просматривать подслои. Как то так

Код: Выделить всё

if (map.get_Layer(i).GetType() ==  ESRI.ArcGIS.Carto.IGroupLayer???) {
Там где вопросы нужно видимо выйти на перечислимый тип слоя?
Спасибо за любую подсказку или ссылку!

Re: Как определить тип слоя(arcgis Engine + C#)

Добавлено: 29 апр 2011, 09:36
Дмитрий Барышников
Я через приведение типов делаю. Т.е. если ESRI.ArcGIS.Carto.IGroupLayer TestLayer = map.get_Layer(i);
Если TestLayer не равен нулю - то, тип слоя IGroupLayer.

Re: Как определить тип слоя(arcgis Engine + C#)

Добавлено: 29 апр 2011, 09:42
Tereha
Я также сделал. Но теперь неясно как по индексу слой найти - т.е. сначала по первому индексу нужно будет искать составной слой, по второму индексу - уже внутренний слой. Т.е. в процедуре поиска слоя по имени нужно иметь массив индексов в возвращаемых параметров - по количеству слоев. Или я ошибаюсь?

Re: Как определить тип слоя(arcgis Engine + C#)

Добавлено: 29 апр 2011, 10:07
Дмитрий Барышников
Отберите слои нужного вам типа как написано здесь http://edndoc.esri.com/arcobjects/9.0/C ... Layers.htm и выполняйте операции с ними.
И почитайте Remarks здесь http://edndoc.esri.com/arcobjects/9.0/C ... _Layer.htm