我有一个多边形的shapefile和另一个CSV文件,其中包含(Lat,Lng)对点列表。
我想检查CSV文件中每个(纬度,经度)对属于哪个多边形。
shapefile被投影,proj文件的内容如下:
PROJCS["Transverse_Mercator",GEOGCS["GCS_OSGB 1936",
DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",49],PARAMETER["central_meridian",-2],PARAMETER["scale_factor",0.9996012717],PARAMETER["false_easting",400000],PARAMETER["false_northing",-100000],UNIT["Meter",1]]
我的计划如下:
- 使用
readShapePoly
RMapTools
包中的函数读取shapefile 。 - 将点坐标从CSV文件读取到数据框中,然后将其转换为SpatialPointsDataFrame
- 使用
over
函数确定其落入哪个多边形。
为此,我需要proj4string
在第1步中加载shapefile 的同时指定时间,并在使用第3步中的spTransform
功能之前,先使用函数将CSV文件中的坐标转换为相同的投影系统over
,因为它要求点和多边形必须在同一投影系统下。
是否知道上面显示的proj文件内容的正确值是什么?
readOGR
功能加载形状文件时,总是出现无法打开文件错误
summary
函数为SpatialPolygonDataFrame
我提供了正确的值proj4string