0

在计算多边形的面积时,与 google earth engine 或 geojson.io 相比,使用 shapely/pyproj 的结果大不相同。我认为这与投影有关,在研究它时,我发现了诸如(如何使用 Python 获得 GeoJSON 多边形的面积)之类的示例,这些示例建议使用 Alders 等面积投影,但这些似乎不是一个选项在 PyProj 的 2.1.3 版本中。我也想知道谷歌地球引擎和geojson.io是否有一种自动方式来选择区域适当的区域投影给定多边形的区域,但我不确定他们将如何选择这些。

例如:

coords = [(-97.59238135821987, 43.47456565304017),
 (-97.59244690469288, 43.47962399877412),
 (-97.59191951546768, 43.47962728271748),
 (-97.59185396090983, 43.47456565304017),
 (-97.59238135821987, 43.47456565304017)]

projection = partial(pyproj.transform, pyproj.Proj(init='epsg:4326'), pyproj.Proj(init='epsg:3857'))
shapely.ops.transform(projection, shapely.geometry.Polygon(sample_coords)).area

45573.993884405005返回m^2的面积。

Google Earth Engine 回归23944.14737277293,Geojson.io 回归23997.77

4

1 回答 1

1

我发现了这个问题,并用 shapely https://github.com/Toblerity/Shapely/issues/726提出了相应的 github 问题

简而言之,shapely 使用了一种不同的方法,其来源尚不清楚,而其他人则使用 JPL 论文中描述的方法。

于 2019-06-05T16:36:46.900 回答