地球球的经纬度范围分别为[-180, 180]和[-90, 90]。我想获得 0.5 度 * 0.5 度(赤道周围区域)的等面积网格。随着接近极点时失真增加。网格应具有相同的纬度范围但不同的经度范围。
我应该怎么做?
首先,如果按字面解释,您所要求的内容是不可能的,原因有三个。一,一个完美球体的表面面积大约是赤道30'(三十秒,或半度)部分面积乘以30'的面积的82506.97413。由于这不是整数,因此您不能将曲面划分为该大小的整数个区域。二、如果你把纬度跨度限制为相等,那么不同纬度的环必然有不同的段数,所以你不能做一个网格。不同环中段的边缘不能重合。第三,地球不是一个完美的球体,球体上等面积的区域不会映射到地球上的等面积。地球上的缺陷会阻止我们知道每个区域的面积(这些区域会随着地表的变化而变化)。
假设您真正想要的是一个不是网格的近似解,我建议您检查Google 搜索结果中的“将球体划分为相等的区域”</a>。最重要的结果之一是这篇论文,其中图 1.1 似乎显示了一个球体,该球体被划分为纬度跨度相似、可能相等但经度跨度不同的区域。另一个结果是这个页面,这是一个用于探索球体分区的 Matlab 包。
您正试图在地球表面上放置等面积的瓷砖,其范围固定,就像迪斯科球上的镜子一样。
因此,如果您从赤道开始使用 0.5 度 * 0.5 度的瓦片,那么您向北或向南的下一个瓦片的经度范围为 0.5 度/cos(0.5 度)以具有相同的面积,因此略高于 0.5 度。使用该图块,您无法用整数个图块填充整个圆圈。
在极点处结束,您的瓷砖经度范围将是 0.5deg/cos(89.5deg) = 59,29..deg,这也不完全适合 360degs。
如果你减小瓷砖的尺寸,你可能会有一个可以接受的小错误,但没有真正的“网格”,因为来到两极总是会有比赤道少的瓷砖。
也许像“等面积地图投影”这样的东西可能会有所帮助?http://en.wikipedia.org/wiki/Map_projection#Equal-area
这里有两种可能的解决方案(R中的公式):
lat<-seq(-89.75,89.75,by=0.5)
r<-(111*10^3*0.5)*(111*10^3*0.5)*cos(lat*pi/180)
ER<-6371*1000
r2<-(ER^2)*(0.5*pi/180)^2*cos(lat*pi/180)