我有两个空间对象,一个是空间多边形对象,另一个是我变成空间点对象的 .csv 文件。第一个是智利政府为其一个公社提供的官方形状文件,另一个是使用 HERE API 地理编码创建的同一公社的街道地址。
首先,我从以下位置加载空间多边形对象readOGR
:
quilpue <- readOGR( dsn= getwd() , layer="quilpue-rgdal",
encoding = "UTF-8")
coordinates()
然后我将 .csv 文件加载到 R 中,并使用包中的函数将其转换为空间点对象sp
。
pointsCoords<- read.csv("../quilpueR/quilpueLayer.csv", header = TRUE)
coordinates(pointsCoords) <- ~Longitude+Latitude
然后我检查了每个物体的投影。
proj4string(quilpue)
proj4string(pointsCoords)
"+proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
和NA
分别。
唯一有效的投影pointsCoords
是CRS("+init=epsg:3857")
. 因此,我将该投影分配给quilpue
proj4string(pointsCoords) <- CRS("+init=epsg:3857")
quilpue_prj <- spTransform(quilpue, CRSobj = CRS(proj4string(pointsCoords)))
extent()
尽管如此,当我使用from package检查两个对象的扩展时raster()
,它们不会重叠。
extent(quilpue_prj)
class : Extent
xmin : -7957703
xmax : -7946463
ymin : -3907594
ymax : -3898059
extent(pointsCoords)
class : Extent
xmin : -71498550
xmax : -71334950
ymin : -33133030
ymax : -32769810
因此,当我尝试将它们绘制在一起时,它们不会重叠。我只得到我选择绘制的第一个对象的情节。
plot(quilpue_prj)
plot(pointsCoords, add = TRUE)
为了检查 shapefile 或 .csv 文件是否存在问题,我在Maptitude
另一个 GIS 软件上打开了它们,它设法自动覆盖它们。我希望能够在 R 中做同样的事情。