Tearing of polygons using ggmap & readOGR
Clip the state polygons with gIntersection. You cross-posted to StackOverflow & here so there's a complete answer there as it's more amenable to source code + commentary + images and will be around for quite a while despite what folks may opine about mailing lists. On Sun, Jan 31, 2016 at 8:03 PM, Tyler Frazier
<tyler.j.frazier at icloud.com> wrote:
Hi Roger, Thanks for your reply and pointers. I was looking for a simplified shapefile of American state boundaries and downloaded this one from ESRI, states_basic. https://www.arcgis.com/home/item.html?id=f7f805eb65eb4ab787a0a3e1116ca7e5 <https://www.arcgis.com/home/item.html?id=f7f805eb65eb4ab787a0a3e1116ca7e5> The .shp is only about 222 KB which was OK for plotting speed in R as well as its appearance. I tried states <- getData('GADM', country='USA', level=1) as well as the census state subdivisions, but the resolution seemed to be too much for R to handle in a plot. The states_basic file from ESRI plots just fine with plot(states) ? I think the summary() command returns what would be expected of a shapefile that was read into R as SPDF.
summary(states)
Object of class SpatialPolygonsDataFrame
Coordinates:
min max
x -178.21760 -66.96927
y 18.92179 71.40624
Is projected: FALSE
proj4string :
[+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0]
Data attributes:
STATE_NAME DRAWSEQ STATE_FIPS SUB_REGION STATE_ABBR
Alabama : 1 Min. : 1.0 01 : 1 South Atlantic : 9 AK : 1
Alaska : 1 1st Qu.:13.5 02 : 1 Mountain : 8 AL : 1
Arizona : 1 Median :26.0 04 : 1 West North Central: 7 AR : 1
Arkansas : 1 Mean :26.0 05 : 1 New England : 6 AZ : 1
California: 1 3rd Qu.:38.5 06 : 1 East North Central: 5 CA : 1
Colorado : 1 Max. :51.0 08 : 1 Pacific : 5 CO : 1
(Other) :45 (Other):45 (Other) :11 (Other):45
states at data
STATE_NAME DRAWSEQ STATE_FIPS SUB_REGION STATE_ABBR 0 Hawaii 1 15 Pacific HI 1 Washington 2 53 Pacific WA 2 Montana 3 30 Mountain MT etc? sounds like I need to look into exactly what is happening as part of the fortify() command in order to achieve some consistency of integrating SpatialPolygonsDataFrames with the ggmap() function. I may eventually go to tmap or mapview or perhaps leaflet, but have found ggplot:: / ggmap:: to be very useful packages (+geom_polygons, + geom_points etc?)and was hoping to keep working with their grammar of graphics. Tyler
On Jan 31, 2016, at 3:35 PM, Roger Bivand <Roger.Bivand at nhh.no> wrote: On Sun, 31 Jan 2016, Tyler Frazier wrote:
I'm trying to incorporate a simple shapefile of US states with ggmap and keep getting "tearing" of my polygons. I tried changing group=id to group=group which seemed to partially solve the problem, but not entirely.
library(rgdal)
states <- readOGR(dsn="shapefiles", layer="states")
proj4string(states)
[1] "+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0"
states <- spTransform(states, CRS("+proj=longlat +datum=WGS84"))
Unnecessary, as you should know from the +towgs84= tag.
states <- fortify(states)
The fortify methods turn data from marine animals with structure into fish soup (a data frame adding attribute values spuriously to each coordinate, I believe). Unless the objects are exactly as fortify wants them, it derails. Do you know that they were polygons? Where did the shapefile come from? Did you plot it? Did you check that it contained what you thought it contained (summary())? Have you considered alternatives (tmap, mapview, ...)?
sstates <- get_map(location = c(-81, 35, -69, 45), zoom = 4, maptype = "watercolor") sstates <- ggmap(sstates) sstates <- sstates + geom_polygon(aes(x = long, y = lat, group=group), data = states, color ="white", fill ="orangered4", alpha = .4, size = .2) Here is an image of the output. http://pasteboard.co/1d7kiRfw.png <http://pasteboard.co/1d7kiRfw.png>
Image posted OK, but posting HTML (unnecessary).
[[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
-- Roger Bivand Department of Economics, Norwegian School of Economics, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 91 00 e-mail: Roger.Bivand at nhh.no http://orcid.org/0000-0003-2392-6140 https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en http://depsy.org/person/434412
[[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo