Skip to main content

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

Metadata

Release files for ymaps 1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ymaps 1.3
File Size Uploaded
ymaps-1.3.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ymaps 1.3
File Interpreter ABI Platform
ymaps-1.3-py3-none-any.whl Python 3 none any Details

Total release size: 21.8 kB

Release files / ymaps-1.3.tar.gz

Download URL ymaps-1.3.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9e8730abd8d8e05f560b651899ccbbe5068c090ab6e69b967f15f918b6d73a58
BLAKE2b-256 checksum
How to use checksums
a3b6519ff3ec43839c423797f6576bd63083bd6a730e3ba22b21151bb106b993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / ymaps-1.3-py3-none-any.whl

Download URL ymaps-1.3-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
887f46443ad708ed219f8fa8a5e243288cd05d0120c6dd55e46233b2d08a4fb3
BLAKE2b-256 checksum
How to use checksums
6a3710557d06a12697aa77b7cb95b3e01b5e2e6ff5fe93997ab3b60ab3528685
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

1.3 This release

2 release files

1.2

2 release files

1.1

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page