使用 sp::Polygon@labpt 的意外质心计算
Unexpected centroid calculations using sp::Polygon@labpt
我最近在为一个地图项目计算质心,我注意到了一些可疑的位置。例如,日本的 labpt
输出远远超出其纬度范围。我的第一个问题是这里发生了什么?我的第二个问题是是否有一个很好的质心计算替代方案可以正确获得质心。
library(sp)
library(maps)
japan <- map_data("world",region="japan")
> max(japan$lat)
[1] 45.50952
> min(japan$lat)
[1] 24.26606
max(japan$long)
[1] 145.833
min(japan$long)
[1] 123.6789
# note 63 is calculated Latitude for Japan
sp::Polygon(japan[c("long","lat")])@labpt
[1] 130.32951 63.62904
经过一些谷歌搜索,我得出了以下结论:
library(rgeos)
rgeos::gCentroid(SpatialPoints(japan[c('long','lat')]))
SpatialPoints:
x y
1 135.2924 35.47393
我最近在为一个地图项目计算质心,我注意到了一些可疑的位置。例如,日本的 labpt
输出远远超出其纬度范围。我的第一个问题是这里发生了什么?我的第二个问题是是否有一个很好的质心计算替代方案可以正确获得质心。
library(sp)
library(maps)
japan <- map_data("world",region="japan")
> max(japan$lat)
[1] 45.50952
> min(japan$lat)
[1] 24.26606
max(japan$long)
[1] 145.833
min(japan$long)
[1] 123.6789
# note 63 is calculated Latitude for Japan
sp::Polygon(japan[c("long","lat")])@labpt
[1] 130.32951 63.62904
经过一些谷歌搜索,我得出了以下结论:
library(rgeos)
rgeos::gCentroid(SpatialPoints(japan[c('long','lat')]))
SpatialPoints:
x y
1 135.2924 35.47393