1 """Load geojson scenario and create json dump of objects for iamcar.
3 The geojson file can be easily generated by JOSM. The tags used are:
4 - ``obstacle=yes`` for polygon obstacle.
5 - ``car=yes`` for cars. They are taken as polygon obstacles for now.
6 - ``start=yes`` denotes possible starting point.
7 - ``slot=yes`` denotes possible parking slot.
9 from json import dumps, loads
10 from pyproj import Proj, transform
12 IF = "prague-scenario.geojson"
13 IP = Proj(init="epsg:4326")
15 OP = Proj(init="epsg:5514")
17 if __name__ == "__main__":
19 objs = loads(f.read())
21 for o in objs["features"]:
22 if "car" in o["properties"] or "obstacle" in o["properties"]:
24 for (lon, lat) in o["geometry"]["coordinates"]:
25 obst.append(transform(IP, OP, lon, lat))
28 for o in objs["features"]:
29 if "slot" in o["properties"]:
31 for (lon, lat) in o["geometry"]["coordinates"]:
32 slot.append(transform(IP, OP, lon, lat))
35 for o in objs["features"]:
36 if "start" in o["properties"]:
37 (lon, lat) = o["geometry"]["coordinates"]
38 starts.append(transform(IP, OP, lon, lat))
40 scenario["obst"] = obsts
41 scenario["slot"] = slots
42 scenario["starts"] = starts
43 with open(OF, 'w') as f:
44 f.write(dumps(scenario))