The project has been abandoned and the author do not intend on continuing development.
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: 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