Skip to main content

Download panoramas and metadata from Street View and others

Project description

streetlevel

streetlevel is a library for downloading panoramas and metadata from street-level imagery services such as Google Street View, Apple Look Around, and several others. It provides a high-level abstraction over the internal APIs of the supported services – this means that no API keys are required, but the library may break unexpectedly.

(Nearly) all functions are available as either a sync function using requests or an async function using aiohttp, requiring a ClientSession.

Installation

pip install streetlevel

Example

Downloading the closest Google Street View panorama to a specific location, sync:

from streetlevel import streetview

pano = streetview.find_panorama(46.883958, 12.169002)
streetview.download_panorama(pano, f"{pano.id}.jpg")

Or async:

from streetlevel import streetview
from aiohttp import ClientSession

async with ClientSession() as session:
    pano = await streetview.find_panorama_async(46.883958, 12.169002, session)
    await streetview.download_panorama_async(pano, f"{pano.id}.jpg", session)

Documentation

Documentation is available at streetlevel.readthedocs.io.

Functionality overview

Services covering multiple countries are on the left; services covering one specific country are on the right.

✔ implemented / available; 🟡 partially implemented; ❌ not implemented; ⚫ not available / not applicable

Google
Street View
Apple
Look Around
Yandex
Panorama
Bing
Streetside
🇰🇷 Kakao
Road View
🇰🇷 Naver
Street View
🇨🇿 Mapy.cz
Panorama
🇮🇸 Já
360

Finding panoramas
How panoramas can be retrieved through the API.
Find panoramas around a point ✔1 ⚫ ✔1 ✔ ✔ ✔1 ✔1 ✔1
Find panoramas by slippy map tile or bounding box ✔2 ✔2 ⚫ ✔3 ⚫ ⚫ ⚫ ⚫
Get specific panorama by ID ✔ ⚫ ✔ ✔ ✔ ✔ ✔ ✔

Imagery
The type of imagery returned by the service.
Download panoramas ✔ ✔4 ✔ ✔ ✔ ✔ ✔ ✔
Download depth information ✔5 ❌ ⚫ ⚫ ✔ ✔5 ⚫
⚫
Image projection Equirectangular ??? Equirectangular Cubemap Equirectangular Cubemap Equirectangular Cubemap
Image format JPEG HEIC JPEG JPEG JPEG JPEG JPEG JPEG

Available metadata
Metadata returned by the API of the service alongside ID and location.
Capture date ✔6 ✔ ✔ ✔ ✔ ✔ ✔ ✔9
Heading, pitch, roll ✔ ✔ ✔7 ✔ ✔7 ✔7 ✔
✔7
Elevation ✔ ✔ ⚫ ✔ ⚫ ✔ ✔ ⚫
Nearby / linked panoramas ✔ ⚫ ✔ ✔8 ✔ ✔ ✔ ✔
Historical panoramas ✔ ⚫ ✔ ⚫ ✔ ✔ ✔ ⚫
Address ✔ ⚫ ✔ ⚫ ✔ ✔ ⚫ ✔
PoIs ✔ ❌ ✔ ⚫ ⚫ ⚫ ⚫ ⚫
Creator ✔ ⚫ ✔ ⚫ ⚫ ⚫ ✔ ⚫

1: Returns closest only
2: Tile, z=17
3: Bounding box
4: Unstitched
5: Appears to be a synthetic depth map created from elevation data and building footprints
6: Month and year only for official coverage, full date for inofficial coverage
7: Only heading; pitch/roll do not appear to be available
8: Previous and next image in sequence
9: Month and year only

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streetlevel-0.8.1.tar.gz (92.4 kB view hashes)

Uploaded Source

Built Distribution

streetlevel-0.8.1-py3-none-any.whl (76.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page