我正在努力将类 File * fp;
char * buf[1024];
while(fscanf(fp, "%s[^-]s", buf) ==1){
if(buf == "City-"){
/*Do something here and read until you find next interesting word */
}
}
的对象转换为SpatialCollections
对象。
我的输入文件是shapefile和SpatialPolygonsDataFrame
对象。可以访问它们here。
我做两个对象的交集:
SpatialPolygonsDataFrame
结果是:
SPDF_A <- shapefile("SPDF_A")
SPDF_B <- shapefile("SPDF_B")
intersection <- gIntersection(gBuffer(SPDF_A, width=0), gBuffer(SPDF_B, width=0))
设置> intersection
class : SpatialCollections
或gBuffer(... , byid=T)
似乎没有什么区别。
为了避免几何问题(gBuffer(... , byid=F)
),我使用gIntersection
的{{1}}和gBuffer(... , width=0)
插图。
这是较大循环的一部分。我需要将交集设为intersect
,因为它将在接下来的步骤中另存为shp文件。
Self-intersection
这不可能从SpatialPolygonsDataFrame
对象开始。为了将此转换为writeOGR(intersection, ".", layer=paste0("Int_SPDF_A-SPDF_B"), driver="ESRI Shapefile")
,我尝试了:
SpatialCollections
没有任何效果。有人有解决方案吗?非常感谢!