Openstreetmap: from "address" to "shapefile"

518 views Asked by At

I've been looking for an answer on the web since quite a long time, but I couldn't make it. So, I hope Stackoverflow users could help/advice me a bit.

I have 7 000 addresses (like "67, place Lobligeois 75017 Paris, France") and I would like to get a Shapefile that contains the 7 000 buildings corresponding to these 7 000 addresses.

My idea is to:

  1. Use Mapquest API to get the "OSM node" for these 7 000 "addresses"
  2. Use Overpass API to get, for all buildings in Paris, their "ways" and "nodes"
  3. Match (1) et (3) to get the "ways" corresponding to my 7 000 "nodes/adresses"
  4. Load in QGIS a shapefile (found at download.bbbike.org/osm/bbbike/Paris/) of all Paris buildings (shapefile where "OSM_ID" equals "way")
  5. Find in my shapefile the "ways" obtained in (3) and delete all buildings that do not match.

Is it a good idea? Or is there a simpler way to do it (I hope)? By the way, I am not able to download the data from my step 2, overpass-turbo.eu fails each time. Do you have any idea (is my Bbox too big)?

I would be delighted to get some advices/help.

Charles H.

2

There are 2 answers

0
Elliott On BEST ANSWER

There are a couple of things I recommend.

  1. Don't bother trying to extract the buildings. That will put a big hurting on your browser. Instead, grab one of the Geofabrik daily extracts for the Paris region. While those won't include the address nodes, they will have all the buildings.
  2. Next do an overpass query for just addresses on nodes using the NominatimArea function. It looks like there are 30MB worth of them in Paris (!!), so you may have to break that area down into smaller districts, if Paris has any. Export that as GeoJSON and convert to shape.
0
dkiselev On

Try to use this: https://github.com/kiselev-dv/gazetteer/tree/develop/Gazetteer You can get csv with addresses, address components, osm id's and geometry as WKT string.

After that, you can compare points from step one by osm id or by address and filter csv rows you need.

Finally open csv in QGIS and save it as shape.