🎯 R Interface to the Photon API / Interface entre R et l'API de photon
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

R Interface to the Photon API

Photon is an open source geocoder built for OpenStreetMap data and based on elasticsearch. This package allows to query a photon API and get the results in a data frame.

Photon web site: http://photon.komoot.de/
Photon source code: https://github.com/komoot/photon

Install Instructions

require(devtools)  
devtools::install_github(repo = 'rCarto/photon')  

Usage

geocode()

address <- c("19 rue Michel Bakounine, 29600 Morlaix, France",
             "5 rue Proudhon, 34130 Mauguio France",
             "2 Emma Goldmanweg, Tilburg, Netherlands",
             "36 Strada Panait Israti, Bucarest, Romania")
place <- geocode(address, limit = 1, key = "place")
place
location osm_id osm_type name housenumber street postcode city state country osm_key osm_value lon lat msg
19 rue Michel Bakounine, 29600 Morlaix, France 3241060871 N NA 19 Rue Michel Bakounine 29600 Morlaix Brittany France place house -3.816435 48.59041 NA
5 rue Proudhon, 34130 Mauguio France 3700168030 N NA 5 Rue Proudhon 34130 Mauguio Occitania France place house 4.008024 43.61583 NA
2 Emma Goldmanweg, Tilburg, Netherlands 2844596196 N NA 2 Emma Goldmanweg 5032MN Tilburg North Brabant The Netherlands place house 5.041361 51.53783 NA
36 Strada Panait Israti, Bucarest, Romania 2838254765 N NA 36 Strada Panait Istrati 011547 Bucharest NA Romania place house 26.064266 44.46227 NA
geocode("Montreuil", limit = 1)
location osm_id osm_type name housenumber street postcode city state country osm_key osm_value lon lat msg
Montreuil 2622231 R Montreuil NA NA 62170 NA Nord-Pas-de-Calais and Picardy France place village 1.764228 50.46375 NA
geocode("Montreuil", locbias = c(2.4, 48.9), limit = 1)
location osm_id osm_type name housenumber street postcode city state country osm_key osm_value lon lat msg
Montreuil 129423 R Montreuil NA NA 93100 NA Ile-de-France France place city 2.441218 48.86234 NA
# with a typical local install of photon
place <- geocode(address, limit = 1, key = "place", server = "http://0.0.0.0:2322/")

reverse()

address <- c("19 rue Michel Bakounine, 29600 Morlaix, France",
             "5 rue Proudhon, 34130 Mauguio France",
             "2 Emma Goldmanweg, Tilburg, Netherlands",
             "36 Strada Panait Israti, Bucarest, Romania")
place <- geocode(address, limit = 1, key = "place")
place2 <- reverse(x = place$lon, y = place$lat)
place2
x y osm_id osm_type name housenumber street postcode city state country osm_key osm_value lon lat msg
-3.816435 48.59041 3241060871 N NA 19 Rue Michel Bakounine 29600 Morlaix Brittany France place house -3.816435 48.59041 NA
4.008024 43.61583 3700168030 N NA 5 Rue Proudhon 34130 Mauguio Occitania France place house 4.008024 43.61583 NA
5.041361 51.53783 2844596196 N NA 2 Emma Goldmanweg 5032MN Tilburg North Brabant The Netherlands place house 5.041361 51.53783 NA
26.064266 44.46227 2838254765 N NA 36 Strada Panait Istrati 011547 Bucharest NA Romania place house 26.064266 44.46227 NA
identical(place[,2:12], place2[,3:13])
>TRUE