Maps provided by the OpenStreetMap project contain very detailed information about schools, businesses, shops, restaurants, cafes, parking spaces, hospitals etc. With this tool you get an efficient, customizable API for extraction of data on such points of interests for further processing. This information can be further used e.g. to build walkability indexes that can be used to explain attractiveness of some parts of a city.
Suppose you are hungry in Boston and want to find location of all restaurants in the center. Than with this package you could do:
using OSMToolset, DataFrames
f = download("https://overpass-api.de/api/map?bbox=-71.0912,42.3550,-71.0486,42.3751")
config = DataFrame(key="amenity", values=["restaurant", "fast_food", "food_court"])
dfpoi = find_poi(f; scrape_config=ScrapePOIConfig{NoneMetaPOI}(config))
This yields a nice data frame for further processing such as:
255×7 DataFrame
Row │ elemtype elemid nodeid lat lon key value
│ Symbol Int64 Int64 Float64 Float64 String String
─────┼─────────────────────────────────────────────────────────────────────────
1 │ node 573364103 573364103 42.3619 -71.0705 amenity restaurant
2 │ node 573364344 573364344 42.3618 -71.0702 amenity restaurant
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
254 │ way 212123465 2220121952 42.36 -71.0557 amenity restaurant
255 │ way 814638590 7609611941 42.3548 -71.0556 amenity food_court
251 rows omitted
This can be further expanded to build various walkability indexes - similar to the visualization below or measuring attractiveness of living in a particular city district.
More information can be found on the package’s website: GitHub - pszufe/OSMToolset.jl: Tools for Open Steet Map: Point-of-Interest extraction and tiling of map data
Additionally, the package provides also functionality for tiling OSM files into smaller pieces (eg. for parallel processing later).