r语言 - 如何将以地理经纬度 ('WGS84') 投影的矩形表示为一个规则矩形?



我已经在谷歌地图中找到了一个矩形的地理纵向和纬度,我想将其重新缩放/转换为矩形。绘制长/纬度向我展示了一个平行四边形。我知道我需要转换坐标系,但我无法管理如何。

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")

首先将数据框名称更改为xy

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'

希望对您有所帮助。

最新更新