Exploring Global Streetscapes
Exploring the Global Streetscapes dataset¶
Here we familiarize ourselves with the data contained within the Global Streetscapes dataset and introduce some tools and utilities to easily explore it.
The Global Streetscapes dataset provides context and metadata to millions of crowdsourced images from Mapillary and Kartaview, covering 688 cities around the world. The dataset contains more than 300 attributes and has wide geographical, environmental and temporal diversity.
This rich metadata set is a great starting point for street view imagery analysis. In this notebook, rather than fetching images directly from source, we use the Global Streetscapes metadata for analysis and then use this to narrow down the images we download.
import geopandas as gpd
import contextily
from PIL import Image
import matplotlib.pyplot as plt
import ibis
ibis.options.interactive = True
from streetscapes.sources import GlobalStreetscapesSource, Mapillary, KartaView
from streetscapes.streetview import SVWorkspace
First, we can create a workspace and add Global Streetscapes as a data source.
ws = SVWorkspace("../Amsterdam", create=True)
Let's load the info.csv, which contains the information on all of the different files and their corresponding metadata and attributes of the Global Streetscapes dataset.
gss = GlobalStreetscapesSource(ws.env)
info = gss.load_csv("info", root=gss.root_dir)
info
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ column0 ┃ Filename ┃ Overview ┃ Notes ┃ Field ┃ Format ┃ Explanation ┃ ┡━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ int64 │ string │ string │ string │ string │ string │ string │ ├─────────┼────────────────┼─────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────┼────────────────────┼────────┼──────────────────────────────────────────────────────────────────────────────────┤ │ 1 │ climate.csv │ Contains the Koppen climate zone associated with each image's location. │ The calculation is as accurate as the location of the image given by the source… │ uuid │ string │ Universally Unique IDentifier, unique for every image │ │ NULL │ NULL │ NULL │ NULL │ source │ string │ Source of the image, either Mapillary or KartaView │ │ NULL │ NULL │ NULL │ NULL │ orig_id │ int │ Original ID of the image as specified by Mapillary or KartaView │ │ NULL │ NULL │ NULL │ NULL │ koppen_geiger_zone │ string │ A zone code to identify the Koppen climate zone │ │ NULL │ NULL │ NULL │ NULL │ zone_description │ string │ Short description of the climate zone │ │ 2 │ contextual.csv │ Contains the eight contextual attributes inferred for each image. │ Please refer to Table 3 in the paper for information on accuracy. │ uuid │ string │ Universally Unique IDentifier, unique for every image │ │ NULL │ NULL │ NULL │ NULL │ source │ string │ Source of the image, either Mapillary or KartaView │ │ NULL │ NULL │ NULL │ NULL │ orig_id │ int │ Original ID of the image as specified by Mapillary or KartaView │ │ NULL │ NULL │ NULL │ NULL │ platform │ string │ Indicates the type of platform/road the image was taken from (e.g. driving surf… │ │ NULL │ NULL │ NULL │ NULL │ weather │ string │ Indicates the weather condition in the image │ │ … │ … │ … │ … │ … │ … │ … │ └─────────┴────────────────┴─────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────────┴────────────────────┴────────┴──────────────────────────────────────────────────────────────────────────────────┘
If we want to look at all of the different files available and what they contain, we can do the following:
filenames = info.to_pandas()
filenames = filenames[~filenames["Filename"].isnull()]
filenames.head()
| column0 | Filename | Overview | Notes | Field | Format | Explanation | |
|---|---|---|---|---|---|---|---|
| 0 | 1.0 | climate.csv | Contains the Koppen climate zone associated wi... | The calculation is as accurate as the location... | uuid | string | Universally Unique IDentifier, unique for ever... |
| 5 | 2.0 | contextual.csv | Contains the eight contextual attributes infer... | Please refer to Table 3 in the paper for infor... | uuid | string | Universally Unique IDentifier, unique for ever... |
| 16 | 3.0 | ephem.csv | Contains the temporal information of each imag... | The accuracy of the calculation is as accurate... | uuid | string | Universally Unique IDentifier, unique for ever... |
| 24 | 4.0 | gadm.csv | Contains the administrative area associated wi... | The calculation is as accurate as the location... | uuid | string | Universally Unique IDentifier, unique for ever... |
| 65 | 5.0 | ghsl.csv | Contains the degree of urbanisation associated... | The calculation is as accurate as the location... | uuid | string | Universally Unique IDentifier, unique for ever... |
Loading the data¶
We can load the entire streetscapes.parquet set from Global Streetscapes with the load_parquet() function. This uses ibis in the background, which is able to handle data a lot faster than pandas and is therefore useful for handling larger datasets.
streetscapes.parquet combines the following csv files from the original dataset: contextual.csv, metadata_common_attributes.csv, segmentation.csv, simplemaps.csv, ghsl.csv, perception.csv, places365.csv, and osm.csv
# Load streetscapes.parquet dataset
streetscapes = gss.load_parquet("streetscapes")
streetscapes.head()
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┓ ┃ uuid ┃ source ┃ orig_id ┃ glare ┃ lighting_condition ┃ pano_status ┃ platform ┃ quality ┃ reflection ┃ view_direction ┃ weather ┃ lat ┃ lon ┃ datetime_local ┃ year ┃ month ┃ day ┃ hour ┃ width ┃ height ┃ heading ┃ projection_type ┃ hFoV ┃ vFoV ┃ sequence_index ┃ sequence_id ┃ sequence_img_count ┃ Bird ┃ Ground-Animal ┃ Curb ┃ Fence ┃ Guard-Rail ┃ Barrier ┃ Wall ┃ Bike-Lane ┃ Crosswalk---Plain ┃ Curb-Cut ┃ Parking ┃ Pedestrian-Area ┃ Rail-Track ┃ Road ┃ Service-Lane ┃ Sidewalk ┃ Bridge ┃ Building ┃ Tunnel ┃ Person ┃ Bicyclist ┃ Motorcyclist ┃ Other-Rider ┃ Lane-Marking---Crosswalk ┃ Lane-Marking---General ┃ Mountain ┃ Sand ┃ Sky ┃ Snow ┃ Terrain ┃ Vegetation ┃ Water ┃ Banner ┃ Bench ┃ Bike-Rack ┃ Billboard ┃ Catch-Basin ┃ CCTV-Camera ┃ Fire-Hydrant ┃ Junction-Box ┃ Mailbox ┃ Manhole ┃ Phone-Booth ┃ Pothole ┃ Street-Light ┃ Pole ┃ Traffic-Sign-Frame ┃ Utility-Pole ┃ Traffic-Light ┃ Traffic-Sign-(Back) ┃ Traffic-Sign-(Front) ┃ Trash-Can ┃ Bicycle ┃ Boat ┃ Bus ┃ Car ┃ Caravan ┃ Motorcycle ┃ On-Rails ┃ Other-Vehicle ┃ Trailer ┃ Truck ┃ Wheeled-Slow ┃ Car-Mount ┃ Ego-Vehicle ┃ Total ┃ green_view_index ┃ sky_view_index ┃ city ┃ city_ascii ┃ city_id ┃ city_lat ┃ city_lon ┃ country ┃ iso2 ┃ iso3 ┃ admin_name ┃ capital ┃ population ┃ continent ┃ urban_code ┃ urban_term ┃ Beautiful ┃ Boring ┃ Depressing ┃ Lively ┃ Safe ┃ Wealthy ┃ place ┃ snap_dist ┃ u ┃ v ┃ key ┃ osmid ┃ oneway ┃ lanes ┃ name ┃ highway ┃ type_highway ┃ maxspeed ┃ junction ┃ length ┃ from ┃ to ┃ ref ┃ tunnel_1 ┃ bridge_1 ┃ service ┃ access ┃ road_width ┃ area ┃ est_width ┃ reversed ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━┩ │ string │ string │ int64 │ boolean │ string │ boolean │ string │ string │ boolean │ string │ string │ float64 │ float64 │ timestamp(6) │ int64 │ int64 │ int64 │ int64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ int64 │ string │ int64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ string │ int64 │ float64 │ float64 │ string │ string │ string │ string │ string │ float64 │ string │ int64 │ string │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ float64 │ float64 │ string │ boolean │ string │ string │ string │ string │ string │ string │ float64 │ float64 │ float64 │ string │ string │ string │ string │ string │ string │ boolean │ string │ string │ ├──────────────────────────────────────┼───────────┼─────────────────┼─────────┼────────────────────┼─────────────┼─────────────────┼───────────────┼────────────┼────────────────┼─────────┼────────────┼────────────┼─────────────────────────┼───────┼───────┼───────┼───────┼─────────┼─────────┼────────────┼─────────────────┼───────────┼───────────┼────────────────┼────────────────────────┼────────────────────┼─────────┼───────────────┼─────────┼──────────┼────────────┼─────────┼─────────┼───────────┼───────────────────┼──────────┼─────────┼─────────────────┼────────────┼──────────────┼──────────────┼──────────┼──────────┼──────────┼─────────┼─────────┼───────────┼──────────────┼─────────────┼──────────────────────────┼────────────────────────┼──────────┼─────────┼──────────────┼─────────┼──────────┼──────────────┼─────────┼─────────┼─────────┼───────────┼───────────┼─────────────┼─────────────┼──────────────┼──────────────┼─────────┼─────────┼─────────────┼─────────┼──────────────┼─────────┼────────────────────┼──────────────┼───────────────┼─────────────────────┼──────────────────────┼───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────────┼──────────┼───────────────┼─────────┼─────────┼──────────────┼───────────┼─────────────┼──────────────┼──────────────────┼────────────────┼───────────────┼───────────────┼────────────┼──────────┼──────────┼────────────────┼────────┼────────┼────────────────────────┼─────────┼──────────────┼───────────────┼────────────┼────────────────────────┼───────────┼─────────┼────────────┼─────────┼─────────┼─────────┼──────────────────────────┼───────────┼──────────────┼──────────────┼─────────┼────────────────────────────────┼─────────┼────────┼───────────────────────────┼───────────┼──────────────┼──────────┼──────────┼──────────┼──────────────┼──────────────┼─────────────┼──────────┼──────────┼─────────┼────────┼────────────┼─────────┼───────────┼──────────┤ │ fab85b76-8fe7-433c-9109-dcd99a25a620 │ Mapillary │ 963116937824208 │ False │ day │ False │ driving surface │ good │ True │ front/back │ cloudy │ 52.085704 │ 8.756672 │ 2020-03-08 09:41:12.244 │ 2020 │ 3 │ 8 │ 10 │ 3264.0 │ 2448.0 │ 187.450103 │ perspective │ 63.591062 │ 49.871082 │ 4160 │ d8lvb5vlsul2tzv13qx9zo │ 131 │ 0.0 │ 0.0 │ 11012.0 │ 63352.0 │ 0.0 │ 0.0 │ 40556.0 │ 0.0 │ 0.0 │ 34556.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 1.006236e+06 │ 0.0 │ 173916.0 │ 0.0 │ 407772.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2408.0 │ 24372.0 │ 0.0 │ 0.0 │ 7.974040e+05 │ 0.0 │ 472.0 │ 4.110280e+05 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 8816.0 │ 968.0 │ 0.0 │ 0.0 │ 2380.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 41360.0 │ 0.0 │ 0.0 │ 2308.0 │ 0.0 │ 11068.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 9312.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.049296e+06 │ 0.134794 │ 0.261504 │ Bad Salzuflen │ Bad Salzuflen │ 1276526163 │ 52.0875 │ 8.7506 │ Germany │ DE │ DEU │ North Rhine-Westphalia │ NULL │ 5.412700e+04 │ Europe │ 23 │ dense urban cluster │ 7.11 │ 4.99 │ 2.51 │ 6.36 │ 8.64 │ 7.01 │ residential_neighborhood │ 3.506282 │ 2.731225e+08 │ 9.087936e+09 │ 0.0 │ 293675973 │ False │ NULL │ Beetstraße │ secondary │ drive │ 50.0 │ NULL │ 63.363 │ 9.087936e+09 │ 2.731225e+08 │ L 535 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ │ 2fa06463-49f6-4d0c-8fdc-4ebf1754b996 │ Mapillary │ 996640940869215 │ False │ day │ False │ walking surface │ good │ False │ side │ clear │ -37.819429 │ 144.961724 │ 2015-03-13 18:41:01.000 │ 2015 │ 3 │ 14 │ 5 │ 3264.0 │ 2448.0 │ 231.211541 │ perspective │ 65.112840 │ 51.174080 │ 7 │ lnhAn29zWgb_RUHG4YKHHg │ 28 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 2.774800e+04 │ 0.0 │ 987404.0 │ 434116.0 │ 958840.0 │ 0.0 │ 84256.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 119068.0 │ 0.0 │ 0.0 │ 1.362280e+05 │ 0.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1940.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 14828.0 │ 38204.0 │ 35272.0 │ 20284.0 │ 0.0 │ 134832.0 │ 43920.0 │ 3408.0 │ 0.0 │ 0.0 │ 8844.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.049192e+06 │ 0.000000 │ 0.044677 │ Melbourne │ Melbourne │ 1036533631 │ -37.8136 │ 144.9631 │ Australia │ AU │ AUS │ Victoria │ admin │ 4.529500e+06 │ Oceania │ 30 │ urban centre │ 3.89 │ 5.24 │ 4.85 │ 6.75 │ 0.13 │ 5.57 │ bridge │ 9.729833 │ 5.914006e+08 │ 8.816581e+09 │ 0.0 │ 952562523 │ False │ NULL │ NULL │ footway │ walk │ NULL │ NULL │ 48.445 │ 8.816581e+09 │ 5.914006e+08 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ True │ │ 9cf979a3-4e27-4935-b2cf-6dae1b883ecd │ Mapillary │ 938152066725254 │ False │ day │ False │ walking surface │ good │ False │ side │ clear │ 51.899657 │ -2.081684 │ 2018-08-14 16:29:06.077 │ 2018 │ 8 │ 14 │ 17 │ 4032.0 │ 3024.0 │ 311.786194 │ perspective │ 63.988164 │ 50.210343 │ 51 │ xBEy4w0TRIC6HQg9S6STQQ │ 89 │ 0.0 │ 0.0 │ 11544.0 │ 128652.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1.307256e+06 │ 0.0 │ 0.000000e+00 │ 0.0 │ 0.0 │ 0.0 │ 1284.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 128744.0 │ 1.517548e+06 │ 0.0 │ 0.0 │ 18348.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2540.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 8564.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.124480e+06 │ 0.485696 │ 0.000000 │ Cheltenham │ Cheltenham │ 1826524974 │ 51.9000 │ -2.0667 │ United Kingdom │ GB │ GBR │ Gloucestershire │ NULL │ 1.164470e+05 │ Europe │ 30 │ urban centre │ 8.04 │ 2.77 │ 3.67 │ 5.52 │ 6.98 │ 6.43 │ driveway │ 1.804018 │ 2.592463e+08 │ 2.592463e+08 │ 0.0 │ 225711846 │ False │ NULL │ NULL │ cycleway │ cycle │ NULL │ NULL │ 21.721 │ 2.592463e+08 │ 2.592463e+08 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ 2.5 │ True │ │ d12c6ff6-2cb0-408b-aa57-d711ee5c7484 │ Mapillary │ 314316000472497 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 35.694541 │ 139.704562 │ 2021-08-26 00:54:51.221 │ 2021 │ 8 │ 26 │ 9 │ 1024.0 │ 768.0 │ 187.000000 │ perspective │ 63.735312 │ 49.994259 │ 131 │ beGlaofPgrm7sZuSB1LyKW │ 393 │ 0.0 │ 0.0 │ 29250.0 │ 28306.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2.940000e+03 │ 0.0 │ 3.353740e+05 │ 0.0 │ 1226.0 │ 0.0 │ 17342.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 5246.0 │ 3.407480e+05 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 10766.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 7.711980e+05 │ 0.441842 │ 0.000000 │ Shinjuku │ Shinjuku │ 1392536374 │ 35.7000 │ 139.7167 │ Japan │ JP │ JPN │ Tōkyō │ NULL │ 3.461150e+05 │ Asia │ 30 │ urban centre │ 7.33 │ 2.10 │ 2.98 │ 6.96 │ 6.99 │ 5.55 │ driveway │ 0.107050 │ 1.582745e+09 │ 1.582745e+09 │ 1.0 │ 154999907 │ False │ NULL │ 四季の路 │ footway │ walk │ NULL │ NULL │ 51.951 │ 1.582745e+09 │ 1.582745e+09 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ │ 12892794-6f2e-47bb-a014-913de22f958a │ Mapillary │ 810951286492795 │ False │ day │ False │ driving surface │ slightly poor │ False │ front/back │ cloudy │ 42.453085 │ -76.501890 │ 2017-11-19 14:47:19.342 │ 2017 │ 11 │ 19 │ 9 │ 4032.0 │ 3024.0 │ 34.576965 │ perspective │ 61.850562 │ 48.390228 │ 564 │ 6yr6xr4XitzGTWGwcn4AoA │ 234 │ 0.0 │ 0.0 │ 0.0 │ 49216.0 │ 77116.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.000000e+00 │ 0.0 │ 5.207600e+05 │ 28176.0 │ 0.0 │ 0.0 │ 25656.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 41624.0 │ 364.0 │ 0.0 │ 1.582952e+06 │ 0.0 │ 68356.0 │ 6.155200e+05 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1572.0 │ 0.0 │ 6016.0 │ 0.0 │ 4792.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 36132.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 54680.0 │ 0.0 │ 3.112932e+06 │ 0.197730 │ 0.508508 │ Ithaca │ Ithaca │ 1840000442 │ 42.4442 │ -76.5032 │ United States │ US │ USA │ New York │ NULL │ 5.513700e+04 │ North America │ 21 │ suburban or peri-urban │ 5.48 │ 2.89 │ 3.21 │ 6.69 │ 3.14 │ 1.44 │ highway │ 4.024032 │ 2.134318e+08 │ 2.134349e+08 │ 0.0 │ [33137632, 20184922, 33137630] │ True │ 2 │ State Highway 13 (Scenic) │ motorway │ drive │ 55 mph │ NULL │ 1203.942 │ 2.134349e+08 │ 2.134318e+08 │ NY 13;NY 34 │ NULL │ yes │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ └──────────────────────────────────────┴───────────┴─────────────────┴─────────┴────────────────────┴─────────────┴─────────────────┴───────────────┴────────────┴────────────────┴─────────┴────────────┴────────────┴─────────────────────────┴───────┴───────┴───────┴───────┴─────────┴─────────┴────────────┴─────────────────┴───────────┴───────────┴────────────────┴────────────────────────┴────────────────────┴─────────┴───────────────┴─────────┴──────────┴────────────┴─────────┴─────────┴───────────┴───────────────────┴──────────┴─────────┴─────────────────┴────────────┴──────────────┴──────────────┴──────────┴──────────┴──────────┴─────────┴─────────┴───────────┴──────────────┴─────────────┴──────────────────────────┴────────────────────────┴──────────┴─────────┴──────────────┴─────────┴──────────┴──────────────┴─────────┴─────────┴─────────┴───────────┴───────────┴─────────────┴─────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────────┴─────────┴──────────────┴─────────┴────────────────────┴──────────────┴───────────────┴─────────────────────┴──────────────────────┴───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴────────────┴──────────┴───────────────┴─────────┴─────────┴──────────────┴───────────┴─────────────┴──────────────┴──────────────────┴────────────────┴───────────────┴───────────────┴────────────┴──────────┴──────────┴────────────────┴────────┴────────┴────────────────────────┴─────────┴──────────────┴───────────────┴────────────┴────────────────────────┴───────────┴─────────┴────────────┴─────────┴─────────┴─────────┴──────────────────────────┴───────────┴──────────────┴──────────────┴─────────┴────────────────────────────────┴─────────┴────────┴───────────────────────────┴───────────┴──────────────┴──────────┴──────────┴──────────┴──────────────┴──────────────┴─────────────┴──────────┴──────────┴─────────┴────────┴────────────┴─────────┴───────────┴──────────┘
If you need data from other files, or only data from one file, then individual parquet files are also available.
Let's load perception.parquet, which is included in streetscapes.parquet, as an example:
perception = gss.load_parquet("perception")
perception
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓ ┃ uuid ┃ source ┃ orig_id ┃ Beautiful ┃ Boring ┃ Depressing ┃ Lively ┃ Safe ┃ Wealthy ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩ │ string │ string │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ ├──────────────────────────────────────┼───────────┼──────────────┼───────────┼─────────┼────────────┼─────────┼─────────┼─────────┤ │ 12039441-fd9e-4ca9-bc0f-957b713e12f1 │ KartaView │ 5.658903e+08 │ 1.32 │ 2.03 │ 2.21 │ 5.87 │ 0.38 │ 5.29 │ │ 05a2f4e8-4a15-4c69-afcc-b411c4b995e5 │ KartaView │ 5.658903e+08 │ 4.23 │ 1.82 │ 1.38 │ 2.70 │ 0.76 │ 4.52 │ │ 5292f74f-a519-4536-828b-f19de21f0df3 │ KartaView │ 5.658903e+08 │ 1.67 │ 3.52 │ 0.84 │ 3.39 │ 1.00 │ 2.57 │ │ 1593f561-d6cd-4936-88d7-3675efc9421e │ KartaView │ 5.658903e+08 │ 1.97 │ 2.71 │ 3.42 │ 4.61 │ 1.67 │ 3.95 │ │ 4a05386c-cd98-42fc-9e3c-f361f32a8ed7 │ KartaView │ 5.658903e+08 │ 6.43 │ 1.14 │ 1.72 │ 4.48 │ 0.55 │ 2.29 │ │ 57294d2f-13a9-40e1-b13e-0a809d131e6d │ KartaView │ 5.658906e+08 │ 2.44 │ 0.83 │ 4.45 │ 6.64 │ 1.07 │ 4.88 │ │ 2010ce23-3254-4b19-8b81-b9f614ec7932 │ KartaView │ 5.658904e+08 │ 2.85 │ 0.93 │ 1.82 │ 6.51 │ 0.54 │ 3.92 │ │ 5c00ea5b-1487-4499-b1a7-da1a348c550c │ KartaView │ 5.658903e+08 │ 1.62 │ 0.92 │ 1.68 │ 2.98 │ 0.82 │ 2.60 │ │ fca19492-6132-4790-8d57-0a3f0f42cc98 │ KartaView │ 5.696926e+08 │ 2.42 │ 2.47 │ 4.22 │ 5.00 │ 2.33 │ 0.37 │ │ 6c51acf6-5681-40c4-b00b-781bcf6be54d │ KartaView │ 5.658905e+08 │ 1.60 │ 3.77 │ 1.94 │ 4.71 │ 0.66 │ 2.10 │ │ … │ … │ … │ … │ … │ … │ … │ … │ … │ └──────────────────────────────────────┴───────────┴──────────────┴───────────┴─────────┴────────────┴─────────┴─────────┴─────────┘
perception.columns
('uuid',
'source',
'orig_id',
'Beautiful',
'Boring',
'Depressing',
'Lively',
'Safe',
'Wealthy')
Explore the data¶
Now, prepare a subset of Global Streetscapes by selecting entries for the city of Amsterdam. The subset name is composed of a path relative to the root directory of the workspace (subsets) and the file name (amsterdam). By default, subsets are saved as parquet files, so we don't have to specify the extension.
# Subset name (path relative to the root directory of the workspace + file name without the .parquet extension)
subset = "subsets/amsterdam"
# Criteria used to filter the large Global Streetscapes dataset.
criteria = {"city": "Amsterdam"}
# Create the subset and assign it to a variable that we can use below.
# The method also returns the path to the saved subset if the dataset was saved to disk (triggered by save=True).
ams = gss.load_dataset(criteria=criteria)
Check the path to the saved subset file. It should be a path relative to the root directory of the workspace and the first few lines of the subset:
print(ams.head())
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━ ┃ uuid ┃ source ┃ orig_id ┃ glare ┃ lighting_condition ┃ pano_status ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━ │ string │ string │ int64 │ boolean │ string │ boolean ├──────────────────────────────────────┼───────────┼──────────────────┼─────────┼────────────────────┼───────────── │ 840d52d5-1bbe-4f77-ac5a-5d8905dca06e │ Mapillary │ 2585835221712723 │ False │ day │ True │ 6a81f09d-24b9-4179-8eb5-9cd2e91c13d9 │ Mapillary │ 4130433687048823 │ False │ day │ False │ 26c37fae-3485-4ca1-8b97-9f449a8da680 │ Mapillary │ 219442182852752 │ False │ day │ False │ b8ae9b6a-deb3-4e85-a6e9-75c03f77573e │ Mapillary │ 4077211285668521 │ False │ day │ False │ 792266c8-eb57-4730-ba26-6dd3551a7b60 │ Mapillary │ 3299296920297092 │ False │ dusk/dawn │ False └──────────────────────────────────────┴───────────┴──────────────────┴─────────┴────────────────────┴─────────────
...and the total number of rows.
ams.count()
┌───────┐
│ 25950 │
└───────┘
Perception Example¶
We can subset the dataset further by selecting columns we want to keep and specifying criteria, such as time of day the image was taken or the viewing angle. Here we take images taken during the day on a walking surface and keep columns related to perception.
columns = {'uuid', 'source', 'lat', 'lon', "orig_id", "Beautiful", "Depressing", "Safe"}
criteria = {"city": "Amsterdam", "lighting_condition": "day", "platform": "walking surface"}
ams_walk = gss.load_dataset(criteria=criteria, columns=columns)
criteria = {"city": "Amsterdam", "lighting_condition": "day", "platform": "driving surface"}
ams_drive = gss.load_dataset(criteria=criteria, columns=columns)
We can now plot the data by convert the data to a GeoDataFrame with GeoPandas. As an example we are plotting the perception of 'safety' for images of walking surfaces vs driving surfaces. We can see that generally driving surfaces are seen as less 'safe'.
def convert_to_gdf(table):
"""Convert dataset to GeoDataFrame"""
df = table.to_pandas()
gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df.lon, df.lat), crs="EPSG:4326")
return gdf
def plot_gdf(gdf, column, ax):
"""Plot GeoDataFrame with basemap"""
legend_kwds = {'label': column, 'shrink': 0.6}
ax = gdf.plot(column=column, ax=ax, cmap='RdYlGn', markersize=3, alpha=0.5, legend=True, legend_kwds=legend_kwds)
contextily.add_basemap(ax, crs=gdf.crs, source=contextily.providers.nlmaps.pastel)
return ax
# Create a figure with two subplots
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 6))
# Plot the GeoDataFrame on the first subplot
gdf_walk = convert_to_gdf(ams_walk)
ax = plot_gdf(gdf_walk, "Safe", ax1)
ax1.set_title('Walking Surface')
# Plot the raster on the second subplot
gdf_drive = convert_to_gdf(ams_drive)
ax = plot_gdf(gdf_drive, "Safe", ax2)
ax2.set_title('Driving Surface')
# Show the plot
plt.tight_layout()
plt.show()
Building Fraction Example¶
We can take this idea further and create new columns for aspects we are interested in and filter the data. For example, we can calculate the building fraction of each image and filter for images where more than 15% of the pixels are buildings.
# Calculate building fraction and create new column
building_fraction = ams["Building"] / ams["Total"]
ams = ams.mutate(building_fraction=building_fraction)
# Filter for buildings
ams_buildings = ams.filter(ams["building_fraction"] > 0.3)
ams_buildings.head(5)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃ uuid ┃ source ┃ orig_id ┃ glare ┃ lighting_condition ┃ pano_status ┃ platform ┃ quality ┃ reflection ┃ view_direction ┃ weather ┃ lat ┃ lon ┃ datetime_local ┃ year ┃ month ┃ day ┃ hour ┃ width ┃ height ┃ heading ┃ projection_type ┃ hFoV ┃ vFoV ┃ sequence_index ┃ sequence_id ┃ sequence_img_count ┃ Bird ┃ Ground-Animal ┃ Curb ┃ Fence ┃ Guard-Rail ┃ Barrier ┃ Wall ┃ Bike-Lane ┃ Crosswalk---Plain ┃ Curb-Cut ┃ Parking ┃ Pedestrian-Area ┃ Rail-Track ┃ Road ┃ Service-Lane ┃ Sidewalk ┃ Bridge ┃ Building ┃ Tunnel ┃ Person ┃ Bicyclist ┃ Motorcyclist ┃ Other-Rider ┃ Lane-Marking---Crosswalk ┃ Lane-Marking---General ┃ Mountain ┃ Sand ┃ Sky ┃ Snow ┃ Terrain ┃ Vegetation ┃ Water ┃ Banner ┃ Bench ┃ Bike-Rack ┃ Billboard ┃ Catch-Basin ┃ CCTV-Camera ┃ Fire-Hydrant ┃ Junction-Box ┃ Mailbox ┃ Manhole ┃ Phone-Booth ┃ Pothole ┃ Street-Light ┃ Pole ┃ Traffic-Sign-Frame ┃ Utility-Pole ┃ Traffic-Light ┃ Traffic-Sign-(Back) ┃ Traffic-Sign-(Front) ┃ Trash-Can ┃ Bicycle ┃ Boat ┃ Bus ┃ Car ┃ Caravan ┃ Motorcycle ┃ On-Rails ┃ Other-Vehicle ┃ Trailer ┃ Truck ┃ Wheeled-Slow ┃ Car-Mount ┃ Ego-Vehicle ┃ Total ┃ green_view_index ┃ sky_view_index ┃ city ┃ city_ascii ┃ city_id ┃ city_lat ┃ city_lon ┃ country ┃ iso2 ┃ iso3 ┃ admin_name ┃ capital ┃ population ┃ continent ┃ urban_code ┃ urban_term ┃ Beautiful ┃ Boring ┃ Depressing ┃ Lively ┃ Safe ┃ Wealthy ┃ place ┃ snap_dist ┃ u ┃ v ┃ key ┃ osmid ┃ oneway ┃ lanes ┃ name ┃ highway ┃ type_highway ┃ maxspeed ┃ junction ┃ length ┃ from ┃ to ┃ ref ┃ tunnel_1 ┃ bridge_1 ┃ service ┃ access ┃ road_width ┃ area ┃ est_width ┃ reversed ┃ building_fraction ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ │ string │ string │ int64 │ boolean │ string │ boolean │ string │ string │ boolean │ string │ string │ float64 │ float64 │ timestamp(6) │ int64 │ int64 │ int64 │ int64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ int64 │ string │ int64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ string │ int64 │ float64 │ float64 │ string │ string │ string │ string │ string │ float64 │ string │ int64 │ string │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ float64 │ float64 │ string │ boolean │ string │ string │ string │ string │ string │ string │ float64 │ float64 │ float64 │ string │ string │ string │ string │ string │ string │ boolean │ string │ string │ float64 │ ├──────────────────────────────────────┼───────────┼──────────────────┼─────────┼────────────────────┼─────────────┼─────────────────┼───────────────┼────────────┼────────────────┼─────────┼───────────┼──────────┼─────────────────────────┼───────┼───────┼───────┼───────┼─────────┼─────────┼────────────┼─────────────────┼───────────┼───────────┼────────────────┼────────────────────────┼────────────────────┼─────────┼───────────────┼─────────┼─────────┼────────────┼─────────┼─────────┼───────────┼───────────────────┼──────────┼─────────┼─────────────────┼────────────┼──────────┼──────────────┼──────────┼─────────┼──────────────┼─────────┼──────────┼───────────┼──────────────┼─────────────┼──────────────────────────┼────────────────────────┼──────────┼─────────┼──────────┼─────────┼─────────┼────────────┼─────────┼─────────┼─────────┼───────────┼───────────┼─────────────┼─────────────┼──────────────┼──────────────┼─────────┼─────────┼─────────────┼─────────┼──────────────┼─────────┼────────────────────┼──────────────┼───────────────┼─────────────────────┼──────────────────────┼───────────┼─────────┼─────────┼─────────┼──────────┼─────────┼────────────┼──────────┼───────────────┼─────────┼─────────┼──────────────┼───────────┼─────────────┼──────────────┼──────────────────┼────────────────┼───────────┼────────────┼────────────┼──────────┼──────────┼─────────────┼────────┼────────┼───────────────┼─────────┼────────────┼───────────┼────────────┼──────────────┼───────────┼─────────┼────────────┼─────────┼─────────┼─────────┼──────────────┼───────────┼──────────────┼──────────────┼─────────┼───────────┼─────────┼────────┼─────────────────────────┼──────────────┼──────────────┼──────────┼──────────┼─────────┼──────────────┼──────────────┼────────┼──────────────────┼──────────┼─────────┼────────┼────────────┼─────────┼───────────┼──────────┼───────────────────┤ │ b8ae9b6a-deb3-4e85-a6e9-75c03f77573e │ Mapillary │ 4077211285668521 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 52.371188 │ 4.895348 │ 2016-11-12 14:19:33.412 │ 2016 │ 11 │ 12 │ 15 │ 3840.0 │ 2160.0 │ 33.276836 │ perspective │ 61.160820 │ 36.773824 │ 11 │ tBImERr7vLI6lOyvwCP65g │ 21 │ 0.0 │ 0.0 │ 23523.0 │ 14979.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 21000.0 │ 0.0 │ 448437.0 │ 0.0 │ 9.156150e+05 │ 0.0 │ 314571.0 │ 8097.0 │ 0.0 │ 0.0 │ 0.0 │ 2025.0 │ 0.0 │ 0.0 │ 118446.0 │ 0.0 │ 0.0 │ 305607.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 5187.0 │ 0.0 │ 3810.0 │ 6138.0 │ 0.0 │ 1011.0 │ 0.0 │ 13920.0 │ 0.0 │ 0.0 │ 17739.0 │ 0.0 │ 20157.0 │ 0.0 │ 0.0 │ 0.0 │ 4389.0 │ 0.0 │ 0.0 │ 0.0 │ 2.244651e+06 │ 0.136149 │ 0.052768 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 5.84 │ 0.50 │ 4.33 │ 9.30 │ 4.17 │ 7.32 │ promenade │ 1.771286 │ 4.638216e+07 │ 3.184525e+08 │ 0.0 │ 7371704 │ True │ NULL │ Oudezijds Voorburgwal │ unclassified │ drive │ NULL │ NULL │ 64.097 │ 4.638216e+07 │ 3.184525e+08 │ NULL │ building_passage │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.407910 │ │ 792266c8-eb57-4730-ba26-6dd3551a7b60 │ Mapillary │ 3299296920297092 │ False │ dusk/dawn │ False │ walking surface │ good │ False │ front/back │ rainy │ 52.374240 │ 4.899779 │ 2017-03-03 16:46:27.841 │ 2017 │ 3 │ 3 │ 17 │ 3264.0 │ 2448.0 │ 183.458400 │ perspective │ 61.815297 │ 48.360326 │ 76 │ Er0ZppziWno9hA83rVyiFw │ 183 │ 0.0 │ 0.0 │ 55700.0 │ 11776.0 │ 0.0 │ 0.0 │ 31376.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 357120.0 │ 0.0 │ 1.105400e+06 │ 0.0 │ 289824.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 183656.0 │ 0.0 │ 0.0 │ 798836.0 │ 48088.0 │ 3324.0 │ 0.0 │ 0.0 │ 24336.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3108.0 │ 0.0 │ 0.0 │ 5412.0 │ 0.0 │ 8768.0 │ 0.0 │ 5912.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 106584.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.039220e+06 │ 0.262842 │ 0.060429 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 7.81 │ 1.41 │ 4.31 │ 7.40 │ 2.92 │ 9.05 │ street │ 1.925767 │ 4.639626e+07 │ 4.640025e+07 │ 0.0 │ 7371414 │ True │ NULL │ Oudezijds Achterburgwal │ unclassified │ drive │ NULL │ NULL │ 108.026 │ 4.640025e+07 │ 4.639626e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.363712 │ │ fb7095ae-d96e-4f8f-95b1-353575fd9c68 │ Mapillary │ 284198426687250 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 52.367061 │ 4.889984 │ 2017-03-02 16:25:58.000 │ 2017 │ 3 │ 2 │ 17 │ 4000.0 │ 3000.0 │ 128.519950 │ perspective │ 93.220881 │ 76.856428 │ 58 │ wPdUPc8tjTjCQT2_vCPd6g │ 170 │ 0.0 │ 0.0 │ 60204.0 │ 21588.0 │ 0.0 │ 0.0 │ 4228.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 480332.0 │ 0.0 │ 388348.0 │ 0.0 │ 1.165356e+06 │ 0.0 │ 24448.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 575416.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 91564.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 43888.0 │ 0.0 │ 0.0 │ 0.0 │ 22284.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1912.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2.879568e+06 │ 0.000000 │ 0.199827 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 4.40 │ 3.27 │ 3.77 │ 2.58 │ 4.63 │ 6.41 │ street │ 8.850581 │ 4.636390e+07 │ 1.179538e+08 │ 0.0 │ 744930286 │ False │ NULL │ Singel │ pedestrian │ walk │ NULL │ NULL │ 73.058 │ 1.179538e+08 │ 4.636390e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ True │ 0.404698 │ │ b474a9cb-2a52-4eb4-98a6-003a8f0e70db │ Mapillary │ 1048183739120622 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 52.365580 │ 4.880746 │ 2022-05-03 12:40:48.355 │ 2022 │ 5 │ 3 │ 14 │ 5184.0 │ 3888.0 │ 264.703735 │ perspective │ 73.203908 │ 58.239011 │ 158 │ y8tk3uIrfVAa4NcGUipHhl │ 458 │ 0.0 │ 0.0 │ 19964.0 │ 10272.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 280.0 │ 0.0 │ 0.0 │ 47812.0 │ 0.0 │ 520916.0 │ 0.0 │ 1.226996e+06 │ 0.0 │ 4804.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 8016.0 │ 0.0 │ 0.0 │ 63544.0 │ 0.0 │ 0.0 │ 708444.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 4956.0 │ 0.0 │ 0.0 │ 0.0 │ 11956.0 │ 0.0 │ 11880.0 │ 0.0 │ 0.0 │ 0.0 │ 16668.0 │ 0.0 │ 0.0 │ 1832.0 │ 0.0 │ 7872.0 │ 21832.0 │ 16300.0 │ 0.0 │ 0.0 │ 324576.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.028920e+06 │ 0.233893 │ 0.020979 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 1.95 │ 4.52 │ 1.30 │ 5.05 │ 3.86 │ 3.32 │ street │ 0.484998 │ 4.635858e+07 │ 5.830441e+09 │ 0.0 │ 7372926 │ True │ NULL │ Leidsegracht │ residential │ drive │ 30 │ NULL │ 52.662 │ 4.635858e+07 │ 5.830441e+09 │ NULL │ NULL │ yes │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.405094 │ │ a44f8af9-2d73-4a5a-98db-b22a8d59d17c │ Mapillary │ 166455088717832 │ False │ day │ True │ driving surface │ slightly poor │ True │ NULL │ clear │ 52.367025 │ 4.888803 │ 2016-08-16 07:12:41.249 │ 2016 │ 8 │ 16 │ 9 │ 8000.0 │ 4000.0 │ 0.000000 │ equirectangular │ NULL │ NULL │ 683 │ qZQdlUSJIEgIsoiFIxtuCQ │ 602 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 15337.0 │ 0.0 │ 101741.0 │ 0.0 │ 6.135610e+05 │ 0.0 │ 3264.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 533703.0 │ 0.0 │ 0.0 │ 3273.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 25460.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 871.0 │ 7306.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 47531.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 10916.0 │ 0.0 │ 0.0 │ 56085.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 446949.0 │ 1.865997e+06 │ 0.001754 │ 0.286015 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 4.94 │ 0.88 │ 8.24 │ 9.42 │ 1.56 │ 1.05 │ ticket_booth │ 2.008036 │ 3.712656e+08 │ 3.177151e+09 │ 0.0 │ 216964429 │ False │ NULL │ Koningsplein │ pedestrian │ walk │ NULL │ NULL │ 75.511 │ 3.177151e+09 │ 3.712656e+08 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.328811 │ └──────────────────────────────────────┴───────────┴──────────────────┴─────────┴────────────────────┴─────────────┴─────────────────┴───────────────┴────────────┴────────────────┴─────────┴───────────┴──────────┴─────────────────────────┴───────┴───────┴───────┴───────┴─────────┴─────────┴────────────┴─────────────────┴───────────┴───────────┴────────────────┴────────────────────────┴────────────────────┴─────────┴───────────────┴─────────┴─────────┴────────────┴─────────┴─────────┴───────────┴───────────────────┴──────────┴─────────┴─────────────────┴────────────┴──────────┴──────────────┴──────────┴─────────┴──────────────┴─────────┴──────────┴───────────┴──────────────┴─────────────┴──────────────────────────┴────────────────────────┴──────────┴─────────┴──────────┴─────────┴─────────┴────────────┴─────────┴─────────┴─────────┴───────────┴───────────┴─────────────┴─────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────────┴─────────┴──────────────┴─────────┴────────────────────┴──────────────┴───────────────┴─────────────────────┴──────────────────────┴───────────┴─────────┴─────────┴─────────┴──────────┴─────────┴────────────┴──────────┴───────────────┴─────────┴─────────┴──────────────┴───────────┴─────────────┴──────────────┴──────────────────┴────────────────┴───────────┴────────────┴────────────┴──────────┴──────────┴─────────────┴────────┴────────┴───────────────┴─────────┴────────────┴───────────┴────────────┴──────────────┴───────────┴─────────┴────────────┴─────────┴─────────┴─────────┴──────────────┴───────────┴──────────────┴──────────────┴─────────┴───────────┴─────────┴────────┴─────────────────────────┴──────────────┴──────────────┴──────────┴──────────┴─────────┴──────────────┴──────────────┴────────┴──────────────────┴──────────┴─────────┴────────┴────────────┴─────────┴───────────┴──────────┴───────────────────┘
Again, we can plot this data to see if we have a good spatial coverage.
fig, ax = plt.subplots(figsize=(6, 6))
gdf = convert_to_gdf(ams_buildings)
ax = plot_gdf(gdf, "building_fraction", ax)
plt.tight_layout()
plt.show()
Download Images¶
Next, we will download images for the Amsterdam subset that we created above by using the images sources that we loaded into our workspace. We can download all the images corresponding to a data source in one go. However, the unified API of all image sources requires that the dataset contain two hardwired columns: source and image_id. This is a design choice to avoid having to handle potentially very different sources. Ibis makes it trivial to remap column names with the select method by providing a dictionary with the desired column names as keys and the existing columns that they map to as values.
src_table = ams.select({"source": "source", "image_id": "orig_id"})
ams
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃ uuid ┃ source ┃ orig_id ┃ glare ┃ lighting_condition ┃ pano_status ┃ platform ┃ quality ┃ reflection ┃ view_direction ┃ weather ┃ lat ┃ lon ┃ datetime_local ┃ year ┃ month ┃ day ┃ hour ┃ width ┃ height ┃ heading ┃ projection_type ┃ hFoV ┃ vFoV ┃ sequence_index ┃ sequence_id ┃ sequence_img_count ┃ Bird ┃ Ground-Animal ┃ Curb ┃ Fence ┃ Guard-Rail ┃ Barrier ┃ Wall ┃ Bike-Lane ┃ Crosswalk---Plain ┃ Curb-Cut ┃ Parking ┃ Pedestrian-Area ┃ Rail-Track ┃ Road ┃ Service-Lane ┃ Sidewalk ┃ Bridge ┃ Building ┃ Tunnel ┃ Person ┃ Bicyclist ┃ Motorcyclist ┃ Other-Rider ┃ Lane-Marking---Crosswalk ┃ Lane-Marking---General ┃ Mountain ┃ Sand ┃ Sky ┃ Snow ┃ Terrain ┃ Vegetation ┃ Water ┃ Banner ┃ Bench ┃ Bike-Rack ┃ Billboard ┃ Catch-Basin ┃ CCTV-Camera ┃ Fire-Hydrant ┃ Junction-Box ┃ Mailbox ┃ Manhole ┃ Phone-Booth ┃ Pothole ┃ Street-Light ┃ Pole ┃ Traffic-Sign-Frame ┃ Utility-Pole ┃ Traffic-Light ┃ Traffic-Sign-(Back) ┃ Traffic-Sign-(Front) ┃ Trash-Can ┃ Bicycle ┃ Boat ┃ Bus ┃ Car ┃ Caravan ┃ Motorcycle ┃ On-Rails ┃ Other-Vehicle ┃ Trailer ┃ Truck ┃ Wheeled-Slow ┃ Car-Mount ┃ Ego-Vehicle ┃ Total ┃ green_view_index ┃ sky_view_index ┃ city ┃ city_ascii ┃ city_id ┃ city_lat ┃ city_lon ┃ country ┃ iso2 ┃ iso3 ┃ admin_name ┃ capital ┃ population ┃ continent ┃ urban_code ┃ urban_term ┃ Beautiful ┃ Boring ┃ Depressing ┃ Lively ┃ Safe ┃ Wealthy ┃ place ┃ snap_dist ┃ u ┃ v ┃ key ┃ osmid ┃ oneway ┃ lanes ┃ name ┃ highway ┃ type_highway ┃ maxspeed ┃ junction ┃ length ┃ from ┃ to ┃ ref ┃ tunnel_1 ┃ bridge_1 ┃ service ┃ access ┃ road_width ┃ area ┃ est_width ┃ reversed ┃ building_fraction ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩ │ string │ string │ int64 │ boolean │ string │ boolean │ string │ string │ boolean │ string │ string │ float64 │ float64 │ timestamp(6) │ int64 │ int64 │ int64 │ int64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ int64 │ string │ int64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ string │ int64 │ float64 │ float64 │ string │ string │ string │ string │ string │ float64 │ string │ int64 │ string │ float64 │ float64 │ float64 │ float64 │ float64 │ float64 │ string │ float64 │ float64 │ float64 │ float64 │ string │ boolean │ string │ string │ string │ string │ string │ string │ float64 │ float64 │ float64 │ string │ string │ string │ string │ string │ string │ boolean │ string │ string │ float64 │ ├──────────────────────────────────────┼───────────┼──────────────────┼─────────┼────────────────────┼─────────────┼─────────────────┼───────────────┼────────────┼────────────────┼─────────┼───────────┼──────────┼─────────────────────────┼───────┼───────┼───────┼───────┼─────────┼─────────┼────────────┼─────────────────┼───────────┼───────────┼────────────────┼────────────────────────┼────────────────────┼─────────┼───────────────┼─────────┼──────────┼────────────┼─────────┼──────────┼───────────┼───────────────────┼──────────┼─────────┼─────────────────┼────────────┼──────────┼──────────────┼──────────┼─────────┼──────────────┼─────────┼──────────┼───────────┼──────────────┼─────────────┼──────────────────────────┼────────────────────────┼──────────┼─────────┼──────────┼─────────┼─────────┼────────────┼──────────┼─────────┼─────────┼───────────┼───────────┼─────────────┼─────────────┼──────────────┼──────────────┼─────────┼─────────┼─────────────┼─────────┼──────────────┼─────────┼────────────────────┼──────────────┼───────────────┼─────────────────────┼──────────────────────┼───────────┼─────────┼──────────┼─────────┼──────────┼─────────┼────────────┼──────────┼───────────────┼─────────┼─────────┼──────────────┼───────────┼─────────────┼──────────────┼──────────────────┼────────────────┼───────────┼────────────┼────────────┼──────────┼──────────┼─────────────┼────────┼────────┼───────────────┼─────────┼────────────┼───────────┼────────────┼──────────────┼───────────┼─────────┼────────────┼─────────┼─────────┼─────────┼───────────┼───────────┼──────────────┼──────────────┼─────────┼───────────┼─────────┼────────┼─────────────────────────┼──────────────┼──────────────┼──────────┼──────────┼─────────┼──────────────┼──────────────┼────────┼──────────────────┼──────────┼──────────┼────────┼────────────┼─────────┼───────────┼──────────┼───────────────────┤ │ 840d52d5-1bbe-4f77-ac5a-5d8905dca06e │ Mapillary │ 2585835221712723 │ False │ day │ True │ driving surface │ slightly poor │ False │ NULL │ clear │ 52.365128 │ 4.896877 │ 2016-08-17 06:57:19.846 │ 2016 │ 8 │ 17 │ 8 │ 8000.0 │ 4000.0 │ 0.000000 │ equirectangular │ NULL │ NULL │ 381 │ 12A4x3858EZVHfogg8lDvA │ 74 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1005.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 62761.0 │ 29354.0 │ 4.293790e+05 │ 0.0 │ 4003.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 90357.0 │ 0.0 │ 0.0 │ 595560.0 │ 12335.0 │ 9325.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3144.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 305504.0 │ 0.0 │ 17016.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 423493.0 │ 1.983236e+06 │ 0.300297 │ 0.045560 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 6.85 │ 3.17 │ 7.58 │ 6.23 │ 3.44 │ 6.12 │ plaza │ 0.833160 │ 4.635635e+07 │ 4.479553e+09 │ 0.0 │ 642157381 │ True │ NULL │ Herengracht │ residential │ drive │ 30 │ NULL │ 117.961 │ 4.479553e+09 │ 4.635635e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.216504 │ │ 6a81f09d-24b9-4179-8eb5-9cd2e91c13d9 │ Mapillary │ 4130433687048823 │ False │ day │ False │ walking surface │ good │ False │ side │ clear │ 52.371289 │ 4.888594 │ 2017-03-02 16:17:35.430 │ 2017 │ 3 │ 2 │ 17 │ 4000.0 │ 3000.0 │ 183.208059 │ perspective │ 94.099167 │ 77.714928 │ 122 │ p0brZDbbP0OF8itdSvP0NA │ 407 │ 0.0 │ 0.0 │ 26784.0 │ 2028.0 │ 0.0 │ 0.0 │ 42068.0 │ 0.0 │ 0.0 │ 15640.0 │ 58304.0 │ 0.0 │ 0.0 │ 733712.0 │ 0.0 │ 73312.0 │ 3368.0 │ 2.789680e+05 │ 0.0 │ 6380.0 │ 10136.0 │ 0.0 │ 0.0 │ 0.0 │ 133036.0 │ 0.0 │ 0.0 │ 481560.0 │ 0.0 │ 0.0 │ 871656.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 11728.0 │ 36524.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 98032.0 │ 0.0 │ 0.0 │ 104744.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2.987980e+06 │ 0.291721 │ 0.161166 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 9.11 │ 6.34 │ 3.03 │ 8.99 │ 8.50 │ 6.48 │ plaza │ 0.986534 │ 6.316199e+06 │ 4.638922e+07 │ 0.0 │ 7372614 │ True │ NULL │ Singel │ residential │ drive │ 30 │ NULL │ 225.577 │ 6.316199e+06 │ 4.638922e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.093363 │ │ 26c37fae-3485-4ca1-8b97-9f449a8da680 │ Mapillary │ 219442182852752 │ False │ day │ False │ walking surface │ slightly poor │ False │ front/back │ snowy │ 52.367758 │ 4.886883 │ 2013-04-13 16:10:54.000 │ 2013 │ 4 │ 13 │ 18 │ 800.0 │ 1200.0 │ -1.000000 │ perspective │ 73.739795 │ 96.732921 │ 60 │ 2gFS7Ahry1EmOvC8ZfL5hA │ 51 │ 0.0 │ 0.0 │ 0.0 │ 18006.0 │ 0.0 │ 0.0 │ 2310.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 62016.0 │ 7.816200e+04 │ 39.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 349140.0 │ 0.0 │ 0.0 │ 80262.0 │ 349243.0 │ 0.0 │ 0.0 │ 0.0 │ 1641.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 706.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 9.415250e+05 │ 0.085247 │ 0.370824 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 2.72 │ 4.72 │ 2.56 │ 5.96 │ 8.60 │ 8.92 │ canal │ 6.076807 │ 4.636814e+07 │ 3.712656e+08 │ 0.0 │ 450621564 │ True │ NULL │ Herengracht │ residential │ drive │ 30 │ NULL │ 142.116 │ 3.712656e+08 │ 4.636814e+07 │ NULL │ NULL │ yes │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.083016 │ │ b8ae9b6a-deb3-4e85-a6e9-75c03f77573e │ Mapillary │ 4077211285668521 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 52.371188 │ 4.895348 │ 2016-11-12 14:19:33.412 │ 2016 │ 11 │ 12 │ 15 │ 3840.0 │ 2160.0 │ 33.276836 │ perspective │ 61.160820 │ 36.773824 │ 11 │ tBImERr7vLI6lOyvwCP65g │ 21 │ 0.0 │ 0.0 │ 23523.0 │ 14979.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 21000.0 │ 0.0 │ 448437.0 │ 0.0 │ 9.156150e+05 │ 0.0 │ 314571.0 │ 8097.0 │ 0.0 │ 0.0 │ 0.0 │ 2025.0 │ 0.0 │ 0.0 │ 118446.0 │ 0.0 │ 0.0 │ 305607.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 5187.0 │ 0.0 │ 3810.0 │ 6138.0 │ 0.0 │ 1011.0 │ 0.0 │ 13920.0 │ 0.0 │ 0.0 │ 17739.0 │ 0.0 │ 20157.0 │ 0.0 │ 0.0 │ 0.0 │ 4389.0 │ 0.0 │ 0.0 │ 0.0 │ 2.244651e+06 │ 0.136149 │ 0.052768 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 5.84 │ 0.50 │ 4.33 │ 9.30 │ 4.17 │ 7.32 │ promenade │ 1.771286 │ 4.638216e+07 │ 3.184525e+08 │ 0.0 │ 7371704 │ True │ NULL │ Oudezijds Voorburgwal │ unclassified │ drive │ NULL │ NULL │ 64.097 │ 4.638216e+07 │ 3.184525e+08 │ NULL │ building_passage │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.407910 │ │ 792266c8-eb57-4730-ba26-6dd3551a7b60 │ Mapillary │ 3299296920297092 │ False │ dusk/dawn │ False │ walking surface │ good │ False │ front/back │ rainy │ 52.374240 │ 4.899779 │ 2017-03-03 16:46:27.841 │ 2017 │ 3 │ 3 │ 17 │ 3264.0 │ 2448.0 │ 183.458400 │ perspective │ 61.815297 │ 48.360326 │ 76 │ Er0ZppziWno9hA83rVyiFw │ 183 │ 0.0 │ 0.0 │ 55700.0 │ 11776.0 │ 0.0 │ 0.0 │ 31376.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 357120.0 │ 0.0 │ 1.105400e+06 │ 0.0 │ 289824.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 183656.0 │ 0.0 │ 0.0 │ 798836.0 │ 48088.0 │ 3324.0 │ 0.0 │ 0.0 │ 24336.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3108.0 │ 0.0 │ 0.0 │ 5412.0 │ 0.0 │ 8768.0 │ 0.0 │ 5912.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 106584.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.039220e+06 │ 0.262842 │ 0.060429 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 7.81 │ 1.41 │ 4.31 │ 7.40 │ 2.92 │ 9.05 │ street │ 1.925767 │ 4.639626e+07 │ 4.640025e+07 │ 0.0 │ 7371414 │ True │ NULL │ Oudezijds Achterburgwal │ unclassified │ drive │ NULL │ NULL │ 108.026 │ 4.640025e+07 │ 4.639626e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.363712 │ │ e2417a1e-a23c-481a-b40a-42e3863d729a │ Mapillary │ 1670106559999281 │ False │ day │ False │ walking surface │ good │ False │ side │ clear │ 52.369340 │ 4.892081 │ 2022-05-03 13:47:19.972 │ 2022 │ 5 │ 3 │ 15 │ 4032.0 │ 3024.0 │ 5.159485 │ perspective │ 70.714119 │ 56.039506 │ 111 │ kup6W2CiJAFmOfL7zM9vT8 │ 143 │ 0.0 │ 0.0 │ 12468.0 │ 0.0 │ 0.0 │ 0.0 │ 107544.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 69496.0 │ 0.0 │ 781732.0 │ 0.0 │ 7.242320e+05 │ 0.0 │ 189548.0 │ 0.0 │ 35096.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 688860.0 │ 0.0 │ 0.0 │ 305848.0 │ 0.0 │ 11508.0 │ 0.0 │ 0.0 │ 36340.0 │ 0.0 │ 0.0 │ 0.0 │ 10368.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3144.0 │ 4724.0 │ 0.0 │ 2896.0 │ 0.0 │ 0.0 │ 92.0 │ 0.0 │ 100.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 41116.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 3.025112e+06 │ 0.101103 │ 0.227714 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 5.66 │ 6.65 │ 2.86 │ 8.58 │ 2.68 │ 8.06 │ street │ 1.123774 │ 6.841637e+09 │ 6.841645e+09 │ 0.0 │ 730297870 │ False │ 2 │ Rokin │ busway │ drive │ 50 │ NULL │ 374.144 │ 6.841645e+09 │ 6.841637e+09 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1.25 │ NULL │ NULL │ True │ 0.239407 │ │ fb7095ae-d96e-4f8f-95b1-353575fd9c68 │ Mapillary │ 284198426687250 │ False │ day │ False │ walking surface │ good │ False │ front/back │ clear │ 52.367061 │ 4.889984 │ 2017-03-02 16:25:58.000 │ 2017 │ 3 │ 2 │ 17 │ 4000.0 │ 3000.0 │ 128.519950 │ perspective │ 93.220881 │ 76.856428 │ 58 │ wPdUPc8tjTjCQT2_vCPd6g │ 170 │ 0.0 │ 0.0 │ 60204.0 │ 21588.0 │ 0.0 │ 0.0 │ 4228.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 480332.0 │ 0.0 │ 388348.0 │ 0.0 │ 1.165356e+06 │ 0.0 │ 24448.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 575416.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 91564.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 43888.0 │ 0.0 │ 0.0 │ 0.0 │ 22284.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1912.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2.879568e+06 │ 0.000000 │ 0.199827 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 4.40 │ 3.27 │ 3.77 │ 2.58 │ 4.63 │ 6.41 │ street │ 8.850581 │ 4.636390e+07 │ 1.179538e+08 │ 0.0 │ 744930286 │ False │ NULL │ Singel │ pedestrian │ walk │ NULL │ NULL │ 73.058 │ 1.179538e+08 │ 4.636390e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ True │ 0.404698 │ │ acf8e029-fac8-47f9-8a96-b3b0f106eec5 │ Mapillary │ 2959016434341416 │ False │ day │ False │ walking surface │ good │ False │ side │ snowy │ 52.365547 │ 4.890053 │ 2013-04-13 14:54:08.000 │ 2013 │ 4 │ 13 │ 16 │ 800.0 │ 1200.0 │ -1.000000 │ perspective │ 73.739795 │ 96.732921 │ 3 │ BHG0CAmol-HpRkbSmuYj_w │ 19 │ 0.0 │ 0.0 │ 0.0 │ 155722.0 │ 0.0 │ 0.0 │ 10225.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 122701.0 │ 0.0 │ 1.142220e+05 │ 0.0 │ 604.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 319381.0 │ 0.0 │ 0.0 │ 85824.0 │ 105217.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 14958.0 │ 0.0 │ 1009.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 9.298630e+05 │ 0.092297 │ 0.343471 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 7.24 │ 7.44 │ 4.35 │ 3.70 │ 9.11 │ 8.38 │ plaza │ 1.623167 │ 4.635769e+07 │ 4.519464e+08 │ 0.0 │ 119299480 │ True │ NULL │ Herengracht │ cycleway │ cycle │ 30 │ NULL │ 212.744 │ 4.635769e+07 │ 4.519464e+08 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1.60 │ NULL │ NULL │ False │ 0.122837 │ │ 4730558e-4e60-4464-82af-e8f9260f5552 │ Mapillary │ 1637576766631595 │ False │ day │ True │ driving surface │ good │ True │ NULL │ clear │ 52.364506 │ 4.878493 │ 2016-08-09 09:08:23.804 │ 2016 │ 8 │ 9 │ 11 │ 8000.0 │ 4000.0 │ 0.000000 │ equirectangular │ NULL │ NULL │ 68 │ fH8N6nZ4VPBcvoaL0IUE0g │ 73 │ 0.0 │ 0.0 │ 16747.0 │ 0.0 │ 0.0 │ 22620.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 148500.0 │ 0.0 │ 84122.0 │ 0.0 │ 2.096360e+05 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 656.0 │ 0.0 │ 0.0 │ 569800.0 │ 0.0 │ 0.0 │ 243945.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 2244.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 13671.0 │ 0.0 │ 0.0 │ 143.0 │ 10561.0 │ 266.0 │ 0.0 │ 21090.0 │ 0.0 │ 0.0 │ 6489.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 29489.0 │ 0.0 │ 0.0 │ 590080.0 │ 1.970059e+06 │ 0.123826 │ 0.289230 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 8.01 │ 3.47 │ 3.97 │ 8.80 │ 1.06 │ 1.39 │ canal │ 2.198081 │ 4.635411e+07 │ 6.206420e+09 │ 0.0 │ 450880902 │ True │ 2 │ Nassaukade │ primary │ drive │ 50 │ NULL │ 18.879 │ 4.635411e+07 │ 6.206420e+09 │ S100 │ NULL │ NULL │ driveway │ NULL │ 1.80 │ NULL │ NULL │ False │ 0.106411 │ │ efddb2c2-502d-492c-a2bb-bdf85cf880ae │ Mapillary │ 471783037408300 │ False │ day │ True │ driving surface │ good │ False │ NULL │ clear │ 52.375527 │ 4.883557 │ 2016-08-17 07:18:26.006 │ 2016 │ 8 │ 17 │ 9 │ 8000.0 │ 4000.0 │ 0.000000 │ equirectangular │ NULL │ NULL │ 47 │ gvfkHga6n7wPlTzlvq7rkQ │ 321 │ 0.0 │ 0.0 │ 2408.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 191510.0 │ 0.0 │ 5.230000e+05 │ 0.0 │ 8857.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 546683.0 │ 0.0 │ 0.0 │ 88462.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1476.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1497.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 1207.0 │ 0.0 │ 5216.0 │ 0.0 │ 0.0 │ 52712.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 0.0 │ 469206.0 │ 1.892234e+06 │ 0.046750 │ 0.288909 │ Amsterdam │ Amsterdam │ 1528355309 │ 52.3667 │ 4.8833 │ Netherlands │ NL │ NLD │ Noord-Holland │ primary │ 862965.0 │ Europe │ 30 │ urban centre │ 7.38 │ 3.99 │ 6.68 │ 9.23 │ 0.84 │ 6.68 │ diner │ 0.577011 │ 4.640433e+07 │ 4.640700e+07 │ 0.0 │ 7373027 │ True │ NULL │ Prinsengracht │ residential │ drive │ NULL │ NULL │ 74.755 │ 4.640700e+07 │ 4.640433e+07 │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ NULL │ False │ 0.276393 │ │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ … │ └──────────────────────────────────────┴───────────┴──────────────────┴─────────┴────────────────────┴─────────────┴─────────────────┴───────────────┴────────────┴────────────────┴─────────┴───────────┴──────────┴─────────────────────────┴───────┴───────┴───────┴───────┴─────────┴─────────┴────────────┴─────────────────┴───────────┴───────────┴────────────────┴────────────────────────┴────────────────────┴─────────┴───────────────┴─────────┴──────────┴────────────┴─────────┴──────────┴───────────┴───────────────────┴──────────┴─────────┴─────────────────┴────────────┴──────────┴──────────────┴──────────┴─────────┴──────────────┴─────────┴──────────┴───────────┴──────────────┴─────────────┴──────────────────────────┴────────────────────────┴──────────┴─────────┴──────────┴─────────┴─────────┴────────────┴──────────┴─────────┴─────────┴───────────┴───────────┴─────────────┴─────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────────┴─────────┴──────────────┴─────────┴────────────────────┴──────────────┴───────────────┴─────────────────────┴──────────────────────┴───────────┴─────────┴──────────┴─────────┴──────────┴─────────┴────────────┴──────────┴───────────────┴─────────┴─────────┴──────────────┴───────────┴─────────────┴──────────────┴──────────────────┴────────────────┴───────────┴────────────┴────────────┴──────────┴──────────┴─────────────┴────────┴────────┴───────────────┴─────────┴────────────┴───────────┴────────────┴──────────────┴───────────┴─────────┴────────────┴─────────┴─────────┴─────────┴───────────┴───────────┴──────────────┴──────────────┴─────────┴───────────┴─────────┴────────┴─────────────────────────┴──────────────┴──────────────┴──────────┴──────────┴─────────┴──────────────┴──────────────┴────────┴──────────────────┴──────────┴──────────┴────────┴────────────┴─────────┴───────────┴──────────┴───────────────────┘
First, let's load the sources and take a sample of the dataset for testing purposes. Then we can fetch the urls for the images we want to download.
mp = Mapillary(ws.env)
kv = KartaView(ws.env)
sample = src_table[2790:2800]
df = gss.fetch_image_urls(sample, mp, kv)
df
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ source ┃ image_id ┃ image_url ┃ ┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ string │ int64 │ string │ ├───────────┼─────────────────┼──────────────────────────────────────────────────────────────────────────────────┤ │ Mapillary │ 291267489739763 │ https://scontent-ams2-1.xx.fbcdn.net/m1/v/t6/An-Mc0lhpIBxFA8ijDoqb0gc7ZEBAaNIf4… │ │ Mapillary │ 238796144572432 │ https://scontent-ams2-1.xx.fbcdn.net/m1/v/t6/An9YM9oRIl3fUinGPWV2LGRCZTHI9oHITy… │ │ Mapillary │ 809013153847997 │ https://scontent-ams2-1.xx.fbcdn.net/m1/v/t6/An88drY_s6mwRt6O05v_eVAA3V8bjz2BSE… │ │ Mapillary │ 812971996301466 │ https://scontent-ams2-1.xx.fbcdn.net/m1/v/t6/An9lM0xQO5E00qyzU6rXG0jsqMnZCfFzJ1… │ │ KartaView │ 580633030 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_7_7a90e_… │ │ KartaView │ 580633110 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_7_7a90e_… │ │ KartaView │ 580633178 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_7_7a90e_… │ │ KartaView │ 580633254 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_8_fbe1f_… │ │ KartaView │ 580633226 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_8_fbe1f_… │ │ KartaView │ 580633098 │ https://storage13.openstreetcam.org/files/photo/2020/1/25/proc/2074482_7_7a90e_… │ └───────────┴─────────────────┴──────────────────────────────────────────────────────────────────────────────────┘
We can now download and open the images. Already dowloaded images won't be dowloaded again.
paths = gss.dowload_images(df, mp, kv)
Image.open(paths[0])