On this page you will find the links to the data extraction of the first release of OvertureMaps Foundation and all the scripts needed to replicate the operation.
The data version is Release Overture 2023-07-26-alpha.0.
The license for buildings is ODbL, while for places it is CDLA-Permissive 2.0.
The data is enriched with ISTAT ids and released in geopackage format.
In this repository there is also the dataset of the non-generalized Italian municipal borders at 2023 of ISTAT (CC-BY license) in geoparquet format.
just duckdb
note: the coordinate reference system is EPSG:4326
- Abruzzo 16Mb
- Basilicata 5.9Mb
- Calabria 19.8Mb
- Campania 61.3Mb
- Emilia-Romagna 53.5Mb
- Friuli Venezia-Giulia 13.8Mb
- Lazio 66.2Mb
- Liguria 20.1Mb
- Lombardia 96.9Mb
- Marche 20.2Mb
- Molise 3.2Mb
- Piemonte 46.2Mb
- Puglia 44.9Mb
- Sardegna 19.9Mb
- Sicilia 53.4Mb
- Toscana 51.3Mb
- Trentino Alto Adige 15.7Mb
- Umbria 11.5Mb
- Valle d'Aosta 2.3Mb
- Veneto 55.8Mb
- Abruzzo 66.1Mb
- Basilicata 49.9Mb
- Calabria 96.4Mb
- Campania 197.3Mb
- Emilia-Romagna 509.0Mb
- Friuli Venezia-Giulia 248.5Mb
- Lazio 290.6Mb
- Liguria 200.3Mb
- Lombardia 640.9Mb
- Marche 94.8Mb
- Molise 20.4Mb
- Piemonte 473.8Mb
- Puglia 662.0Mb
- Sardegna 235.5Mb
- Sicilia 347.0Mb
- Toscana 512.0Mb
- Trentino Alto Adige 125.1Mb
- Umbria 46.7Mb
- Valle d'Aosta 24.9Mb
- Veneto 925.7Mb
Install AWS CLI and download the data
If you want download all
aws s3 cp --region us-west-2 --no-sign-request --recursive s3://overturemaps-us-west-2/release/2023-07-26-alpha.0/ <DESTINATION>
To download single themes:
- admins
s3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=admins - buildings
s3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=buildings - places
s3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=places - transportation
s3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=transportation
all data is incorporated into a duckdb file on which the following SQL operations are then performed
- extraction from the downloaded parquet files into a duckdb table taking into account the bounding box of Italy with a buffer of 5km
- from the created table, a new table is created with a selection of columns so that each contains only one value. E.g. for names you choose the languages of Italian, English, German and French
- the table is enriched with new columns corresponding to ISTAT codes through a spatial relationship with the geometries of Italian municipalities
- based on these attributes, data are extracted at the level of each Italian region
bash script
duckdb omf_italy -c ".read 00_prepare_tables_istat.sql"
bash script
duckdb omf_italy -c ".read 01_extraction_places_italy.sql"
duckdb omf_italy -c ".read 02_extraction_buildings_italy.sql"
bash script
for i in `ls *.gpkg`;
do
name=`basename $i .gpkg`;
tmpname=`echo $name`_tmp.gpkg;
echo "assign WGS84 to $i";
ogr2ogr -a_srs EPSG:4326 -f "GPKG" $tmpname $i;
mv $tmpname $i;
echo "done!";
done
bash script
wget https://github.com/planetlabs/gpq/releases/download/v0.11.0/gpq-linux-amd64.tar.gz
tar xfvz gpq-linux-amd64.tar.gz
chmod 755 gpq
regions="abruzzo basilicata calabria campania emiliaromagna friuliveneziagiulia lazio liguria lombardia marche molise piemonte puglia sardegna sicilia toscana trentinoaltoadige umbria valledaosta veneto"
url="https://s3.eu-central-1.amazonaws.com/overturemaps.italy/"
placeslbl="places_"
gpkglbl=".gpkg"
parquetlbl=".parquet"
buildingslbl="buildings_"
for r in $regions
do
d="$url$placeslbl$r$gpkglbl"
wget $d
duckdb -c "load spatial;CREATE TABLE $placeslbl$r as select * from st_read('$placeslbl$r$gpkglbl', layer='$placeslbl$r');ALTER TABLE $placeslbl$r RENAME geom TO geometry;COPY (SELECT * FROM $placeslbl$r ) TO 'tmp.parquet' (FORMAT PARQUET, CODEC 'ZSTD');"
rm $placeslbl$r$gpkglbl
./gpq convert tmp.parquet $placeslbl$r$parquetlbl
rm tmp.parquet
done;
for r in $regions
do
d="$url$buildingslbl$r$gpkglbl"
wget $d
duckdb -c "load spatial;CREATE TABLE $buildingslbl$r as select * from st_read('$buildingslbl$r$gpkglbl', layer='$r');ALTER TABLE $buildingslbl$r RENAME geom TO geometry;COPY (SELECT * FROM $buildingslbl$r ) TO 'tmp.parquet' (FORMAT PARQUET, CODEC 'ZSTD');"
rm $buildingslbl$r$gpkglbl
./gpq convert tmp.parquet $buildingslbl$r$parquetlbl
rm tmp.parquet
done;