изменение data source в lyr файле
- mant
- Участник
- Сообщения: 50
- Зарегистрирован: 23 ноя 2005, 16:21
- Репутация: 0
- Откуда: Одесса, Украина
- Контактная информация:
изменение data source в lyr файле
Приветствую,
может кто подсказать, как изменить data source в lyr файле средствами питона в скрипте для аркгис?
общая задача: средствами питона создать для растра lyr файл и перенести туда символику из существуюего lyr файла.
может кто подсказать, как изменить data source в lyr файле средствами питона в скрипте для аркгис?
общая задача: средствами питона создать для растра lyr файл и перенести туда символику из существуюего lyr файла.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: изменение data source в lyr файле
Код: Выделить всё
Dim pGxCat As IGxCatalog, pGxLayer As IGxLayer
Dim pGxObj As IGxObject, pEnumGxObj As IEnumGxObject
Dim num As Long Dim pValue As Variant
Set pGxCat = New GxCatalog
Set pValue = pGxCat.GetObjectFromFullName("d:\mydata\states.lyr", num)
If TypeOf pValue Is IEnumGxObject
Then
Set pEnumGxObj = pValue
Set pGxObj = pEnumGxObj.Next
Else
Set pGxObj = pValue
End If
Set pGxLayer = pGxObj
Dim pGFLayer As IGeoFeatureLayer
Set pGFLayer = pGxLayer.Layer
- интерфейс IGxLayer
- открытие lyr - Set pValue = pGxCat.GetObjectFromFullName("d:\mydata\states.lyr", num)
- извлечение слоя - Dim pGFLayer As IGeoFeatureLayer Set pGFLayer = pGxLayer.Layer
Остается переопределить источник для IGeoFeatureLayer через интерфейс IName (метод put_Path)и сохранить через интерфейс IPersistStream (метод Save)
- mant
- Участник
- Сообщения: 50
- Зарегистрирован: 23 ноя 2005, 16:21
- Репутация: 0
- Откуда: Одесса, Украина
- Контактная информация:
Re: изменение data source в lyr файле
насколько я понимаю, это VB. Есть ли аналог для Питона?
Или есть ли какой способ использовать VB код в скрипте на Питоне?
Или есть ли какой способ использовать VB код в скрипте на Питоне?
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: изменение data source в lyr файле
Готового решения нет - остается вам основываясь на примере этого кода (с учетом интерфейсов, которые я перечислил) реализовать то что вам нужно на Питоне.mant писал(а): Или есть ли какой способ использовать VB код в скрипте на Питоне?
- mant
- Участник
- Сообщения: 50
- Зарегистрирован: 23 ноя 2005, 16:21
- Репутация: 0
- Откуда: Одесса, Украина
- Контактная информация:
Re: изменение data source в lyr файле
Благодарю,
посмотрю, что смогу сделать и найти.
посмотрю, что смогу сделать и найти.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя