मैंने रोमन लुसट्रिक द्वारा पोस्ट किए गए लिंक पर पीछा किया, और निम्नलिखित उत्तर http://r-sig-geo.2731867.n2.nabble.com/suggestion-to-MERGE-or-UNION-3-shapefiles-td5914413.html#a5916751 का मामूली संशोधन है।
निम्नलिखित कोड आपको Census 2000 5-Digit ZIP Code Tabulation Areas (ZCTAs) Cartographic Boundary Files से प्राप्त .shp
फ़ाइलों को मर्ज करने और उन्हें साजिश करने की अनुमति देगा।
इस मामले में, मैंने .shp
फ़ाइलों को डाउनलोड किया और .dbf
और .shx
मैसाचुसेट्स, न्यू हैम्पशायर और मेन के लिए फाइलें डाउनलोड कीं।
library('maptools')
library('rgdal')
setwd('c:/location.of.shp.files')
# this location has the shapefiles for zt23_d00 (Maine), zt25_d00 (Mass.), and zt33_d00 (New Hampshire).
# columns.to.keep
# allows the subsequent spRbind to work properly
columns.to.keep <- c('AREA', 'PERIMETER', 'ZCTA', 'NAME', 'LSAD', 'LSAD_TRANS')
files <- list.files(pattern="*.shp$", recursive=TRUE, full.names=TRUE)
uid <-1
# get polygons from first file
poly.data<- readOGR(files[1], gsub("^.*/(.*).shp$", "\\1", files[1]))
n <- length(slot(poly.data, "polygons"))
poly.data <- spChFIDs(poly.data, as.character(uid:(uid+n-1)))
uid <- uid + n
poly.data <- poly.data[columns.to.keep]
# combine remaining polygons with first polygon
for (i in 2:length(files)) {
temp.data <- readOGR(files[i], gsub("^.*/(.*).shp$", "\\1",files[i]))
n <- length(slot(temp.data, "polygons"))
temp.data <- spChFIDs(temp.data, as.character(uid:(uid+n-1)))
temp.data <- temp.data[columns.to.keep]
uid <- uid + n
poly.data <- spRbind(poly.data,temp.data)
}
plot(poly.data)
# save new shapefile
combined.shp <- 'combined.shp'
writeOGR(poly.data, dsn=combined.shp, layer='combined1', driver='ESRI Shapefile')
यह लिंक (http://r-sig-geo.2731867.n2.nabble.com/suggestion-to-MERGE-or-UNION-3-shapefiles-td5914413.html#a5916751) विलय पर। स्थानिक डेटा को संभालने के लिए नाबल संग्रह एक सोने की खान होना चाहिए। –
एमएमएम ... पता नहीं था आर-सिग-भू ने इसे नाबल पर बना दिया था। दुर्भाग्यपूर्ण है कि इसे अन्य आर मंचों के साथ समूहीकृत नहीं किया गया है। – Sharpie
मुझे यह महसूस करने के लिए जीआईएस के लगभग पांच साल लगे लेकिन ... यह "choropleth" नहीं है "chloropleth" –