在计算多边形的面积时,与Google Earth引擎或geojson.io相比,使用shapely / pyproj的结果截然不同。我认为这与投影有关,在研究投影时,我发现了示例(How do I get the area of a GeoJSON polygon with Python),这些示例建议使用Alders Equal Area投影,但在PyProj 2.1.3版本中似乎不可行。 。我还想知道google Earth engine和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
答案 0 :(得分:0)
我发现了问题,并用匀称的https://github.com/Toblerity/Shapely/issues/726
做出了相应的github问题。简而言之,shapely使用的是另一种方法,其起源尚不清楚,而其他方法则使用了JPL论文中描述的方法。