Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TOL = 0.00001
- query = """
- <osm-script>
- <union>
- """
- for index, row in df_snapped.iterrows():
- query += ' <bbox-query s="{}" w="{}" n="{}" e="{}"/>n'.format(
- round(row.lat-TOL, 5)
- ,round(row.lon-TOL, 5)
- ,round(row.lat+TOL, 5)
- ,round(row.lon+TOL, 5)
- )
- query += """
- </union>
- <union into="_">
- <item from="_" into="_"/>
- <recurse from="_" into="_" type="node-way"/>
- </union>
- <print e="" from="_" geometry="skeleton" ids="yes" limit="" mode="body" n="" order="id" s="" w=""/>
- </osm-script>
- """
- <osm-script>
- <union>
- <bbox-query s="51.48825" w="-2.62352" n="51.48827" e="-2.6235"/>
- <bbox-query s="51.48801" w="-2.62364" n="51.48803" e="-2.62362"/>
- <bbox-query s="51.4878" w="-2.62373" n="51.48782" e="-2.62371"/>
- <bbox-query s="51.48697" w="-2.62406" n="51.48699" e="-2.62404"/>
- <bbox-query s="51.48682" w="-2.62414" n="51.48684" e="-2.62412"/>
- <bbox-query s="51.4868" w="-2.62416" n="51.48682" e="-2.62414"/>
- <bbox-query s="51.48665" w="-2.62431" n="51.48667" e="-2.62429"/>
- <bbox-query s="51.48654" w="-2.62442" n="51.48656" e="-2.6244"/>
- <bbox-query s="51.48633" w="-2.62463" n="51.48635" e="-2.62461"/>
- ...
- </union>
- <union into="_">
- <item from="_" into="_"/>
- <recurse from="_" into="_" type="node-way"/>
- </union>
- <print e="" from="_" geometry="skeleton" ids="yes" limit="" mode="body" n="" order="id" s="" w=""/>
- </osm-script>
- node_ways = {}
- for idx, way in enumerate(result.ways):
- nodes = way.get_nodes(resolve_missing=True)
- for node in nodes:
- if node.id in node_ways:
- temp = node_ways[node.id]
- temp.add(way.id)
- node_ways[node.id] = temp
- else:
- node_ways[node.id] = set([way.id])
Add Comment
Please, Sign In to add comment