Cartography


basemaps::basemap_ggplot(CONUS_ext,map_service = "osm", map_type = "streets")

basemaps::basemap_ggplot(CONUS_ext,map_service = "osm", map_type = "topographic")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "light")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "voyager")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "dark")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "light_no_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "voyager_no_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "dark_no_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "light_only_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "voyager_only_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "dark_only_labels")

basemaps::basemap_ggplot(CONUS_ext,map_service = "carto", map_type = "voyager_labels_under")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_terrain_base")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_imagery")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_street_map")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_physical_map")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_topo_map")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_shaded_relief")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_light_gray_base")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_dark_gray_base")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_light_gray_reference")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_dark_gray_reference")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_hillshade")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_hillshade_dark")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "natgeo_world_map")

basemaps::basemap_ggplot(CONUS_ext,map_service = "esri", map_type = "world_navigation_charts")

All credit to Project Linework and the authors

See also: TIGER data

[1] "todo"

See also: Hydrography

Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
give correct results for longitude/latitude data

Python (Contextily)

In Python, contextily provides functionality similar to basemaps. It fetches tiles and adds them to a matplotlib plot.

Basemap Provider Reference

Common contextily providers that match the R basemaps list:

  • OSM: cx.providers.OpenStreetMap.Mapnik
  • Carto Light: cx.providers.CartoDB.Positron
  • Carto Dark: cx.providers.CartoDB.DarkMatter
  • Carto Voyager: cx.providers.CartoDB.Voyager
  • Esri Imagery: cx.providers.Esri.WorldImagery
  • Esri Street: cx.providers.Esri.WorldStreetMap

Watermarks

From https://datavizpyr.com/how-to-add-water-mark-on-a-ggplot/

cowplot::ggdraw(export_plot) +
  cowplot::draw_label("Draft", 
             color = "lightgray",
             size = 100, 
             angle = 45)

cowplot::ggdraw(export_plot) +
 ggplot2::geom_text(
    data = data.frame(x = 0.5,
                      y = 0.5, label = "Draft"),
    ggplot2::aes(x, y, label = label),
    hjust = 0.5, vjust = 0.5, angle = 45, size = 100/ggplot2::.pt,
    color = "lightgray",
    inherit.aes = FALSE
  )

Other resources: