streetlevel.yandex: Yandex Panorama
Finding panoramas
- find_panorama(lat, lon, session=None)
Searches for a panorama near the given point.
Aerial panoramas are ignored by this API call.
- Parameters:
lat (float) – Latitude of the point.
lon (float) – Longitude of the point.
session (Session | None) – (optional) A requests session.
- Returns:
A YandexPanorama object if a panorama was found, or None.
- Return type:
YandexPanorama | None
- async find_panorama_async(lat, lon, session)
- Parameters:
lat (float) –
lon (float) –
session (ClientSession) –
- Return type:
YandexPanorama | None
- find_panorama_by_id(panoid, session=None)
Fetches metadata of a specific panorama.
- Parameters:
panoid (str) – The pano ID.
session (Session | None) – (optional) A requests session.
- Returns:
A YandexPanorama object if a panorama with this ID exists, or None.
- Return type:
YandexPanorama | None
- async find_panorama_by_id_async(panoid, session)
- Parameters:
panoid (str) –
session (ClientSession) –
- Return type:
YandexPanorama | None
Downloading panoramas
- get_panorama(pano, zoom=0)
Downloads a panorama and returns it as PIL image.
Note that most official car coverage has its bottom part cropped out.
- Parameters:
pano (YandexPanorama) – The panorama to download.
zoom (int) – (optional) Image size; 0 is highest, 4 is lowest. The dimensions of a zoom level of a specific panorama depend on the camera used. If the requested zoom level does not exist, the highest available level will be downloaded. Defaults to 0.
- Returns:
A PIL image containing the panorama.
- Return type:
Image
- async get_panorama_async(pano, session, zoom=0)
- Parameters:
pano (YandexPanorama) –
session (ClientSession) –
zoom (int) –
- Return type:
Image
- download_panorama(pano, path, zoom=0, pil_args=None)
Downloads a panorama to a file.
- Parameters:
pano (YandexPanorama) – The panorama to download.
path (str) – Output path.
zoom (int) – (optional) Image size; 0 is highest, 4 is lowest. The dimensions of a zoom level of a specific panorama depend on the camera used. If the requested zoom level does not exist, the highest available level will be downloaded. Defaults to 0.
pil_args (dict | None) – (optional) Additional arguments for PIL’s Image.save method, e.g.
{"quality":100}. Defaults to{}.- Return type:
None
- async download_panorama_async(pano, path, session, zoom=0, pil_args=None)
- Parameters:
pano (YandexPanorama) –
path (str) –
session (ClientSession) –
zoom (int) –
pil_args (dict | None) –
- Return type:
None
Data classes
- class Address(lat, lon, house_number, street_name_and_house_number)
An address whose marker is overlaid on the panorama.
- Parameters:
lat (float) –
lon (float) –
house_number (str) –
street_name_and_house_number (str) –
- house_number: str
House number of the address.
- lat: float
Latitude of the address.
- lon: float
Longitude of the address.
- street_name_and_house_number: str
Street name and house number of the address.
- class Marker(lat, lon, name, description, style)
A marker which is neither an address, company, nor landmark.
- Parameters:
lat (float) –
lon (float) –
name (str) –
description (str) –
style (str) –
- description: str
- lat: float
Latitude of the marker.
- lon: float
Longitude of the marker.
- name: str
- style: str
A link to an element in an XML document describing how the marker should be drawn. What the marker represents can be inferred from the ID of the element.
- class Place(id, lat, lon, name, tags)
A company or landmark whose marker is overlaid on the panorama.
- Parameters:
id (int) –
lat (float) –
lon (float) –
name (str) –
tags (List[str]) –
- id: int
ID of the place.
- lat: float
Latitude of the place’s location.
- lon: float
Longitude of the place’s location.
- name: str
Name of the place.
- tags: List[str]
Typically has one entry specifying the type of the place.
- class YandexPanorama(id, lat, lon, heading=None, image_id=None, tile_size=None, image_sizes=None, neighbors=None, links=None, historical=None, date=None, height=None, street_name=None, places=None, addresses=None, other_markers=None, author=None, author_avatar_url=None)
Metadata of a Yandex panorama.
ID, latitude and longitude are always present. The availability of other metadata depends on which function was called and what was returned by the API.
- Parameters:
id (str) –
lat (float) –
lon (float) –
heading (float) –
image_id (str) –
tile_size (Size) –
image_sizes (List[Size]) –
neighbors (List[YandexPanorama]) –
links (List[Link]) –
historical (List[YandexPanorama]) –
date (datetime) –
height (float) –
street_name (str) –
places (List[Place]) –
addresses (List[Address]) –
other_markers (List[Marker]) –
author (str) –
author_avatar_url (str) –
- author: str = None
Name of the uploader; only set for third-party panoramas.
- author_avatar_url: str = None
URL of the uploader’s avatar; only set for third-party panoramas. Replace
%swithsmall(25x25),normal(100x100) orbig(500x500) to get the respective size.
- date: datetime = None
Capture date and time of the panorama.
- heading: float = None
Heading in radians, where 0° is south, 90° is west, 180° is north and 270° is east.
- height: float = None
Height above ground (not sea level) in meters.
- historical: List[YandexPanorama] = None
A list of panoramas with a different date at the same location.
- id: str
The pano ID.
- image_id: str = None
Part of the panorama tile URL.
- image_sizes: List[Size] = None
The image sizes in which this panorama can be downloaded, from highest to lowest. Indices correspond to zoom levels.
- lat: float
Latitude of the panorama’s location.
- lon: float
Longitude of the panorama’s location.
- neighbors: List[YandexPanorama] = None
A list of nearby panoramas.
- other_markers: List[Marker] = None
Represents other markers which are neither an address, company, nor landmark.
- permalink(heading=0.0, pitch=0.0, map_zoom=17.0, radians=True)
Creates a permalink to this panorama.
- Parameters:
heading (float) – (optional) Initial heading of the viewport. Defaults to 0°.
pitch (float) – (optional) Initial pitch of the viewport. Defaults to 0°.
map_zoom (float) – (optional) Initial zoom level of the map. Defaults to 17.
radians (bool) – (optional) Whether angles are in radians. Defaults to False.
self (YandexPanorama) –
- Returns:
A Yandex Maps URL.
- Return type:
str
- street_name: str = None
The name of the street the panorama is located on.