Ggmap का उपयोग करते हुए, मैं कुछ स्थान बिंदुओं वाले मानचित्र पर एक आकृति से नगर पालिका सीमाओं (बहुभुज) को शामिल करना चाहता हूं। बहुभुज की साजिश को छोड़कर यह स्क्रिप्ट सब कुछ करती है:
library(rgdal)
library(ggmap)
# Get shapefile with Drammen municipality borders
tmpzip<-tempfile()
tmpdir<-tempfile()
dir.create(tmpdir)
download.file("http://www.kartverket.no/Documents/Kart/N50-N5000%20Kartdata/33_N5000_shape.zip",tmpzip)
unzip(tmpzip, exdir=tmpdir)
kommune <- readOGR(dsn=tmpdir, layer="NO_AdminOmrader_pol")
kommune<-kommune[kommune$NAVN=="Drammen",]
kommune<-spTransform(kommune, CRS("+init=epsg:4326"))
# Get location point data
subscr<-data.frame(lon=c(10.1237,10.2161,10.2993),lat=c(59.7567,59.7527,59.6863), pop=c(58,12,150))
coordinates(subscr)<-~lon+lat
proj4string(subscr)<-CRS("+init=epsg:4326")
lon <- c(10.0937,10.3293)
lat <- c(59.7916,59.6563)
map <- get_map(location = c(lon[1], lat[2], lon[2], lat[1]),
maptype = "roadmap", source = "osm", zoom = 11)
p <- ggmap(map) +
geom_point(data = as.data.frame(subscr), aes(x = lon, y = lat, size=pop),
colour = "darkgreen") +
theme_bw()
print(p)
मैं आकृति से बहुभुज की साजिश कैसे कर सकता हूं? मैंने निम्नलिखित के साथ दूसरी अंतिम पंक्ति को प्रतिस्थापित करने की कोशिश की है:
p <- ggmap(map) +
geom_point(data = as.data.frame(subscr), aes(x = lon, y = lat, size=pop),
colour = "darkgreen") +
geom_polygon(data = as.data.frame(kommune)) +
theme_bw()
लेकिन तब मुझे निम्नलिखित त्रुटि मिलती है:
Error: Aesthetics must be either length 1 or the same as the data (1): x, y