Socket
Socket
Sign inDemoInstall

ymaps

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ymaps

Client for Yandex Maps API


Maintainers
1

Readme

ymaps


PyPI Version GitHub

ymaps - это клиент для API Яндекс Карт (Неофициальный)

Синхронные и Асинхронные:


Установка

pip install ymaps

Зависимости


Использование

Геокоординаты задаются в порядке долгота и широта

* - обязательный аргумент

Все необязяательные аргументы должны передаваться по имени

Параметры клиентов:

  • api_key*, получить ключ
  • language, язык ответа, по умолчанию русский (ru_RU)
  • timeout, таймаут запроса, по умолчанию 1 секунда
Примеры:
# api_key = 'api_key', language = 'en_RU', timeout = 10
Search('api_key', 'en_RU', 10)

# api_key = 'api_key', language = 'ru_RU', timeout = 1
Geocode('api_key')

# api_key = 'api_key', language = 'tr_TR', timeout = 1
Suggest('api_key').suggest(text, lang='tr_TR')

Поиска по организациям и географическим объектам (топонимы).

search()

Выполняет поиск по организациям или топонимам, формат ответа.

  • text*- текст поискового запроса
  • lang - язык ответа, по умолчанию ru_RU
  • type - типы возвращаемых результатов. geo — топонимы, biz — организации, по умолчанию автоматическое определение типа по тексту запроса
  • ll - центр области поиска
  • spn - размеры области поиска
  • bbox - альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным. Границы области поиска задаются в виде географических координат левого нижнего и правого верхнего углов области.
  • rspn - признак «жесткого» ограничения области поиска, по умолчанию False (не ограничивать)
  • results - количество возвращаемых объектов, по умолчанию 10
  • skip - количество объектов в ответе (начиная с первого), которое необходимо пропустить, skip должно нацело делиться на results
  • uri - Дополнительная информация об объекте, значение параметра возвращается в ответе Геосаджеста.
Примеры:
client = Search('api_key')


# text
client.search('лебединое озеро')
client.search('55.750788,37.618534')
client.search('Санкт-Петербург, ул. Блохина, 15')
client.search('+7 495 739-70-70')
client.search('ООО Яндекс')

# lang
client.search('ООО Яндекс', lang='ru_RU')
client.search('Санкт-Петербург, ул. Блохина, 15', lang='be_BY')

# type
client.search('ООО Яндекс', lang='ru_RU', type='biz')
client.search('лебединое озеро', type='geo')

# ll, spn (используются совместно)
client.search('площадь Революции', ll=[37.618920, 55.756994], spn=[0.552069, 0.400552])

# bbox
client.search('Театр', bbox=[36.83, 55.67, 38.24, 55.91])

# rspn, не искать за пределами заданной области
client.search('Театр', rspn=True, bbox=[36.83, 55.67, 38.24, 55.91])

# results
client.search('Администрация', results=25)

# skip
client.search('Администрация', results=25, skip=25)


# asynchronous
client = SearchAsync('api_key')
await client.search('ООО Яндекс', lang='ru_RU')

Geocode

Прямое и обратное геокодирование.

geocode()

Преобразует адрес в координаты объекта, формат ответа.

  • geocode* - текст поискового запроса
  • ll - центр области поиска
  • spn - размеры области поиска
  • bbox - альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным. Границы области поиска задаются в виде географических координат левого нижнего и правого верхнего углов области.
  • format - формат ответа геокодера xml, json; json по умолчанию
  • rspn - признак «жесткого» ограничения области поиска, по умолчанию False (не ограничивать)
  • results - количество возвращаемых объектов, по умолчанию 10
  • skip - количество объектов в ответе (начиная с первого), которое необходимо пропустить, skip должно нацело делиться на results
  • lang - язык ответа, по умолчанию ru_RU
  • uri - Дополнительная информация об объекте, значение параметра возвращается в ответе Геосаджеста.
reverse()

Преобразует координаты в адрес объекта. Принимает те же аргументы что и geocode(), а также:

  • geocode* - географические координаты объекта
  • sco - порядок записи координат, longlat — долгота, широта, latlong — широта, долгота, по умолчанию longlat
  • kind - вид необходимого топонима (house, street, metro, district, locality), по умолчанию подбирается автоматически
Примеры:
client = Geocode('api_key')

# geocode
client.geocode('Санкт-Петербург, ул. Блохина, 15')

#reverse
client.reverse([37.611347, 55.760241])

# format, kind
client.reverse([37.611347, 55.760241], format='xml', kind='street')

# sco
client.reverse([55.760241, 37.611347], sco='latlong')

# ll, spn (используются совместно)
client.geocode('Санкт-Петербург, ул. Блохина, 15', ll=[30.301324, 59.951921], spn=[0.552069, 0.400552])

# bbox
client.geocode('Санкт-Петербург, ул. Блохина, 15', bbox=[36.83, 55.67, 38.24, 55.91])


# asynchronous
client = GeocodeAsync('api_key')
await client.geocode('Санкт-Петербург, ул. Блохина, 15')

Suggest

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

suggest()

Выполняет поиск географических объектов и/или организаций, формат ответа.

  • text*- текст поискового запроса
  • lang - язык ответа в формате ISO 639-1, по умолчанию ru
  • results - количество возвращаемых объектов, по умолчанию 10
  • highlight - По умолчанию сервис осуществляет подсветку совпадений в результатах и возвращает набор диапазонов индексов, которые можно выделить в интерфейсе. Значение highlight=0 отключает подсветку.
  • ll - центр области поиска
  • spn - размеры области поиска
  • bbox - альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным. Границы области поиска задаются в виде географических координат левого нижнего и правого верхнего углов области.
  • ull - координаты пользователя, используется при расчете расстояний. Если параметр не указан, по умолчанию для расчетов будет взят центр окна.
  • strict_bounds - используется в значении strict_bounds=1, чтобы строго ограничить выдачу и оставлять только объекты, которые попадают в окно.
  • types - тип объекта в ответе
  • print_address - возвращает покомпонентный адрес в ответе. Для этого укажите значение print_address=1
  • org_address_kind - возвращает список организаций только с адресом до номера дома
  • attrs - используется в значении attrs=uri. Возвращает в ответе параметр uri
Примеры:
client = Suggest('api_key')


# text
client.suggest('санкт')

# lang
client.suggest('санкт', lang='be')

# types  
client.suggest('санкт', types='province')

# ll, spn (используются совместно)
client.suggest('площадь Революции', ll=[37.618920, 55.756994], spn=[0.552069, 0.400552])

# bbox, ull
client.suggest('Театр', bbox=[36.83, 55.67, 38.24, 55.91], ull=[36.84, 55.69])


# asynchronous
client = SearchAsync('api_key')
await client.search('ООО Яндекс', lang='ru_RU')

Static

Формирует изображение схемы карты

Static имеет дополнительный параметр - url.

  • api_key - при url = 1.x необязателен
  • url - определяет адрес запроса, значения: v1, 1.x. При запросе на 1.x есть возможность указать перечень слоёв карты - l.
# url='v1' (on default)
# BASE_URL = 'https://static-maps.yandex.ru/v1'
Static()

# url='1.x
# 'BASE_URL = 'https://static-maps.yandex.ru/1.x'
Static(url='1.x')
load_image()

Сохраняет найденное изображение карт.

  • path*, путь к файлу
  • ..., то же что и в get_image
client = Static(url='1.x')                                                                                                                              
client.load_image(path='file.png', l=['sat', 'skl'], ll=[37.620070, 55.753630]) 
get_image()

Формирует изображение карты в соответствии со значениями параметров, возвращает bytes.

* - ll или bbox

  • l*, (только для url='1.x') перечень слоев, определяющих тип карты: map (схема), sat (спутник), sat,skl (гибрид), trf (Слой пробок)
  • ll - центр области поиска, долгота и широта центра карты в градусах
  • bbox - альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным. Границы области поиска задаются в виде географических координат левого нижнего и правого верхнего углов области.
  • spn - протяженность области показа карты по долготе и широте (в градусах)
  • z - уровень масштабирования карты (0-17), см
  • size - ширина и высота запрашиваемого изображения карты (в пикселах)
  • scale - коэффициент увеличения объектов на карте (от 1.0 до 4.0)
  • pt - содержит описание одной или нескольких меток, которые требуется отобразить на карте
  • pl - Содержит набор описаний геометрических фигур (ломаных и многоугольников), которые требуется отобразить на карте
Примеры:
client = Static()

# ll
client.get_image(ll=[37.620070, 55.753630])

# spn
client.get_image(ll=[37.620070, 55.753630], spn=[0.02, 0.02])

# bbox
client.get_image(bbox=[30.03, 59.85, 30.49, 60.10])

# z scale
client.get_image(ll=[37.620070, 55.753630], z=12, scale=2.5)

# size 
client.get_image(ll=[37.620070, 55.753630], size=[450, 450])

# pt
client.get_image(ll=[37.620070, 55.753630], pt=[
	'37.620070,55.753630,pmwtm1', 
	'37.62006,55.753632,pmwtm2'
])

# pl
client.get_image(ll=[37.620070, 55.753630], pl=[
	'c:ec473fFF,f:00FF00A0,w:5,37.51,55.83', 
	'c:ec473fFF,f:00FF00A0,w:5,37.49,55.70,37.51,55.83'
])

# l
client = Static(url='1.x')
client.get_image(ll=[37.620070, 55.753630], l=['sat', 'skl'])


# asynchronous
client = StaticAsync()
await client.get_image(ll=[37.620070, 55.753630])

Сохраните изображение:

response = Static('api_key').get_image(...)

with open('file.png', "wb") as f:
	f.write(response)

Настройка разработки

$ python -m venv venv
$ . venv/bin/activate
$ make deps
$ tox

Лицензия

MIT

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc