The project has been abandoned and the author do not intend on continuing development.
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: https://photon.komoot.io/
Photon source code: https://github.com/komoot/photon
require(devtools)
devtools::install_github(repo = 'rCarto/photon')
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/")
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