Как определить модель мышки при помощи python
Перейти к содержимому

Как определить модель мышки при помощи python

  • автор:

Определяем текущее положение курсора мыши с Python

Определяем текущее положение курсора мыши с Python

В прошлой статье мы говорили об автоматизации графического интерфейса с Python и библиотекой pyautogui, что предполагает симуляцию действий с клавиатурой, мышью и не только. И для написания скрипта симуляции мыши важно найти координаты курсора в текущий момент, и постоянно отображать их. В данной статье мы напишем простой скрипт для решения данной задачи.

Для этого нам нужно во первых отобразить текущие координаты мыши, во вторых обновить их в соответствии с перемещением курсора по экрану. На уровне кода мы должны вызвать функцию position(), для получения текущих координат, затем при перемещении курсора стереть предыдущие координаты используя символ \b и обработать исключение KeyboardInterrupt так чтобы сочетание клавиш CTRL-C вызвало выход.

Откроем текстовый редактор и создадим файл с именем Mouse_now.py. Поместим в него наш код:

# На первом этапе импортируем модули pyautogui, time. Также напечатаем напоминание пользователю, о возможности выхода из программы нажав CTRL-C
import pyautogui
import time
print(«Press CTRL-C to quit»)

»’
Для постоянного вывода текущих координат из mouse.position() можно использовать бесконечный цикл. А для кода завершающего программу нужно будет перехватить исключение KeyboardInterrupt, которое возникает всякий раз, когда пользователь нажимает CTRL-C.
Если этого не сделать то try/exept отобразит уродливую строку сообщения об ошибке.
И чтобы обработать цикл заключим его в оператор try »’

try:
while True:
# получение текущих координат
x, y = pyautogui.position()
# метод str(x) превращает число в строку а rjust(4) сдвигает его на четыре позиции вправо
positionStr = ‘X:’+ str(x).rjust(4) +’ Y:’+ str(y).rjust(4)
# end предотвращает добавление символа новой строки, без этого старые координаты удалить не получится
print(positionStr, end = »)

# escape-символ \ b стирает конец строки и чтобы удалить всю строку умножаем его на длину строки
print(‘\b’*len(positionStr), end = », flush = True)

# для предотвращения мигания при выполнении цикла используем засыпание
time.sleep(0.01)

# Когда пользователь нажимает CTRL-C, выполнение программы переходит к разделу except и # Done будет напечатан с новой строки

except KeyboardInterrupt:
print(‘\nDone’)

Когда программа запустится, будут напечатаны только две строки. Они должны выглядеть примерно так:

# вывод
Press Ctrl-C to quit
X: 165 Y: 144

Таким образом с помощью данного скрипта, вы можете определить координаты мыши для ваших сценариев автоматизации графического интерфейса.

Создано 05.01.2021 09:20:12

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.

    ��️ Как получить координаты мыши в Python: полезные советы для начинающих программистов!

    Чтобы получить координаты мыши в Python, вы можете использовать библиотеку PyAutoGUI. Ниже приведен пример кода, демонстрирующий, как сделать это:

    import pyautogui # Получение текущих координат мыши x, y = pyautogui.position() # Вывод координат print(f"X: , Y: ")

    В этом примере мы импортируем библиотеку PyAutoGUI и используем функцию position() , чтобы получить текущие координаты мыши. Затем мы выводим эти координаты с помощью функции print() . Обратите внимание, что вы должны установить библиотеку PyAutoGUI, прежде чем использовать ее. Вы можете установить ее, запустив команду pip install pyautogui .

    Детальный ответ

    Как получить координаты мыши в Python

    Координаты мыши представляют собой положение указателя мыши на экране. В Python существует несколько способов получить координаты мыши. В этой статье мы рассмотрим два популярных метода: с использованием библиотеки PyAutoGUI и с использованием библиотеки tkinter.

    Метод 1: Использование библиотеки PyAutoGUI

    PyAutoGUI — это мощная библиотека Python, которая позволяет автоматизировать действия на компьютере. Она также предоставляет функции для получения координат мыши. Для начала установите библиотеку PyAutoGUI с помощью следующей команды:

    pip install pyautogui

    После установки вы можете использовать следующий код, чтобы получить текущие координаты мыши:

    import pyautogui x, y = pyautogui.position() print(f"Координаты мыши: x = , y = ")

    Вы увидите вывод, содержащий текущие координаты мыши.

    Метод 2: Использование библиотеки tkinter

    Библиотека tkinter — это стандартная библиотека Python для создания графического интерфейса пользователя (GUI). Она предоставляет возможность получить координаты мыши с помощью обработчиков событий. Ниже приведен пример кода, который позволяет получить координаты мыши, когда пользователь кликает на окно:

    import tkinter as tk def get_mouse_coordinates(event): x = event.x y = event.y print(f"Координаты мыши: x = , y = ") root = tk.Tk() root.bind("", get_mouse_coordinates) root.mainloop()

    Здесь мы создаем окно при помощи библиотеки tkinter. Затем мы привязываем обработчик событий к щелчку левой кнопкой мыши ( ). Когда пользователь щелкает на окне, вызывается функция get_mouse_coordinates , которая получает координаты мыши из объекта события и выводит их в консоль.

    Вывод

    Теперь у вас есть два способа получить координаты мыши в Python. Вы можете использовать библиотеку PyAutoGUI для автоматизации действий на компьютере или библиотеку tkinter для создания графического интерфейса пользователя. Удачи в работе с координатами мыши в Python!

    ��️ Как определить координаты мышки в Python: простое руководство

    Чтобы определить координаты мышки в Python, вы можете использовать модуль `pyautogui` и его метод `position()`. Вот пример кода:

     import pyautogui # Получение текущих координат мыши x, y = pyautogui.position() # Вывод координат print(f"Координаты мыши: x = , y = ") 

    Этот код позволит вам получить текущие координаты мыши и вывести их на экран. Убедитесь, что у вас установлен модуль `pyautogui`, выполнив команду `pip install pyautogui`.

    Детальный ответ

    Как определить координаты мышки в Python

    Координаты мыши – это положение курсора на экране компьютера. В Python существуют различные способы получить эти координаты, и в этой статье мы рассмотрим несколько из них.

    Использование модуля PyAutoGUI

    Один из наиболее популярных способов определить координаты мыши в Python – это использование модуля PyAutoGUI. Для начала убедитесь, что вы установили этот модуль, выполнив следующую команду:

    pip install pyautogui

    После установки, вы можете использовать функцию position() для получения текущих координат мыши:

    import pyautogui current_position = pyautogui.position() print(f"Текущие координаты мыши: x=, y=")

    Вышеуказанный код выведет текущие координаты мыши в формате x= и y=. Программа будет ожидать движения мыши пользователя, прежде чем вывести результат.

    Использование модуля MouseInfo

    Еще одним способом определить координаты мыши в Python является использование модуля MouseInfo. Начните с установки модуля с помощью следующей команды:

    pip install MouseInfo

    Затем вы можете использовать функцию get_position() , чтобы получить текущие координаты мыши:

    from MouseInfo import get_position current_position = get_position() print(f"Текущие координаты мыши: x=, y=")

    Аналогично модулю PyAutoGUI, этот код также выводит текущие координаты мыши в формате x= и y=.

    Использование модуля ctypes

    Если вы хотите использовать стандартные библиотеки Python без дополнительной установки модулей, вы можете использовать модуль ctypes . Этот способ требует некоторого знакомства с библиотекой WinAPI.

    import ctypes class POINT(ctypes.Structure): _fields_ = [("x", ctypes.c_ulong), ("y", ctypes.c_ulong)] def get_mouse_position(): point = POINT() ctypes.windll.user32.GetCursorPos(ctypes.pointer(point)) return point.x, point.y current_position = get_mouse_position() print(f"Текущие координаты мыши: x=, y=")

    Этот код использует функцию GetCursorPos из библиотеки WinAPI для получения текущих координат мыши. Затем он выводит результат в формате x= и y=.

    Общий вывод

    В этой статье мы рассмотрели несколько способов определения координат мыши в Python. Вы можете выбрать любой способ, который больше вам нравится или лучше соответствует вашим потребностям. Теперь вы знаете, как определить координаты мыши в Python. Практикуйтесь и экспериментируйте с этой функциональностью, чтобы лучше понять, как она работает.

    Как определить модель мышки при помощи python

    pyautogui не различает, выдержка из документации гласит:

    If the buttons are swapped, the primary button is the right mouse button and the secondary button is the left mouse button. If not swapped, the primary and secondary buttons are the left and right buttons, respectively. NOTE: Swap detection has not been implemented yet. 

    Распознование еще не реализовано.

    НО для windows можно забрать информацию из GetSystemMetrics . Здесь можно посмотреть для возможных значений. Нам нужен SM_SWAPBUTTON и адрес 0x0017 .

    Теперь можно написать коротенькую функцию для опредления левши:

    import ctypes def is_left(): get_state = 23 #0x0017 for SM_SWAPBUTTON is_left_from_win = ctypes.windll.user32.GetSystemMetrics(get_state) return bool(is_left_from_win) 

    вызов функции будет возвращать True , если пользователь левша

    >>> is_left() False 

    Переключим в винде и попробуем

    >>> is_left() True 

    Так же можно через стороннюю библиотеку pywin32 .

    Для Linux такую функцию написал:

    import subprocess import re def is_left(): retval = subprocess.Popen("xmodmap -pp", shell=True, stdout=subprocess.PIPE).stdout.read() data = retval.decode().split("\n") for i in data: k = i.split() if len("".join(k)) == 2: if k[0] != k[1]: return True return False 

    xmodmap утилитой можно прочитать как определены соответствия физических кнопок и логических. Для правши это выглядит вот так:

    ~$ xmodmap -pp There are 10 pointer buttons defined. Physical Button Button Code 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 

    для левши вот так

    ~$ xmodmap -pp There are 10 pointer buttons defined. Physical Button Button Code 1 3 2 2 3 1 4 4 5 5 6 6 7 7 8 8 9 9 10 10 

    И в функции просто сравнил значения колонок. Если хоть одно сравнение дает False , значит левша трогает мышку

    Показать чувствительность мышки (DPI)

    Как в Линуксе показать (или рассчитать) чувствительность мышки?

    У меня следующая модель:

    Bus 003 Device 008: ID 046d:c062 Logitech, Inc. M-UAS144 [LS1 Laser Mouse]

    В сети я, к сожалению, не нашел инфу.

    Хочу сравнить мышки по юзабилити в плане DPI.

    forest22 ★
    21.10.17 13:09:37 MSK

    Попробуй что-нибудь из этого. Могу ошибаться.

    /usr/sbin/hwinfo --mouse
    xinput --list-props
    sudo apt install python-pip sudo pip install rivalcfg rivalcfg -l

    ult
    ( 21.10.17 13:41:34 MSK )
    Ответ на: комментарий от ult 21.10.17 13:41:34 MSK

    Пока без успеха.

    forest22 ★
    ( 21.10.17 14:02:05 MSK ) автор топика

    Знаю, как узнать/настроить refresh/polling rate в герцах: https://gitlab.com/iankelling/evhz. Задается через параметр ядра usbhid.mousepoll. Но это немного другое.
    На счет DPI не знаю. Нужен специфический софт/драйвер для конкретной мыши. В системе оно задается обычно через настройки мыши с «ползунками» скорости, чувствительности и т.д.

    Ну а если тебе просто надо:

    Хочу сравнить мышки по юзабилити в плане DPI

    то смотри в инете их технические характеристики. Как-то так.

    Gonzo ★★★★★
    ( 21.10.17 16:28:37 MSK )
    Ответ на: комментарий от ult 21.10.17 13:41:34 MSK

    Он вроде только для SteelSeries Rival мышей, как razercfg — для Razer девайсов. Слишком специфично и вряд ли будет работать.

    Gonzo ★★★★★
    ( 21.10.17 16:32:24 MSK )
    Ответ на: комментарий от Gonzo 21.10.17 16:32:24 MSK

    Именно на эту мышку (Logitech) не могу найти. Разные сведения. Пишут «5000» и «1100». Конечно, скорее 1100.

    Экстрактор контента из веб-документов

    Это мой первый пост, в котором я хочу поделиться своей наработкой в решении такой задачки, как выделение контента на странице. Собственно, задачка давно висела в голове в фоновом режиме. Но так сложилось, что именно сейчас мне самому понадобился инструмент, кроме того наткнулся на статейку на хабре: habrahabr.ru/company/mailru/blog/200394 и решил — пора. Ладно, поехали.

    Ход мыслей

    • Придумываем набор факторов, чтобы любой элемент в DOM можно было векторизовать.
    • Каким то образом собираем пачку документов.
    • В каждом документе векторизуем все элементы в DOM ниже BODY в дереве. Опять же как-то.
    • Для каждого из векторизованных элементов назначаем класс 1 или 0. 0 — не целевой, 1 — целевой.
    • Бьём выборку на две части в пропорции 50/50 или около того.
    • На одном куске обучаем наш классификатор, на другом его тестируем, получаем результат в виде полноты, точности. Ну или любой метрики типа F-scoreтысячи их.
    • В качестве языка выбрал python. В основном потому что он мне нравится (:
    • В качестве математической библиотеки для обучения сразу же был выбран sklearn.
    • Поскольку я почему-то решил что javascript-страницы должны также успешно обрабатываться, в качестве движка для парсинга был выбран PyQt4. Как окажется далее — это очень правильный выбор.

    Решение

    Как обычно, оказалось что идея не учитывает всякие неприятные «мелочи». А дело в том, что звучит всё здорово в предыдущем пункте, но совершенно не ясно как размечать выборку? Т.е. как выбирать целевые элементы в DOM для дальнейшего обучения? И вот тогда в голову пришла правильная мысль: а давайте пусть это будет интерактивный браузер. Выбирать целевые блоки будем при помощи мыши и клавиатуры. Эдакий визуализированный процесс разметки не выходя из браузера.

    Задумывалось следущее: есть браузер, в котором можно водить мышкой, и элемент под мышкой «подсвечивается». Когда выбран нужный элемент, пользователь нажимает определённый хоткей. В результате страница парсится, DOM векторизуется, а выделенный элемент получает класс 1, в то время как остальные — класс 0.

    Результаты

    Я не хочу копипасить сюда портянки из кода — всё в открытом виде и доступно в репозитории. Кому надо — почитаете там. Да, кому лень, можно ставить с помощью pip, но учтите, писал и тестировал только на Ubuntu >=12.04.

    • Интерактивное обучение распознаванию контента в браузере. Полученная модель классификатора сериализуется в файлик.
    • Интерактивное тестирование распознавания контента в браузере. Элементы, которые на странице были проклассифицированы как целевые — «подсвечиваются».
    • Консольная тулза, умеющая выдрать html целевого элемента DOM по заданному URL и файлику с моделькой.
    • constractor_train.py — это интерактивная обучалка/тестилка. Тулза умеет подсвечивать элемент под указателем мыши, векторизовать страницу по нажатию хоткея, обучиться на основе данных полученных с разных страниц, сохранить факторы и модельку в файлики, загрузить их из файликов, подсветить элемент на основании текущей модельки.
    • constractor_predict.py — это консольная выдиралка html целевых элементов. В целом это всё что тулза умеет (:

    Картинки

    Для совсем уж ленивых привожу примеры с картинками. Например, хотим научить тулзу определять шапку Хабра.

    1) Наводим мышку на шапку. Когда нужная область выделена (чёрным бэкграундом), нажимаем Ctrl+S. Тем самым добавили векторизованные элементы в выборку.

    Повторяем процедуру несколько раз.

    2) Далее нажимаем Ctrl+T для обучения. Заходим на произвольную страницу с нашей шапкой. Нажимаем Ctrl+P для прогноза.

    Заключение

    Библиотечка пока очень сырая и требует много доработок, прошу не гнать тапком критиковать строго — всё писалось в действительно сжатые сроки.

    Из планов по доработкам: расширение множества дефолтных факторов, добавление встроенных моделек для распознавания разных типов блоков и многое другое. Конечно же я всё это буду постепенно пилить в свободное время. Однако буду очень признателен, если найдутся хабровольцы, готовые также в свободное время поконтрибьютить в библиотечку.

    Спасибо за внимание!

    • машинное обучение
    • выделение содержания
    • content extraction
    • boilerplate

    Словарь ModelBuilder

    Блок-схема модели – это все, что вы видите, когда редактируете модель в ModelBuilder , в том числе ее внешний вид, а также компоновка инструментов и переменных в модели.

    Элементы

    • С помощью инструментов геообработки выполняются различные операции с географическими или табличными данными. Когда инструменты добавляются в модель, они становятся элементами модели. Можно открыть диалоговое окно любого инструмента геообработки в модели, чтобы задать входные и выходные параметры.
    • Переменные являются элементами модели, в которых хранятся значения или ссылки на данные. Существует два типа переменных: данные и значения.
    • Соединители соединяют данные и значения с инструментами. Стрелки соединителя указывают направление обработки. Есть четыре типа соединителей: данные, среда, предварительное условие и обратная связь.
    • Группы являются визуальными элементами, которые группируют вместе связанные инструменты. Эти группы можно разворачивать и сворачивать, чтобы показывать или скрывать инструменты, таким образом для работы с ними будет больше визуального пространства.

    Расположенные ниже таблица и изображение показывают разные элементы модели в ModelBuilder .

    Элементы модели

    Переменные данных являются элементами модели, в которых хранятся пути и другие свойства данных на диске. К стандартным типам переменных относятся класс пространственных объектов, векторный слой, набор растровых данных и рабочая область.

    Производная или выходная переменная данных

    Производные или выходные данные являются новыми данными, созданными инструментом в модели. При добавлении инструмента геообработки в модель автоматически создаются переменные для его выходных параметров, которые соединяются с этим инструментом.

    Новые производные данные

    Входные/Выходные производные данные

    Переменные значений представляют собой значения, такие как строки, числа, логические значения (true/false), пространственные привязки, линейные единицы или экстенты. Переменные значений могут содержать что угодно, кроме слоев и ссылок на данные, хранящиеся на диске.

    Переменная производного значения

    Значения, появляющиеся в результате работы инструмента. Производные значения могут быть входными значениями для других инструментов. Например, инструмент Вычислить значение выдает результат вычисления логического или математического выражения.

    Инструменты – инструменты геообработки, добавленные в модель. Это все инструменты, которые можно найти в системном наборе инструментов, а также пользовательские модели и инструменты-скрипты. Инструменты в ModelBuilder также включают специальные инструменты, например, итераторы, утилиты ModelBuilder и логические инструменты ModelBuilder .

    Итераторы — это специальные инструменты ModelBuilder , которые повторяют одну операцию или цикл для набора входных данных или значений.

    Итератор

    Логические инструменты являются специальными инструментами, которые доступны только в ModelBuilder , и нужны для того, чтобы модель запускалась по разному в зависимости от разных условий.

    Если

    Логические инструменты используются для контроля логики исполнения моделей. Один из логических инструментов – Остановить .

    Инструмент Остановить

    Утилиты ModelBuilder – это инструменты, полезные при создании моделей и работе в ModelBuilder , но не при написании скриптов.

    Утилиты модели

    Группы — это отображаемые категории, которые включают другие элементы модели. Эти группы можно разворачивать и сворачивать.

    Процессы и состояния

    Множественные процессы модели

    Процесс модели состоит из инструмента и всех переменных, соединенных с ним. Соединительные линии показывают последовательность выполнения. Несколько процессов могут быть связаны вместе, образуя более крупный процесс. Процессы модели могут быть в одном из четырех состояний: не готов к выполнению, готов в выполнению, выполняется и был выполнен.

    Не готов к выполнению

    Когда вы первоначально перетаскиваете инструмент в окно ModelBuilder , процесс находится в состоянии «не готов к выполнению», поскольку требуемые значения параметров еще не указаны. Инструменты и все его входные данные показаны серыми.

    Готов к выполнению

    Процесс готов к запуску, когда для инструмента заполнены все необходимые параметры. Все элементы модели в процессе имеют свой цвет.

    Выполнение

    Процесс находится в состоянии «выполняется», если инструменты модели показаны красным цветом.

    Выполнен

    Если запуск модели производится в ModelBuilder , инструменты и производные элементы данных отображаются с тенями. Это означает, что процесс уже выполнялся и были получены производные данные.

    Состояния процесса

    Типы переменных

    Переменная

    Входными переменными в моделях могут быть одно значение, несколько значений или таблица переменных значений. Переменные с одним и несколькими значениями поддерживают один тип данных. Таблица переменных значений позволяет добавлять более одного типа данных. Вы можете создать переменную модели, нажав кнопку Переменная на вкладке ModelBuilder или кнопку Создать переменную в контекстном меню вида модели. В диалоговом окне Тип данных переменной можно установить флажок Несколько значений , чтобы создать переменную с несколькими значениями, или установить флажок Таблица значений , чтобы создать таблицу переменных значений. Некоторые типы данных имеют специальные пользовательские элементы управления, например, список полей, экстент, система координат и т. д. с взаимодействием, зависящим от конкретного элемента управления.

    Проверка

    Проверка модели представляет собой процесс, который должен гарантировать, что все переменные модели (данные или значения) корректны.

    Параметры среды

    Настройки среды геообработки – это дополнительные настройки, влияющие на работу инструментов. Эти настройки позволяют гарантировать, что геообработка выполняется в контролируемой среде. Например, вы можете задать экстент обработки, чтобы ограничить обработку определенной географической областью, или задать систему координат для всех выходных наборов геоданных.

    Три уровня настроек среды применяются в ModelBuilder :

    • Настройки среды уровня проекта – это настройки, которые применяются к любому инструменту, выполняющемуся в текущем проекте. Эти настройки сохраняются в проекте.
    • Параметры уровня модели задаются и сохраняются с моделью и замещают настройки уровня проекта.
    • Настройки среды уровня процесса модели применяются к однократному запуску инструмента, сохраняются в модели и перезаписывают настройки среды уровня проекта и уровня модели.
    Среда рабочей области

    Чтобы упростить управление данными модели, в ModelBuilder можно использовать четыре параметра среды рабочей области.

    • Временная база геоданных Параметр среды Временная база геоданных – это местоположение файловой базы геоданных, которую можно использовать для записи временных данных. Временная база геоданных – это местоположение, куда по умолчанию записываются выходные данные модели. Используйте эту базу геоданных, указав путь к выходному набору данных как %scratchgdb%\output .
    • Временная папка Параметр среды Временная папка является местоположением папки, которую можно использовать для записи файловых данных, например шейп-файлов, текстовых файлов и файлов слоев.
    • Текущая рабочая область Инструменты, использующие параметр среды Текущая рабочая область, используют рабочую область, определенную как местоположение по умолчанию для входных и выходных данных инструмента геообработки.
    • Временная рабочая область Инструменты, которые поддерживают параметр среды Временная рабочая область, используют указанное местоположение в качестве рабочей области по умолчанию для выходных наборов данных. Временная рабочая область предназначена для выходных данных, которые вы не хотите сохранять.

    Дополнительно к рабочим областям, указанным выше, вы также можете записать результаты работы модели в память. Данные, записанные в память, являются временными и автоматически удаляются при закрытии приложения.

    Предварительные условия

    Предварительные условия можно использовать для управления последовательностью операций в модели. Например, можно настроить запуск процесса после другого процесса, сделав выходные данные первого процесса предварительным условием второго процесса. Предварительным условием для запуска инструмента можно сделать любую переменную. В свою очередь, у любого инструмента может быть несколько предварительных условий.

    Обратная связь

    Выходные данные процесса можно использовать в качестве входных данных для предыдущего процесса. Это называется обратной связью, так как в качестве входных данных используются выходные данные.

    Компоновка

    Элементы в модели можно упорядочивать путем перемещения элементов в нужное местоположение или автоматически с помощью кнопки Автокомпоновка на вкладке ModelBuilder . Чтобы автоматически расположить элементы внутри группы, щелкните правой кнопкой эту группу и выберите Автокомпоновка в контекстном меню. Чтобы заблокировать/разблокировать элементы, щелкните кнопку Заблокировать элемент или Разблокировать элемент в группе Вид на вкладке ModelBuilder . Заблокированные элементы не будут затронуты Автокомпоновкой в модели.

    Промежуточные данные

    Результаты работы промежуточных инструментов можно удалить, а можно оставить.

    Замена встроенной переменной

    В ModelBuilder значение или путь к набору данных переменной может быть замещено другой переменной, для этого замещающая переменная заключается в символы процента ( %VariableName% ). Подстановка переменных при помощи этого действия называется подстановкой встроенной переменной.

    Например, если у вас есть переменная Name , имеющая значение Wilson , вы можете создать путь к набору данных C:\Data\Output.gdb\Clipped_%Name% , который будет выглядеть следующим образом: C:\Data\Output.gdb\Clipped_Wilson .

    Итераторы

    Итерирование или цикл – это способ автоматизированного повторения процесса. Итерация очень важна, поскольку автоматизация повторяющихся задач способствует уменьшению времени и усилий, необходимых для выполнения задач. Итерация в ModelBuilder позволяет выполнять процесс снова и снова, используя каждый раз другие параметры или данные.

    Утилиты

    ModelBuilder содержит массу утилит, в том числе Вычислить значение , Собрать значения , Получить значение поля , Анализировать путь и Выбрать данные .

    Логические инструменты ветвления если-то-иначе

    Логика если-то-иначе – это принцип, позволяющий выполнять действия, основанных на различных условиях. Логику если-то-иначе можно объяснить следующим образом: если условие действительно, то выполните действие; иначе выполните другое действие.

    Параметры

    Параметры модели и диалоговое окно инструмента

    Параметры модели появляются на панели Геообработка при открытии модели в качестве инструмента геообработки. Любую переменную модели можно преобразовать в параметр модели. Производные переменные (выходные данные инструмента), являющиеся параметрами, будут добавлены на последнюю активную карту, на которой они были успешно созданы.

    Инструмент-модель

    Модель ModelBuilder сохраняется как инструмент-модель в наборе инструментов. Инструмент модели действует, как и любой другой инструмент геообработки: он может быть запущен, использован в Python , либо добавлен к другой модели. Для редактирования модели в ModelBuilder щелкните правой кнопкой мыши и выберите пункт Редактировать . Чтобы открыть и запустить инструмент-модель на панели Геообработка , дважды щелкните или щелкните правой кнопкой и выберите Открыть .

    Добавление подмодели в модель

    При добавлении и запуске инструмента одной модели в другой модели, добавляемая модель иногда называется подмоделью, вложенной моделью или моделью внутри модели. Использование одной модели с другой позволяет разбить крупную модель на более мелкие модели, которые проще в управлении и которые можно использовать повторно.

    Инструмент Пакетная модель

    Инструменты-модели можно запускать в пакетном режиме, позволяющем вам автоматически выполнять инструмент модели несколько раз, используя несколько входных наборов данных или разные параметры инструмента. Это позволяет запускать инструмент много раз с минимальными усилиями.

    Запуск модели по расписанию

    Вы можете запланировать запуск инструмента-модели в определенное время суток или многократный запуск через определенный интервал времени. Это применяется также, когда модель очень долго выполняется, и вы хотите, чтобы результаты ее работы были доступны в определенное время.

    Экспорт модели в Python

    Вы можете экспортировать модель либо в окно Python , либо в файл скрипта Python . Обе опции генерируют один и тот же код Python , который можно впоследствии отредактировать и использовать в автономном скрипте Python , или настроить для работы в качестве инструмента-скрипта.

    Отчет модели

    Вид Отчет ModelBuilder показывает все переменные и инструменты в модели наравне с их значением и другими свойствами. Это полезно для определения местоположения переменных в большой модели. Кроме того, вы также можете находить и заменять имена и значения переменных в виде отчета.

    Связанные разделы
    В этом разделе
    1. Схема
    2. Элементы
    3. Процессы и состояния
    4. Типы переменных
    5. Проверка
    6. Параметры среды
    7. Предварительные условия
    8. Обратная связь
    9. Компоновка
    10. Промежуточные данные
    11. Замена встроенной переменной
    12. Итераторы
    13. Утилиты
    14. Логические инструменты ветвления если-то-иначе
    15. Параметры
    16. Инструмент-модель
    17. Добавление подмодели в модель
    18. Инструмент Пакетная модель
    19. Запуск модели по расписанию
    20. Экспорт модели в Python

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *