Skip to content

Commit fdba08d

Browse files
committed
don't convert elements multiple times to geojson
1 parent 8369a02 commit fdba08d

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

overpass/api.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,16 @@ def _get_from_overpass(self, query):
187187
return r
188188

189189
def _as_geojson(self, elements):
190-
190+
ids_already_seen = set()
191191
features = []
192192
geometry = None
193193
for elem in elements:
194+
try:
195+
if elem["id"] in ids_already_seen:
196+
continue
197+
ids_already_seen.add(elem["id"])
198+
except KeyError:
199+
raise UnknownOverpassError("Received corrupt data from Overpass (no id).")
194200
elem_type = elem.get("type")
195201
elem_tags = elem.get("tags")
196202
elem_geom = elem.get("geometry", [])

0 commit comments

Comments
 (0)