diff --git a/scripts/tile_gen/extract_mbtiles/extract_mbtiles.py b/scripts/tile_gen/extract_mbtiles/extract_mbtiles.py index ac5359e..f75eb6f 100755 --- a/scripts/tile_gen/extract_mbtiles/extract_mbtiles.py +++ b/scripts/tile_gen/extract_mbtiles/extract_mbtiles.py @@ -5,6 +5,7 @@ import shutil import sqlite3 import sys from pathlib import Path +from pprint import pprint import click @@ -38,18 +39,34 @@ def cli(mbtiles_path: Path, dir_path: Path): # assert_all_tiles_present(mbtiles_path, dir_path) write_metadata(c, dir_path=dir_path) + conn.commit() + print('extract_mbtiles.py DONE') def write_metadata(c, *, dir_path): metadata = dict(c.execute('select name, value from metadata').fetchall()) - metadata['name'] = 'OpenFreeMap' - metadata['description'] = 'https://openfreemap.org/' - metadata['attribution'] = ( - 'OpenFreeMap ' - + metadata['attribution'] - ) - json.dump(metadata, open(dir_path / 'metadata.json', 'w'), indent=2) + c.execute("update metadata set value='OpenFreeMap' where name='name'") + c.execute("update metadata set value='https://openfreemap.org' where name='description'") + + if 'openfreemap' not in metadata['attribution']: + attr_str = ( + 'OpenFreeMap ' + + metadata['attribution'] + ) + c.execute("UPDATE metadata SET value = ? WHERE name = 'attribution'", (attr_str,)) + + if 'osm_date' not in metadata: + if 'planetiler:osm:osmosisreplicationtime' in metadata: + osm_date = metadata['planetiler:osm:osmosisreplicationtime'][:10] + c.execute('INSERT INTO metadata (name, value) VALUES (?, ?)', ('osm_date', osm_date)) + + metadata = dict(c.execute('select name, value from metadata').fetchall()) + with open(dir_path / 'metadata.json', 'w') as fp: + json.dump(metadata, fp, indent=2) + + with open(dir_path / 'osm_date', 'w') as fp: + fp.write(metadata['osm_date']) def write_dedupl_files(c, *, dir_path): diff --git a/scripts/tile_gen/extract_mbtiles/out/metadata.json b/scripts/tile_gen/extract_mbtiles/out/metadata.json index 9125af0..3b69905 100644 --- a/scripts/tile_gen/extract_mbtiles/out/metadata.json +++ b/scripts/tile_gen/extract_mbtiles/out/metadata.json @@ -4,7 +4,7 @@ "bounds": "7.40921,43.72335,7.44864,43.75169", "json": "{\"vector_layers\":[{\"id\":\"aeroway\",\"fields\":{\"ref\":\"String\",\"class\":\"String\"},\"minzoom\":12,\"maxzoom\":14},{\"id\":\"boundary\",\"fields\":{\"disputed\":\"Number\",\"admin_level\":\"Number\",\"maritime\":\"Number\"},\"minzoom\":0,\"maxzoom\":14},{\"id\":\"building\",\"fields\":{\"colour\":\"String\",\"render_height\":\"Number\",\"render_min_height\":\"Number\"},\"minzoom\":13,\"maxzoom\":14},{\"id\":\"housenumber\",\"fields\":{\"housenumber\":\"String\"},\"minzoom\":14,\"maxzoom\":14},{\"id\":\"landcover\",\"fields\":{\"subclass\":\"String\",\"class\":\"String\",\"_numpoints\":\"Number\"},\"minzoom\":13,\"maxzoom\":14},{\"id\":\"landuse\",\"fields\":{\"class\":\"String\"},\"minzoom\":6,\"maxzoom\":14},{\"id\":\"mountain_peak\",\"fields\":{\"rank\":\"Number\",\"class\":\"String\"},\"minzoom\":13,\"maxzoom\":14},{\"id\":\"park\",\"fields\":{\"name_int\":\"String\",\"name:ar\":\"String\",\"name:de\":\"String\",\"name_de\":\"String\",\"name:it\":\"String\",\"name\":\"String\",\"name:fr\":\"String\",\"name:en\":\"String\",\"name:eo\":\"String\",\"name:eu\":\"String\",\"class\":\"String\",\"name:zh\":\"String\",\"name:es\":\"String\",\"name_en\":\"String\",\"name:latin\":\"String\"},\"minzoom\":13,\"maxzoom\":14},{\"id\":\"place\",\"fields\":{\"name:fy\":\"String\",\"name_int\":\"String\",\"name:oc\":\"String\",\"name:bs\":\"String\",\"capital\":\"Number\",\"name:sk\":\"String\",\"name:ka\":\"String\",\"name:sl\":\"String\",\"name:ga\":\"String\",\"name:sr\":\"String\",\"name:kk\":\"String\",\"name:gd\":\"String\",\"name:sq\":\"String\",\"name:ca\":\"String\",\"name:kn\":\"String\",\"name:sv\":\"String\",\"name:ko\":\"String\",\"name_de\":\"String\",\"rank\":\"Number\",\"name:co\":\"String\",\"name:ku\":\"String\",\"name:cs\":\"String\",\"name:ta\":\"String\",\"name:latin\":\"String\",\"name:ar\":\"String\",\"name:ja\":\"String\",\"name:rm\":\"String\",\"name:az\":\"String\",\"name:ro\":\"String\",\"name:nl\":\"String\",\"name:fi\":\"String\",\"name:be\":\"String\",\"name:ru\":\"String\",\"name:no\":\"String\",\"name:bg\":\"String\",\"name\":\"String\",\"name:fr\":\"String\",\"name:br\":\"String\",\"name:hy\":\"String\",\"name:uk\":\"String\",\"name:id\":\"String\",\"name:ml\":\"String\",\"name:mk\":\"String\",\"name:mt\":\"String\",\"name:el\":\"String\",\"name:it\":\"String\",\"name:am\":\"String\",\"name:en\":\"String\",\"name:is\":\"String\",\"name:eo\":\"String\",\"name:et\":\"String\",\"name:eu\":\"String\",\"class\":\"String\",\"iso_a2\":\"String\",\"name:zh\":\"String\",\"name:es\":\"String\",\"name:th\":\"String\",\"name:te\":\"String\",\"name:la\":\"String\",\"name:lb\":\"String\",\"name:cy\":\"String\",\"name:pl\":\"String\",\"name:he\":\"String\",\"name:da\":\"String\",\"name:tr\":\"String\",\"name:pt\":\"String\",\"name:hi\":\"String\",\"name:de\":\"String\",\"name:lt\":\"String\",\"name:lv\":\"String\",\"name:hr\":\"String\",\"name:hu\":\"String\",\"name_en\":\"String\"},\"minzoom\":2,\"maxzoom\":14},{\"id\":\"poi\",\"fields\":{\"name:oc\":\"String\",\"name_int\":\"String\",\"name:sk\":\"String\",\"name:ka\":\"String\",\"name:sl\":\"String\",\"name:ga\":\"String\",\"name:sr\":\"String\",\"name:kk\":\"String\",\"name:sq\":\"String\",\"name:ca\":\"String\",\"name:sv\":\"String\",\"name:ko\":\"String\",\"name_de\":\"String\",\"name:co\":\"String\",\"name:ku\":\"String\",\"name:cs\":\"String\",\"name:latin\":\"String\",\"name:ar\":\"String\",\"name:ja\":\"String\",\"level\":\"Number\",\"name:rm\":\"String\",\"name:az\":\"String\",\"name:ro\":\"String\",\"name:nl\":\"String\",\"name:be\":\"String\",\"name:ru\":\"String\",\"name:fi\":\"String\",\"name\":\"String\",\"indoor\":\"Number\",\"name:fr\":\"String\",\"name:br\":\"String\",\"name:hy\":\"String\",\"name:uk\":\"String\",\"name:id\":\"String\",\"layer\":\"Number\",\"name:mk\":\"String\",\"name:el\":\"String\",\"name:it\":\"String\",\"name:en\":\"String\",\"name:eo\":\"String\",\"name:et\":\"String\",\"name:eu\":\"String\",\"class\":\"String\",\"name:zh\":\"String\",\"name:es\":\"String\",\"name:th\":\"String\",\"name:lb\":\"String\",\"name:cy\":\"String\",\"name:pl\":\"String\",\"name:da\":\"String\",\"name:he\":\"String\",\"name:tr\":\"String\",\"name:pt\":\"String\",\"name:de\":\"String\",\"name:lt\":\"String\",\"subclass\":\"String\",\"name:lv\":\"String\",\"name:hr\":\"String\",\"name:hu\":\"String\",\"name_en\":\"String\"},\"minzoom\":12,\"maxzoom\":14},{\"id\":\"transportation\",\"fields\":{\"brunnel\":\"String\",\"access\":\"String\",\"surface\":\"String\",\"bicycle\":\"String\",\"level\":\"Number\",\"ramp\":\"Number\",\"oneway\":\"Number\",\"layer\":\"Number\",\"horse\":\"String\",\"service\":\"String\",\"subclass\":\"String\",\"indoor\":\"Number\",\"class\":\"String\",\"foot\":\"String\"},\"minzoom\":7,\"maxzoom\":14},{\"id\":\"transportation_name\",\"fields\":{\"name_int\":\"String\",\"level\":\"Number\",\"route_2\":\"String\",\"route_1\":\"String\",\"layer\":\"Number\",\"network\":\"String\",\"ref\":\"String\",\"name_de\":\"String\",\"ref_length\":\"Number\",\"subclass\":\"String\",\"name\":\"String\",\"indoor\":\"Number\",\"class\":\"String\",\"name_en\":\"String\",\"name:latin\":\"String\"},\"minzoom\":12,\"maxzoom\":14},{\"id\":\"water\",\"fields\":{\"intermittent\":\"Number\",\"id\":\"Number\",\"class\":\"String\"},\"minzoom\":0,\"maxzoom\":14},{\"id\":\"water_name\",\"fields\":{\"name_int\":\"String\",\"name_de\":\"String\",\"name\":\"String\",\"intermittent\":\"Number\",\"name:en\":\"String\",\"class\":\"String\",\"name_en\":\"String\",\"name:latin\":\"String\"},\"minzoom\":14,\"maxzoom\":14},{\"id\":\"waterway\",\"fields\":{\"brunnel\":\"String\",\"intermittent\":\"Number\",\"class\":\"String\"},\"minzoom\":4,\"maxzoom\":14}]}", "name": "OpenFreeMap", - "description": "https://openfreemap.org/", + "description": "https://openfreemap.org", "attribution": "OpenFreeMap © OpenMapTiles © OpenStreetMap contributors", "version": "3.14.0", "type": "baselayer", @@ -16,5 +16,6 @@ "planetiler:buildtime": "2023-10-01T17:00:31.116Z", "planetiler:osm:osmosisreplicationtime": "2023-12-07T21:21:32Z", "planetiler:osm:osmosisreplicationseq": "3900", - "planetiler:osm:osmosisreplicationurl": "http://download.geofabrik.de/europe/monaco-updates" + "planetiler:osm:osmosisreplicationurl": "http://download.geofabrik.de/europe/monaco-updates", + "osm_date": "2023-12-07" } \ No newline at end of file diff --git a/scripts/tile_gen/extract_mbtiles/out/osm_date b/scripts/tile_gen/extract_mbtiles/out/osm_date new file mode 100644 index 0000000..b7b719d --- /dev/null +++ b/scripts/tile_gen/extract_mbtiles/out/osm_date @@ -0,0 +1 @@ +2023-12-07 \ No newline at end of file