# \[ANN\] OSMToolset.jl: A package to extract point-of-interest from maps and building walkability indexes

**URL:** <https://discourse.julialang.org/t/ann-osmtoolset-jl-a-package-to-extract-point-of-interest-from-maps-and-building-walkability-indexes/105622>\
**Category:** Package Announcements\
**Tags:** announcement, openstreetmapx, osm\
**Created:** [October 31, 2023, 5:14pm UTC](https://discourse.julialang.org/t/ann-osmtoolset-jl-a-package-to-extract-point-of-interest-from-maps-and-building-walkability-indexes/105622 "2023-10-31T17:14:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![pszufe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pszufe/32/23452_2.png) [@pszufe](https://discourse.julialang.org/u/pszufe)\
**Post date:** [October 31, 2023, 5:14pm UTC](https://discourse.julialang.org/t/ann-osmtoolset-jl-a-package-to-extract-point-of-interest-from-maps-and-building-walkability-indexes/105622/1 "2023-10-31T17:14:53Z")

</div>

Maps provided by the [OpenStreetMap](https://www.openstreetmap.org/) 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:

```julia
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:

```julia
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](https://github.com/pszufe/OSMToolset.jl)

Additionally, the package provides also functionality for tiling OSM files into smaller pieces (eg. for parallel processing later).

 ![image](https://global.discourse-cdn.com/julialang/original/3X/e/7/e7104c224f4e3bee5578d01eb7112156c94241c5.jpeg)
