我是第一次在R中使用空间数据和多边形。
我有两个不同的多边形形状文件,这些形状文件是从谷歌地球中提取的。因此,第一个形状文件是一个位置(例如购物中心等),而第二个形状文件是第一个位置周围三公里的半径。我将两个形状文件都读入R作为SpatialPolygonsDataFrames。我使用以下代码:
library(maptools)
library(sp)
library(spatstat)
options(digits=10)
# Read polygon a
a <- readShapeSpatial(file.choose())
class(a)
spatstat.options(checkpolygons=FALSE)
r <- slot(a,"polygons")
r <- lapply(r, function(a) { SpatialPolygons(list(a)) })
windows <- lapply(r, as.owin)
Ploy_One <- tess(tiles=windows)
# Read polygon b
b <- readShapeSpatial(file.choose())
class(b)
spatstat.options(checkpolygons=FALSE)
s <- slot(b,"polygons")
s <- lapply(s, function(b) { SpatialPolygons(list(b)) })
windows <- lapply(s, as.owin)
Poly_Two <- tess(tiles=windows)
# Read polygon b
Combined_Region <- intersect.tess(Poly_One, Poly_Two)
plot(Combined_Region)
然而,我无法得到两个多边形的组合视图(即一个多边形在另一个内部的视图)。
如果有人能给我一些建议,告诉我如何在R中编写将两个多边形区域合并为单个多边形区域的代码,我将不胜感激!
poly
,那么实际文件将是ploy.shp、poly.dbf、poly.shx
等。您需要将所有这些文件收集到一个 zip 文件中,并为 Polygon_One 和 Polygon_Two 发布该文件。 - jlhoward