Tim, thank you very much. Yes, tmap seems to be moving in the right direction for me. This is what I can do with it so far: ===================================== ## Trying with tmap: library(tidyverse) library(sf) library(tmap) library(terra) library(spData) library(spDataLarge) library(tigris) options(tigris_use_cache = TRUE) library(OpenStreetMap)
## Get an Open Street Map: rw_map <- openmap(nw, se, type = "osm", mergeTiles = TRUE) %>% openproj(projection = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") ## Get an example census map: rw_tract <- tracts(state = "MD", county = "Baltimore city", year = "2020") %>% filter(NAME == "2711.01") ttm() ## Quick Tmap; also works: qtm(rw_tract) ## Also works. _polygons combines _fill and _borders: tm_shape(rw_tract) + tm_polygons() ## Works: tm_shape(rw_tract) + tm_polygons(alpha = 0.2, col = "green") + tm_scale_bar() + tm_layout(title = "Radnor-Winston Neighborhood") + tm_basemap(server = "OpenStreetMap") ======================================= So, in that last example, I can plot the basemap from Open Street Maps with the Census tract on top of it. However, from what I've learned so far (just about 4 hours of study), tm_basemap() only works with interactive maps that are 'viewed' (in a browser as HTML) rather than plotted (printed). I don't understand why I can't just get the appearance I want without all the unwanted interactivity features. To take it a step further, I don't understand why I can't just plot both the basemap and the census tract with something like plot() (from ggplot) and sf. Thanks, again, Tim, for your suggestion. I think it's moving me in the right direction. -Kevin On 6/7/23 10:57, Howard, Tim G (DEC) wrote: > Kevin, > the tmap​ package might be what you are looking for. > > https://cran.r-project.org/web/packages/tmap/vignettes/tmap-getstarted.html > > https://cran.r-project.org/web/packages/tmap/index.html > > > Cheers, > Tim > > From: R-sig-Geo <r-sig-geo-boun...@r-project.org> on behalf of Kevin Zembower > via R-sig-Geo <r-sig-geo@r-project.org> > Sent: Monday, June 5, 2023 11:21 AM > To: r-sig-geo@r-project.org <r-sig-geo@r-project.org> > Subject: [R-sig-Geo] Adding Census polygons to OSM map? > > ATTENTION: This email came from an external source. Do not open attachments > or click on links from unknown senders or unexpected emails. > > > Hello, again, > > I've given up my work with leaflet, trying to map my neighborhood with > US Census boundaries. Even though it was quick and easy to add the > Census boundaries to the map, I couldn't create the labels I wanted (see > https://stat.ethz.ch/pipermail/r-sig-geo/2023-June/029284.html). Also, > it seems like leaflet added a lot of overhead that I didn't need, such > as interactive maps. I just need a color printed 2D map for my use. > > I'm now trying to work with tigris and OpenStreetMap, but I can't draw > the US Census boundaries on the OSM map. Here's what I have so far: > > ================================================== > ## Experiment, using sf: > library(tidyverse) > library(tigris) > options(tigris_use_cache = TRUE) > library(sf) > library(OpenStreetMap) > ## library(sp) > ## library(ggplot2) > > lat_max <- 39.3525 #Distance from 39.35 to 39.34 = 0.691mi > long_max <- -76.617 #Distance from -76.61 to -76.62 = 0.5343 mi > lat_min <- 39.3455 > long_min <- -76.6095 > nw <- c(lat_max, long_max) > se <- c(lat_min, long_min) > > rw_map <- openmap(nw, se, > type = "osm", > mergeTiles = TRUE) %>% > openproj() %>% > OpenStreetMap::autoplot.OpenStreetMap() + > xlab("long") + ylab("lat") > > rw_map > > rw_tract <- tracts(state = "MD", > county = "Baltimore city", > year = "2020") %>% > filter(NAME == "2711.01") > ## openproj() > ## st_transform('+proj=longlat +datum=WGS84') > ## spTransform('osm') > > OpenStreetMap::autoplot.OpenStreetMap(rw_tract, add = TRUE) > ================================================== > > The commented out sections show some of the things I've tried so far. > I'd like to be able to draw the rw_tract geometry data on the rw_map > image. What I'd like is a 'addPolygon()' function in OpenStreetMap, like > I found in leaflet. > > Can anyone offer me any suggestions or advice for accomplishing my task? > Thanks so much. > > -Kevin > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-geo _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo