GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Как включить или выключить слой

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).

Как включить или выключить слой

Сообщение rhot » 17 май 2017, 11:32

Как включить или выключить слой в ArcGIS без фокусировки на таблицу содержания с помощью сочетания клавиш?
  • 0

Последний раз редактировалось rhot 19 май 2017, 13:49, всего редактировалось 2 раз(а).
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

Re: Как включить или выключить слой

Сообщение lam » 17 май 2017, 11:40

Ctrl+Пробел
  • 0

lam
Гуру
 
Зарегистрирован: 01 авг 2012
 
Сообщения: 623
Репутация: 142

Re: Как включить или выключить слой

Сообщение rhot » 17 май 2017, 11:44

без фокусировки на таблицу содержания
  • 0

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

Re: Как включить или выключить слой

Сообщение amnesiac » 17 май 2017, 16:02

Так никак вроде...цитируя справку "Нажатие клавиши F3 или щелчок внутри таблицы содержания перемещает фокус в таблицу содержания, после этого возможна навигация и взаимодействие с ней при помощи клавиатуры".
  • 0

amnesiac
Активный участник
 
Зарегистрирован: 03 мар 2015
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 207
Репутация: 22

Re: Как включить или выключить слой

Сообщение rhot » 17 май 2017, 18:19

и через ArcGIS API нельзя?
  • 0

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

Re: Как включить или выключить слой

Сообщение Monstria » 17 май 2017, 21:30

rhot писал(а):и через ArcGIS API нельзя?

Нет границ невозможного - вот к примеру быстренько накидал на коленке

ShowLaers.rar
(64 КБ) Скачиваний: 11


Вот видео - как работает https://youtu.be/UIjBoOlPoHA
PS... Хотя я не понимаю зачем это вообще может понадобиться :)

PSS.. Решение написано на коленке - поэтому там все "сыро", хотя для демонстрации вполне достаточно
  • 1

Monstria
Активный участник
 
Зарегистрирован: 17 май 2011
Откуда: Нижний Новгород (на карте)
 
Сообщения: 118
Репутация: 44

Re: Как включить или выключить слой

Сообщение doujin » 18 май 2017, 05:21

Хотя я не понимаю зачем это вообще может понадобиться

Вот тоже было интересно. Возможно для быстрого сравнения растров или полигональных слоев, но тогда можно было бы воспользоваться инструментом шторка.
P.S. Не исключаю, что ткнул пальцем в небо, в уже известную вещь, но вдруг это будет полезно.
  • 0

doujin
Активный участник
 
Зарегистрирован: 28 июн 2012
Откуда: Vladivostok (на карте)
 
Сообщения: 154
Репутация: 72

Re: Как включить или выключить слой

Сообщение Monstria » 18 май 2017, 09:03

doujin писал(а): можно было бы воспользоваться инструментом шторка.

Не у всех пока еще PRO имеется :(
  • 0

Monstria
Активный участник
 
Зарегистрирован: 17 май 2011
Откуда: Нижний Новгород (на карте)
 
Сообщения: 118
Репутация: 44

Re: Как включить или выключить слой

Сообщение rhot » 18 май 2017, 16:41

Monstria писал(а):
rhot писал(а):и через ArcGIS API нельзя?

Нет границ невозможного - вот к примеру быстренько накидал на коленке

ShowLaers.rar


Вот видео - как работает https://youtu.be/UIjBoOlPoHA
PS... Хотя я не понимаю зачем это вообще может понадобиться :)

PSS.. Решение написано на коленке - поэтому там все "сыро", хотя для демонстрации вполне достаточно
Подтверждаю, работает! А на питоне такое можно написать, чтобы работало?

Вернее, скрипт есть, только у меня не получается назначить ему сочетание клавиш.
Код: Выделить всё
'''
Script turns off A & B layers.
'''

import arcpy

#A list of layer names that needs to be turned off.
names = ["A", "B"]

mxd = arcpy.mapping.MapDocument("current")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
layers = arcpy.mapping.ListLayers(mxd, "*", df)

for layer in layers:
  if layer.name in names:
    layer.visible = False

arcpy.RefreshTOC()
arcpy.RefreshActiveView()
  • 0

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

Re: Как включить или выключить слой

Сообщение Monstria » 18 май 2017, 17:21

rhot писал(а): А на питоне такое можно написать, чтобы работало?

Можно, только если выполнено в виде надстройки. (наверное - я небольшой любитель питона, поэтому использую его изредка только в калькуляторе)
  • 0

Monstria
Активный участник
 
Зарегистрирован: 17 май 2011
Откуда: Нижний Новгород (на карте)
 
Сообщения: 118
Репутация: 44

Re: Как включить или выключить слой

Сообщение rhot » 18 май 2017, 17:30

Скопируйте сюда иходный код, пожалуйста. У меня MS Visual Studio не установлен.
  • 0

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1

Re: Как включить или выключить слой

Сообщение Monstria » 18 май 2017, 20:32

rhot писал(а):Скопируйте сюда иходный код, пожалуйста.

ShowLaers.rar
(175.81 КБ) Скачиваний: 3
  • 0

Monstria
Активный участник
 
Зарегистрирован: 17 май 2011
Откуда: Нижний Новгород (на карте)
 
Сообщения: 118
Репутация: 44

Re: Как включить или выключить слой

Сообщение doujin » 19 май 2017, 04:55

Monstria писал(а):Не у всех пока еще PRO имеется :(

Шторка есть во всех версиях Arcgis for Desktop 10.х, и, если не ошибаюсь, в 9.х тоже была.

Что бы повесить Python код на сочетание клавиш, его нужно тоже оформить как дополнение в виде кнопки, а не просто скрипт. У них есть ПО и инструкции, которое выполняет практически всю подготовительную часть. Остается только добавить свой код.
  • 1

doujin
Активный участник
 
Зарегистрирован: 28 июн 2012
Откуда: Vladivostok (на карте)
 
Сообщения: 154
Репутация: 72

Re: Как включить или выключить слой

Сообщение rhot » 19 май 2017, 13:49

Решено через надстройку Python:
Код: Выделить всё
import arcpy
import pythonaddins

class ButtonOff(object):
    """Implementation for btn1 (Button)"""
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        names = ["A", "B"]
        mxd = arcpy.mapping.MapDocument("current")
        df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
        layers = arcpy.mapping.ListLayers(mxd, "*", df)
        for layer in layers:
          if layer.name in names:
            layer.visible = False
        arcpy.RefreshTOC()
        arcpy.RefreshActiveView()

class ButtonOn(object):
    """Implementation for btn2 (Button)"""
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        names = ["A", "B"]
        mxd = arcpy.mapping.MapDocument("current")
        df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
        layers = arcpy.mapping.ListLayers(mxd, "*", df)
        for layer in layers:
          if layer.name in names:
            if layer.visible:
              layer.visible = False
            else:
              layer.visible = True
        arcpy.RefreshTOC()
        arcpy.RefreshActiveView()
  • 1

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
Аватара пользователя
rhot
ВольныйИсследователь
 
Зарегистрирован: 25 янв 2011
Откуда: Архангельск (на карте)
 
Сообщения: 1521
Репутация: 112
Статьи: 1


Вернуться в ArcGIS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).