#!/usr/bin/env python import csv import io import json import urllib.request index_imports = [] resp = urllib.request.urlopen("https://davidmegginson.github.io/ourairports-data/airports.csv") airports = list(csv.DictReader(io.TextIOWrapper(resp))) types = set([a['type'] for a in airports]) for airport_type in types: geojson = { "type": "FeatureCollection", "features": [], } for airport in airports: if airport['type'] == airport_type: geojson['features'].append({ "type": "Feature", "geometry": { "type": "Point", "coordinates": [float(airport['longitude_deg']), float(airport['latitude_deg'])] }, "properties": airport, # TODO }) with open(f'data/{airport_type}.geojson', 'w') as f: f.write(json.dumps(geojson)) with open("data/types.js", 'w') as f: for airport_type in types: f.write(f"import {airport_type} from './{airport_type}.geojson?url';\n") f.write('\nexport default {\n') for airport_type in types: f.write(f" {airport_type}: {airport_type},\n") f.write("};\n")