jberkel / makercamp-workshop

Home Page:http://jberkel.github.io/makercamp-workshop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

General concepts

POI: point of interest

POI

OpenStreetMap

OSM

  • Stores nodes, ways (collection of nodes) and relations (collection of nodes/ways)
  • Each element can have tags (key / value pairs):

https://www.openstreetmap.org/node/29190909

Key Value
name U Bernauer Straße
railway station
station subway
wheelchair yes

Edit maps with ID

Query data with overpass

find ping pong tables

ping pong table

pongify.us

overpass query

<query type="node">
  <has-kv k="leisure" v="pitch"/>
  <has-kv k="sport" v="table_tennis"/>
  <bbox-query {{bbox}}/>
</query>

<print mode="meta"/>

overpass query including ways (areas)

<union>
  <query type="node">
    <has-kv k="sport" v="table_tennis"/>
    <bbox-query {{bbox}}/>
  </query>

  <query type="way">
    <has-kv k="sport" v="table_tennis"/>
    <bbox-query {{bbox}}/>
  </query>
  <recurse type="down"/>
</union>

<print mode="meta"/>

find drinking water / pumps

berliner pumpe

overpass query

<query type="node">
  <has-kv k="amenity" v="drinking_water"/>
  <bbox-query {{bbox}}/>
</query>

<print mode="meta"/>

find ping pong tables near water

<query type="node">
  <has-kv k="amenity" v="drinking_water"/>
  <bbox-query {{bbox}}/>
</query>

<query type="node">
  <around radius="300"/>
  <has-kv k="leisure" v="pitch"/>
  <has-kv k="sport" v="table_tennis"/>
</query>

<print mode="meta"/>

Export and share with GeoJSON

{
  "type": "FeatureCollection",
  "features": [
    {
      "geometry": {
        "type": "Point",
        "coordinates": [
          13.3192854,
          52.4904865
        ]
      }
    }
  ]
}

Tools