inst/doc/geocoder.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(hereR)
library(sf)

if (requireNamespace("mapview", quietly = TRUE)) {
  mapview::mapviewOptions(fgb = FALSE)
}

address <- poi$city
geocoded <- hereR:::example$geocode
suggestions <- hereR:::example$autosuggest
reverse_geocoded <- hereR:::example$reverse_geocode

## ----print_addresses, eval=TRUE, echo=TRUE, out.width='100%'------------------
head(address, 3)

## ----geocode, eval=FALSE------------------------------------------------------
#  geocoded <- geocode(address)

## ----head_geocoded, eval=TRUE, echo=TRUE, out.width='100%'--------------------
head(geocoded, 3)

## ----join_geocoded, eval=FALSE, echo=TRUE, out.width='100%'-------------------
#  df <- data.frame(
#    company = c("Schweizerische Bundesbahnen SBB", "Bahnhof AG", "Deutsche Bahn AG"),
#    address = c("Wylerstrasse 123, 3000 Bern 65", "not_an_address", "Potsdamer Platz 2, 10785 Berlin"),
#    stringsAsFactors = FALSE
#  )
#  locs <- geocode(df$address)
#  geocoded_sfdf <- st_as_sf(data.frame(locs, df[locs$id, ]))

## ----map_geocoded, eval=FALSE, out.width='100%'-------------------------------
#  if (requireNamespace("mapview", quietly = TRUE)) {
#    mapview::mapview(geocoded,
#      label = geocoded$address,
#      col.regions = "red",
#      map.types = c("Esri.WorldTopoMap"),
#      legend = FALSE,
#      homebutton = FALSE
#    )
#  }

## ----qq_geocoded, eval=FALSE, out.width='100%'--------------------------------
#  qq <- list(
#    list(
#      country = "Germany",
#      city = "Berlin",
#      street = "Friedrichstr"
#    ),
#    list(
#      country = "Switzerland",
#      city = "Zurich",
#      street = "Hardstrasse"
#    )
#  )
#  geocoded_qq <- geocode(qq)

## ----autocomplete, eval=FALSE-------------------------------------------------
#  suggestions <- autosuggest(address, results = 3)

## ----results_autocomplete, eval=TRUE, echo=TRUE, out.width='100%'-------------
results <- data.frame(
  input = address[suggestions$id],
  id = suggestions$id,
  rank = suggestions$rank,
  suggestion = suggestions$suggestion
)

## ----table_results, eval=TRUE, echo=FALSE, out.width='100%', fig.align='center', screenshot.force=FALSE----
knitr::kable(head(results), format = "html")

## ----reverse_geocode, eval=FALSE, echo=TRUE, out.width='100%'-----------------
#  reverse_geocoded <- reverse_geocode(poi = poi, results = 3)

## ----map_reverse_geocode, eval=FALSE, echo=TRUE, out.width='100%'-------------
#  if (requireNamespace("mapview", quietly = TRUE)) {
#    m <-
#      mapview::mapview(poi,
#        alpha.region = 0, col.region = "transparent",
#        label = poi$city, cex = 30, layer.name = "POIs",
#        map.types = c("Esri.WorldTopoMap"), homebutton = FALSE
#      ) +
#      mapview::mapview(reverse_geocoded,
#        col.region = "red", alpha = 0,
#        label = reverse_geocoded$label, layer.name = "Adresses",
#        homebutton = FALSE
#      )
#    m
#  }

Try the hereR package in your browser

Any scripts or data that you put into this service are public.

hereR documentation built on Sept. 18, 2023, 5:21 p.m.