python-overpy icon indicating copy to clipboard operation
python-overpy copied to clipboard

Write to file

Open antifa-ev opened this issue 6 years ago • 4 comments

Is it possible to dump the output to a GeoJSON file?

antifa-ev avatar Jul 25 '18 13:07 antifa-ev

I am also wondering the same: I am pretty new to python (just landed to it) and I would like to make a query to Overpass and store the results in a geospatial format (e.g. GeoJSON).

After reading this documentation page I came up with the following code:


import overpy

API = overpy.Overpass()

# Fetch highways within Granollers' city.
result = API.query("""
    area[name="Granollers"][admin_level=8];
    // query part for: “highway=*”
    (way["highway"](area);
    relation["highway"](area);
    );
    // print results
    out body;
    """)

Unfortunately, I am not familiar at all with python and I don't know how to store result as a GeoJSON file (Honestly, I don't even know what kind of thing result is -I tried with type(result) and I get overpy.Result as an output, which doesn't mean much to my poor knowledge). I have been reading overpy documentation but I haven't been able to figure it out.

ccamara avatar Mar 07 '19 07:03 ccamara

There is a library to do osm to geojson osmtogeojson, but it requires to have the raw data (xml or json) as returned by Overpass API. I consider that doing geojson conversion is probably off-topic for overpy, but could be nice to have something like a raw str result returned from overpy to use as input for other tools like osmtogeojson

diegocrzt avatar Oct 02 '19 03:10 diegocrzt

There is a library to do osm to geojson osmtogeojson, but it requires to have the raw data (xml or json) as returned by Overpass API. I consider that doing geojson conversion is probably off-topic for overpy, but could be nice to have something like a raw str result returned from overpy to use as input for other tools like osmtogeojson

osmium-tools with "export" command is not well known but do the same (osm to geojson) efficiently (c compiled).

clement-igonet avatar Jan 20 '21 21:01 clement-igonet

There is a library to do osm to geojson osmtogeojson, but it requires to have the raw data (xml or json) as returned by Overpass API. I consider that doing geojson conversion is probably off-topic for overpy, but could be nice to have something like a raw str result returned from overpy to use as input for other tools like osmtogeojson

Overpass Python Wrapper gives back GEOJSON and also raw XML/JSON data in just a few lines of code. https://github.com/mvexel/overpass-api-python-wrapper

marcelharing avatar May 09 '24 13:05 marcelharing