Add airports layer
This commit is contained in:
parent
5553b815f6
commit
69e777033e
4 changed files with 83 additions and 0 deletions
40
layers/airports/get_data.py
Executable file
40
layers/airports/get_data.py
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/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")
|
||||
Loading…
Add table
Add a link
Reference in a new issue