#!/usr/bin/env python3 # SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org> # SPDX-License-Identifier: MIT import argparse import glob import os import re parser = argparse.ArgumentParser( description='Fill in missing coverage area based on coverage regions for all files') parser.add_argument('--data', type=str, required=True, help='Path to the Transport API data') arguments = parser.parse_args() # bounding box filter for overseas territories bounding_areas = {}; for country in ['at', 'be', 'ch', 'de', 'dk', 'ee', 'fi', 'ie', 'it', 'lu', 'nl', 'no', 'pl', 'se']: bounding_areas[country] = ['36.5', '-9', '71', '40'] transportApiFiles = glob.glob(arguments.data + "/*/*.json", recursive=True) for transportApiFile in transportApiFiles: nameMatch = re.search('/([a-z]{2})/(.*)\\.json', transportApiFile) if not nameMatch: continue country = nameMatch.group(1) print (f"Processing {transportApiFile}") args = ['--threshold', '5000', '--decimals', '2'] if country in bounding_areas: args += ['--bounding-box'] args += bounding_areas[country] args += [transportApiFile] os.system(os.path.join(os.path.dirname(__file__), 'fill-coverage-area.py') + ' ' + ' '.join(args)) os.system(os.path.join(os.path.dirname(__file__), 'pretty-json.py') + ' ' + transportApiFile) os.system(os.path.join(os.path.dirname(__file__), 'coverage-to-geojson.py') + ' --data ' + arguments.data + ' > coverage.geojson')