我想将一个shapefile (包括.shp文件和相关文件,可以在这里下载) 子集到另一个由一组坐标边界限定的shapefile中,比如在longs [80,90] 和 lats [20,30]之间,并将其作为另一个shapefile输出。如果我使用maptools
包:
df = readShapeLines("/path/asia_rivers.shp")
然后用as.data.frame(df)
查看文件结构,我找不到任何明显的按坐标子集的方法。我 可以 使用PBSmapping
包进行子集操作:
df = importShapefile("/path/asia_rivers.shp")
df_sub = subset(df, X>=80 & X<=90 & Y >=20 & Y <=30)
但是我似乎无法将其强制转换为可通过maptools
中的writeSpatialShape()
导出的SpatialLines
数据框。我一直收到这个错误:Error in PolySet2SpatialLines(df_sub) : unknown coordinate reference system
。我肯定是缺少非常基本的东西,应该有一种简单的方法可以通过地理坐标来对地理数据进行子集划分吗?