Напиши код, который на карту города добавляет тепловые

Напиши код, который на карту города добавляет тепловые камеры и подгружает для него данные с OPC сервера
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python
Создано: 03.04.2025 02:32

Напиши код, который на карту города добавляет тепловые камеры и подгружает для него данные с OPC сервера

Для добавления тепловых камер на карту города и подгрузки данных с OPC сервера вы можете использовать такие библиотеки, как folium для работы с картами и opcua для взаимодействия с OPC сервером. Ниже представлен пример кода на языке Python, который демонстрирует этот процесс.

# Установка необходимых библиотек
# pip install folium opcua

import folium
from opcua import Client

# Определяем координаты города (например, координаты центра Москвы)
city_latitude = 55.7558
city_longitude = 37.6173

# Создаем карту
city_map = folium.Map(location=[city_latitude, city_longitude], zoom_start=12)

# Параметры OPC сервера
opc_server_url = "opc.tcp://localhost:4840"  # адресс вашего OPC сервера

# Подключение к OPC серверу
client = Client(opc_server_url)

try:
    client.connect()
    print("Подключено к OPC серверу")

    # Здесь необходимо указать путь к вашим данным на сервере
    node_id = "ns=2;i=2"  # Пример node_id
    temperature_data = client.get_node(node_id).get_value()

    # Список координат тепловых камер (широта, долгота)
    thermal_cameras = [
        (55.7573, 37.6176),  # пример координат камеры 1
        (55.7578, 37.6101),  # пример координат камеры 2
    ]

    # Добавляем тепловые камеры на карту
    for i, (lat, lon) in enumerate(thermal_cameras):
        folium.Marker(
            location=[lat, lon],
            popup=f"Камера {i + 1}<br>Температура: {temperature_data} °C",
            icon=folium.Icon(color='red')
        ).add_to(city_map)

finally:
    client.disconnect()

# Сохраняем карту в HTML файл
city_map.save("city_map_with_thermal_cameras.html")

Описание кода:

  1. Импорт библиотек: Импортируем необходимые библиотеки folium для создания карты и opcua для работы с OPC сервером.
  2. Создание карты: Устанавливаем координаты центра города и создаем карту с заданным уровнем увеличения.
  3. Подключение к OPC серверу: Подключаемся к OPC серверу по указанному адресу. Необходимо указать корректный адрес вашего сервера и node_id.
  4. Получение данных: Извлекаем данные (например, температуру) из OPC сервера.
  5. Добавление маркеров: Для каждой камеры добавляем маркер на карту с текстом, содержащим номер камеры и данные температуры.
  6. Сохранение карты: Сохраняем получившуюся карту в HTML файл.

Запуск кода:

Вы можете запустить этот код, предварительно установив библиотеки с помощью pip и настроив OPC сервер. После выполнения скрипта вы получите файл city_map_with_thermal_cameras.html, который можно открыть в веб-браузере для просмотра карты с тепловыми камерами.