我已经在谷歌地图中找到了一个矩形的地理纵向和纬度,我想将其重新缩放/转换为矩形。绘制长/纬度向我展示了一个平行四边形。我知道我需要转换坐标系,但我无法管理如何。
rectangle <- data.frame(cbind(c(-2.9496687,-2.9486079,-2.9490788,-2.9501396,-2.9496687),c(43.2646848,43.2641405, 43.2636538,43.2641981,43.2646848)))
colnames(rectangle) <- c("Lon","Lat")
plot(rectangle,t="l")
首先将数据框名称更改为x
并y
:
df<-data.frame(x=rectangle$Lon,y=rectangle$Lat)
然后将其转换为Polygon
对象:
library(raster)
a<-Polygon(df)
然后进入一个Polygons
对象(基本上是一个多边形列表(:
b<-Polygons(list(a),ID=1)
然后变成SpatialPolygons
c<-SpatialPolygons(list(b))
现在,您可以为此元素分配一个坐标参考系,在您的例子中是经度:
proj4string(c) <- CRS("+proj=longlat +datum=WGS84")
最后,在此之后,您可以转换它:
d<-spTransform(c, CRS("+init=epsg:26978")) #Just an example, you can use any crs instead of 'epsg:26978'
希望对您有所帮助。