Question Acquire The POI Of Every Hospital In Africa, Asia, America From OSM

Apr 30, 2020
the question of today: acquire the POI of every hospital in Africa, Asia, America from OSM

I need to acquire the POI if every hospital in Africa, Asia, America from OSM: which approach should i choose?

At this point, I've only played with downloading extracts from other services like geofabrik, I haven't actually pulled any data down myself. What's the best way to do this in a pinch? I'm looking for a crash course. Thanks in advance for your help!

on a sidenote; there is a high likelihood that many non-hospital medical facilities have been mapped for example. One other issue which is also common is multiple hospital objects existing on one hospital site: this is frequently, but not always, incorrect. See an example in Tanzania.

some approaches:

- osmconvert:

- osmfilter:

- XAPI, Overpass API:

- overpass-turbo:

- osmium

"XAPI, Overpass API and the Export Tool allow to download custom data sets like arbitrary bounding boxes, elements with specific tags, public transport networks or other features." might take a bit of experimenting with parameters and validation because you're relying on consistent tagging by other users

we can try with overpass turbo but I suspect that it will be too much data and we would need to use suitably defined bounding boxes. What should work is doing this on a country by country base, which would also allow us to define exactly which ones us believe belong to Africa and which not (we will need to convert the output to a shapefile).

The other approach is to download an extract - let us take Africa for example:
- that just contains "Africa" for example (the fsvo bit: this contains the Canary Islands which you may want to or may not want to include), and filter it with a suitable command line tool (and then convert to a shapefile).

Examples: osmium osmfilter hat is actually a hospital? amenity=hospital is a fairly sure bet, but you might want to include amenity=clinic and potentially give the healthcare tags a look too. see the Data of : etc is supposed to curate healthcare data based on OSM for more widespread usage by healthcare specialists.

btw: For some reason OSM tagging is quite weak regardivng nuances of healthcare facilities (for instance how should one map a private hair transplant practice?). It's also extremely difficult to judge the validity of tagging without good knowledge of the local healthcare system. see more of

note: once downloaded i want to maintain the dataset in a PostgreSQL db.
btw: when trying to get the data from overpass-turbo i get somewhat full set of POI data

( node(area.a)[amenity=hospital];
see the results:
    @id    @type    name    addr:postcode    addr:city    addr:street    addr:housenumber    website     contact:email=*
    2656877    relation    Unfallkrankenhaus Lorenz Böhler    1200    Wien    Donaueschingenstraße    13   
    2685003    relation    Landeskrankenhaus Hörgas-Enzenbach                    [url=][/url]   
    2685004    relation    Landeskrankenhaus Judenburg-Knittelfeld                    [url=][/url]   
    2685005    relation    Landeskrankenhaus Hochsteiermark                    [url=][/url]   
    2685006    relation    Landeskrankenhaus Mürzzuschlag-Mariazell                    [url=][/url]   
    2685007    relation    Landeskrankenhaus Rottenmann-Bad Aussee                    [url=][/url]   
    2755244    relation    Landesklinikum Scheibbs    3270    Scheibbs    Feldgasse    26       
    2764083    relation    Allgemeines Krankenhaus Wien    1090    Wien    Währinger Gürtel    18-20    [url=][/url]   
    2882269    relation    Unfallkrankenhaus Salzburg                    [url=][/url]   
    3333391    relation    Krankenhaus St. Josef    5280    Braunau am Inn    Ringstraße    60

or to take a second example:

    30850910 way Hôpital Nord Guillaume et René Laennec 44093 Nantes Cedex 1 Bd professeur Jacques-Monod - Saint-Herblain 
    30979413 way Hôpital Albert Chenevier 94010 Créteil rue de Mesly 40 
    31150222 way Centre de Psychiatrie Les Tournesols 
    31150223 way Clinique du Saint-Coeur 
    31252310 way Hôpital Avicenne 
    32229408 way Centre hospitalier du Rouvray 76300 Sotteville-lès-Rouen Rue Paul Éluard 4 
    32354044 way Centre hospitalier intercommunal Fréjus Saint-Raphaël 
    32388820 way Clinique des Cèdres 
    32471086 way Hôpital Saint-Jacques 
    32522247 way Centre hospitalier de Dieppe 76200 Dieppe Avenue Pasteur [url=][/url] 
    32617022 way Hôpital Désandrouins 55100 Verdun Avenue d'Étain 
    32679701 way Hôpital Belle-Isle [url=][/url] 
    32851894 way Clinique d'Occitanie 31600 Muret Avenue Bernard IV 20
question: why do i get such a detailed list while running an request against - the output is very very detailed.

should i stick to and run a request contry by country... and then put all the data to a MySQL or PostGreSQL-DB to maintain all the data!?

Look forward to hear from you