mapping-geojson-osm/propose_mapping_from_data.py

27 lines
896 B
Python

import json
import sys
import json
# Vérifie si un argument est fourni
if len(sys.argv) < 2:
print("Usage: python script.py <geojson_file>")
sys.exit(1)
# Ouvre le fichier GeoJSON
with open(sys.argv[1]) as f:
data = json.load(f)
# Extraire les propriétés de tous les points de la FeatureCollection
properties = []
for feature in data['features']:
props = feature['properties']
properties.extend(props.keys())
# Créer un dictionnaire avec toutes les clés comme clés et des valeurs par défaut vides
defaults = {prop: '' for prop in properties}
# Remplacer les clés contenant "web" ou "téléphone" par "contact:website" ou "contact:phone"
defaults.update({prop: 'contact:website' if 'web' in prop else 'contact:phone' if 'téléphone' in prop else '' for prop in properties})
# Convertir le dictionnaire en JSON et l'afficher
print(json.dumps(defaults, indent=2))