ArcMap 9

0 голосов
спросил 23 Апр, 08 от Nikolay1 (820 баллов) в категории Программные продукты Esri

Добрый день! Подскажите пожалуйсти как при определённом масштабе сделать не просто невидимым слой, а чтобы его не было видно в таблице аттрибутов? И восстановить его при другом масштабе? (ArcMap 9) Спасибо!

5 Ответы

0 голосов
ответил 23 Апр, 08 от serginio (2,560 баллов)
Скорее всего не в "таблице аттрибутов", а в TOC - содержание проекта. Стандартными средствами АркМап такого, вроде, делать нельзя, но можно написать макрос, который при определенном масштабе будет удалять файл из проекта и его не будет видно в ТОС, либо подгружать его!!!
0 голосов
ответил 23 Апр, 08 от Nikolay1 (820 баллов)

Да, в ТОС, ошибся. Не могли бы исходный код опубликовать, если не сложно. Спасибо! 

0 голосов
ответил 23 Апр, 08 от serginio (2,560 баллов)

Макрос нужно писать на VBA. Если слой содержит большое кол-во объектов, то при его загрузке будет тратится много времени и выглядеть это будет не очень"красиво" и правильно. И загружать нужно шейп или FeatureClass из BGD?

0 голосов
ответил 24 Апр, 08 от Nikolay1 (820 баллов)

Загружать нужно lyr связанный с шейпом.

0 голосов
ответил 29 Апр, 08 от sschainik (4,900 баллов)
повесь макрос на изменение вида документа и отслеживай масштаб:
Private Function MxDocument_ActiveViewChanged() As Boolean
    Dim pMxDoc As IMxDocument
    Dim pMap As IMap
    Set pMxDoc = Application.Document
    Set pMap = pMxDoc.FocusMap
    If pMap.MapScale < 4000 Then
        'обработчик 1
    Else
        'обработчик 2
    End If
End Function
что то вроде этого
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...