Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex DataSphere
  • Начало работы
    • Все руководства
      • Классификация изображений на видеокадрах
      • Запуск вычислений по расписанию
      • Запуск вычислений с помощью API
      • Геокодинг с помощью API Яндекс Карт для визуализации в DataLens
      • Обучение модели на данных из Yandex Object Storage
      • Создание сервера MLFlow для логирования экспериментов и артефактов
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • Управление доступом
  • Правила тарификации
  • Публичные материалы
  • История изменений

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Получите ключ API Геокодера
  • Преобразуйте данные в DataSphere
  • Создайте проект
  • Создайте секрет
  • Создайте ноутбук
  • Установите зависимости
  • Установите сертификаты
  • Загрузите и преобразуйте данные
  • Создайте подключение к файлу в DataLens
  • Создайте датасет на базе подключения
  • Создайте чарт
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Разработка
  3. Геокодинг с помощью API Яндекс Карт для визуализации в DataLens

Геокодинг с помощью API Яндекс Карт для визуализации в DataLens

Статья создана
Yandex Cloud
Обновлена 6 марта 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Получите ключ API Геокодера
  • Преобразуйте данные в DataSphere
    • Создайте проект
    • Создайте секрет
    • Создайте ноутбук
    • Установите зависимости
    • Установите сертификаты
    • Загрузите и преобразуйте данные
  • Создайте подключение к файлу в DataLens
  • Создайте датасет на базе подключения
  • Создайте чарт
  • Как удалить созданные ресурсы

В этом практическом руководстве вы научитесь преобразовывать адреса в геокоординаты с помощью API Геокодера и визуализируете данные в DataLens. Обработка данных выполняется с помощью скриптов на языке Python, описанных в Jupyter ноутбуках в Yandex DataSphere.

В качестве источника данных будут использованы данные из демонстрационной БД ClickHouse®.

  1. Подготовьте облако к работе.
  2. Получите ключ API Геокодера.
  3. Преобразуйте данные в DataSphere.
  4. Создайте подключение к файлу в DataLens.
  5. Создайте датасет на базе подключения.
  6. Создайте чарт.

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

Перед началом работы

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

  1. На главной странице DataSphere нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO).
  2. Выберите организацию Yandex Cloud Organization, в которой вы будете работать в Yandex Cloud.
  3. Создайте сообщество.
  4. Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.

Совет

Чтобы Yandex DataLens и Yandex DataSphere могли работать внутри сети Yandex Cloud, создавайте их экземпляры в рамках одной организации.

Необходимые платные ресурсы

В стоимость развертывания инфраструктуры входит плата за использование вычислительных ресурсов DataSphere.

Получите ключ API Геокодера

Получите ключ для использования API Геокодера:

  1. Перейдите в Кабинет разработчика и нажмите кнопку Подключить API.

    image

  2. В открывшемся окне выберите JavaScript API и HTTP Геокодер и нажмите Продолжить.

  3. Заполните форму и нажмите Продолжить.

  4. В открывшемся окне нажмите Перейти к API.

  5. В блоке Ключи API скопируйте значение ключа.

    image

Преобразуйте данные в DataSphere

Создайте проект

  1. Откройте главную страницу DataSphere.
  2. На панели слева выберите Сообщества.
  3. Выберите сообщество, в котором вы хотите создать проект.
  4. На странице сообщества нажмите кнопку Создать проект.
  5. В открывшемся окне укажите имя и (опционально) описание проекта.
  6. Нажмите кнопку Создать.

Создайте секрет

Создайте секрет для хранения ключа API Геокодера:

  1. В блоке Ресурсы проекта на странице проекта нажмите Секрет.
  2. Нажмите кнопку Создать.
  3. В поле Имя задайте имя секрета — API_KEY.
  4. В поле Значение введите значение ключа.
  5. Нажмите кнопку Создать. Откроется страница с информацией о созданном секрете.

Создайте ноутбук

  1. Выберите нужный проект в своем сообществе или на главной странице DataSphere во вкладке Недавние проекты.

  2. Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.

  3. На верхней панели в окне проекта нажмите File и выберите New → Notebook.

  4. Выберите ядро DataSphere Kernel и нажмите Select.

    image

Установите зависимости

  1. Вставьте в ячейку ноутбука указанный ниже код и нажмите значок :

    %pip install requests
    %pip install clickhouse-driver
    
  2. Перезагрузите ядро: на верхней панели в окне проекта нажмите Kernel → Restart Kernel.

Установите сертификаты

Установите сертификаты в локальное хранилище проекта:

#!:bash
mkdir --parents /home/jupyter/datasphere/project/Yandex/

wget "https://storage.yandexcloud.net/cloud-certs/RootCA.pem" \
     --output-document /home/jupyter/datasphere/project/Yandex/RootCA.crt

wget "https://storage.yandexcloud.net/cloud-certs/IntermediateCA.pem" \
     --output-document /home/jupyter/datasphere/project/Yandex/IntermediateCA.crt

Загрузите и преобразуйте данные

  1. Создайте класс для работы с Геокодером:

    import requests
    from dataclasses import dataclass
    
    @dataclass
    class YandexGeocoder:
        api_key: str
        geocoder_url: str = 'https://geocode-maps.yandex.ru/1.x'
    
        def adress_to_geopoint(self, address: str) -> str:
    
            # Преобразование адреса в геокоординаты в формате DataLens
    
            response = requests.get(self.geocoder_url, params={
                'apikey': self.api_key,
                'geocode': address,
                'format': 'json',
            })
            response.raise_for_status()
    
            result = response.json()['response']['GeoObjectCollection']['featureMember']
            if not result:
                return None
    
            lat, lon = result[0]['GeoObject']['Point']['pos'].split(' ')
            return self._to_datalens_format(lon, lat)
    
        def _to_datalens_format(self, lon, lat):
            return f'[{lon},{lat}]'
    
  2. Подключитесь к демонстрационной БД ClickHouse®:

    from clickhouse_driver import Client
    
    ch_client = Client(
        host='rc1a-ckg8nrosr2lim5iz.mdb.yandexcloud.net',
        user='samples_ro',
        password='MsgfcjEhJk',
        database='samples',
        port=9440,
        secure=True,
        verify=True,
        ca_certs='/home/jupyter/datasphere/project/Yandex/RootCA.crt'
    )
    
  3. Выполните проверку с помощью команды:

    print(ch_client.execute('SELECT version()'))
    

    Если подключение установлено успешно, в терминале отобразится номер версии ClickHouse®.

  4. Выгрузите данные из таблицы с адресами магазинов в переменную ch_data:

    ch_data = ch_client.execute('SELECT ShopName, ShopAddress FROM MS_Shops')
    ch_data
    
  5. Преобразуйте адреса магазинов из колонки ShopAddress в геокоординаты:

    import os
    
    geocoder = YandexGeocoder(api_key=os.environ['API_KEY'])
    
    encoded_data = [
        (name, geocoder.adress_to_geopoint(adress))
        for name, adress in ch_data
    ]
    encoded_data
    
  6. Сохраните полученные данные в файл:

    import csv
    import sys
    
    csv_writer = csv.writer(
        sys.stdout,
        delimiter=',',
        quotechar='"',
        quoting=csv.QUOTE_MINIMAL,
    )
    
    filename = 'encoded_data.csv'
    
    with open(filename, 'w') as f:
        csv_writer = csv.writer(
            f,
            delimiter=',',
            quotechar='"',
        )
        csv_writer.writerows(encoded_data)
    

    На панели слева появится файл encoded_data.csv.

    image

  7. Скачайте полученный файл — нажмите правой кнопкой мыши и выберите Download.

Создайте подключение к файлу в DataLens

  1. Перейдите на главную страницу DataLens.

  2. На панели слева выберите Подключения и нажмите кнопку Создать подключение.

  3. В разделе Файлы и сервисы выберите подключение Файлы.

  4. Нажмите кнопку Загрузить файлы и укажите файл encoded_data.csv.

    image

  5. В правом верхнем углу нажмите кнопку Создать подключение.

  6. Введите название подключения geocoder_csv и нажмите кнопку Создать.

Создайте датасет на базе подключения

  1. В правом верхнем углу нажмите кнопку Создать датасет.

  2. Перейдите на вкладку Поля.

  3. Переименуйте поля:

    • field1 в Название магазина;
    • field2 в Координаты.
  4. Для поля Координаты измените тип данных на Геоточка.

    image

  5. В правом верхнем углу нажмите кнопку Сохранить.

  6. Введите название датасета geocoder_data и нажмите кнопку Создать.

Создайте чарт

  1. В правом верхнем углу нажмите кнопку Создать чарт.

  2. Выберите тип визуализации Карта.

  3. Перетащите поле Координаты в секцию Точки (Геоточки).

  4. Перетащите поле Название магазина в секцию Тултипы.

    image

  5. В правом верхнем углу нажмите кнопку Сохранить.

  6. Введите название чарта и нажмите кнопку Сохранить.

Как удалить созданные ресурсы

Если вы больше не планируете работать с проектом в DataSphere, удалите его.

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Была ли статья полезна?

Предыдущая
Запуск вычислений с помощью API
Следующая
Обучение модели на данных из Yandex Object Storage
Проект Яндекса
© 2025 ООО «Яндекс.Облако»