3

基本上,我想知道 0.25°lat x 0.25°lon 补丁在世界各地的各种多边形中拟合了多少次。后者的尺寸约为 3°lat x 10°lon 或 2°lat x 4°lon。

我有多边形角的纬度/经度值,我正在计算它们的面积,如下所示:

from pyproj import Proj
from shapely.geometry import shape

def getArea(coords):
    c = {"type": "Polygon",
    "coordinates": [[ (coords[0], coords[2]), (coords[1], coords[2]),
                      (coords[0], coords[3]), (coords[1], coords[3]) ]]}
    lon, lat = zip(*c['coordinates'][0])
    pro = Proj("+proj=aea")
    x, y = pro(lon, lat)
    poly = {"type": "Polygon", "coordinates": [zip(x, y)]}
    return shape(cop).area

我从这里采用了方法:如何使用 python 计算地球表面多边形的面积?

现在的问题是,我应该选择哪个等面积投影以使多边形具有可比较的面积大小。在这样的投影中,无论它位于地球上的哪个位置,小斑块的面积总是相同的。

采用阿尔伯斯等面积投影 (aea) 可得出三个多边形的这些区域:

  1. 240993868.90978813
  2. 699931593.1047173
  3. 212092562.5238676

采用 Lambert 方位角等面积投影 (laea) 得到相同多边形的这些区域:

  1. 148709452.69292444
  2. 409253749.5468254
  3. 106218747.36092758

为什么两个投影中的面积关系不同?前 1:3 = 0.344;第二个 1:3 = 0.363;它们应该是相同的,因为它们都是相等的面积投影?!

这让我想知道将小补丁与任一投影中的多边形区域进行比较是否合法。你有什么建议吗?

4

1 回答 1

2

如果您关心实际的相对面积,计算瓷砖不会给您正确的答案。如果您需要实际的表面积,请使用椭球或球面几何,或下面的想法。

蛮力矢量方法:将全球 0.25 度网格生成为多边形,与多边形相交,计算结果。每个多边形可以是笛卡尔正方形或实际的椭圆正方形。为每个图块创建自定义理想投影,然后计算面积并将其存储为每个图块的属性。你只需要这样做一次:)

于 2012-11-03T09:34:32.430 回答