получить имена слоев из закртытой карты

0 голосов
спросил 20 Янв, 05 от Гость (210,080 баллов) в категории Программные продукты Esri
Здравствуйте!
Мне надо получить информации из карты допустим кол-во слоев назв. слоя директория ит.п. Постоянное открытие этой карты ч/з LoadMxFile сильно загружает процессор из-за прорисовки карты в MapControl'е.
Посоветуйте пожалуйста как можно такую инф-у без прорисовки и вообще как в таких случаях с экономить ресурсы

4 Ответы

0 голосов
ответил 21 Янв, 05 от Ulukbek (6,020 баллов)

Не знаю, правильно ли я понял вопроса, программно это делается так:

dim i as long, mxd as imxdocument

set mxd=thisdocument

for i=0 to mxd.foceumap.layercount-1 ' - это количество слоев
     fn=LrFileName(i) '- это имя файла источника
next

Public Function LrFileName(li As Long) As String
   Dim pFL As IFeatureLayer, pDS As IDataset
   Dim mxDoc As IMxDocument
  
   Set mxDoc = ThisDocument
   Set pFL = mxDoc.FocusMap.Layer(li)
  
   Set pDS = pFL.FeatureClass
   LrFileName = pDS.Workspace.PathName
End Function

 

0 голосов
ответил 21 Янв, 05 от Alexander1 (32,520 баллов)

Как открыть MXD без ArcMap, см. здесь. А потом извлекай из документа всё, что требуется.

http://forums.esri.com/Thread.asp?c=93&f=993&t=83460&mc=5#msgid226840

 

0 голосов
ответил 24 Янв, 05 от Гость (210,080 баллов)
Спасибо Alexander!!! Как раз то что нужно. image
0 голосов
ответил 24 Янв, 05 от Alexander1 (32,520 баллов)
Удачи!
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...