[R-sig-Geo] Mapping census tracts with leaflet(): "sf layer has inconsistent datum" error

Ben Tupper btupper @end|ng |rom b|ge|ow@org
Thu Jun 1 00:16:29 CEST 2023


Hi,

This is a great place to ask - and nice reproducible code!

You have a two issues as far as I can see.  First it seems you have dropped
the "4" in "WGS84".  And second you want to transform rw_pop, not the
output of leaflet().  The following works for me.

## Start
library(tidyverse)
library(tidycensus)
library(leaflet)
library(sf)

rw_blocks <- c(3000, 3001, 3002, 3005, 3006, 3007, 3008, 3009, 3010, 3011)

rw_pop <- get_decennial(
  geography = "block",
  variables = "P1_001N",
  year = 2020,
  state = "MD",
  county = "Baltimore city",
  geometry = TRUE
) %>%
  filter(substr(GEOID, 6, 11) == "271101" &
           substr(GEOID, 12, 15) %in% rw_blocks
  ) ## %>% st_transform('+proj=longlat +datum=WGS8')

(rw_pop_map <- rw_pop %>%
    st_transform('+proj=longlat +datum=WGS84') %>%
    leaflet() %>%
    fitBounds(-76.616, 39.352, -76.610, 39.346) %>%
    addTiles() %>%
    addPolygons()
)
## End

On Wed, May 31, 2023 at 4:03 PM Kevin Zembower via R-sig-Geo <
r-sig-geo using r-project.org> wrote:

> Hello, all. Newbie to sf, tidycensus and the tidyverse here.
>
> First off, is this the appropriate list to ask this question? If not,
> let me know and I'll go away.
>
> I'm trying to map census blocks for my neighborhood to a base map. I'm
> using tidycensus to get the geometry of the census blocks, and leaflet
> to map them to the OSM base maps. Mostly, this is going really well, and
> I'm very pleased with the speed of development (I just started this
> morning) and results.
>
> However, I get this error:
>
>   Warning message:
> sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
> Need '+proj=longlat +datum=WGS84'
>
> I think I need to use st_transform, but can't get it to work.
>
> Here's a reproducible example, with some commented out lines of what
> I've tried:
>
> ## Reproducible example:
> library(tidyverse)
> library(tidycensus)
> library(leaflet)
> library(sf)
>
> rw_blocks <- c(3000, 3001, 3002, 3005, 3006, 3007, 3008, 3009, 3010, 3011)
>
> rw_pop <- get_decennial(
>      geography = "block",
>      variables = "P1_001N",
>      year = 2020,
>      state = "MD",
>      county = "Baltimore city",
>      geometry = TRUE
> ) %>%
>      filter(substr(GEOID, 6, 11) == "271101" &
>             substr(GEOID, 12, 15) %in% rw_blocks
>             ) ## %>% st_transform('+proj=longlat +datum=WGS8')
>
> (rw_pop_map <- rw_pop %>%
>      leaflet() %>%
>       ## st_transform('+proj=longlat +datum=WGS8') %>%
>      fitBounds(-76.616, 39.352, -76.610, 39.346) %>%
>      addTiles() %>%
>      addPolygons()
>      )
> ## Error occurs when executing above block
>
> Can anyone offer me a hint as to how to resolve this error?
>
> Thanks so much for any advice and guidance.
>
> -Kevin
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list