Расчет площади Shapely / PyProj не соответствует ни Google Earth Engine, ни Geojson.io - PullRequest
0 голосов
/ 04 июня 2019

При расчете площади для многоугольника результат с использованием shapely / pyproj кардинально отличается от Google Earth Engine или geojson.io. Я подумал, что это как-то связано с проекцией, и, глядя на это, я нашел примеры, такие как ( Как получить площадь многоугольника GeoJSON с Python ), которые предлагают проекции равных площадей Альдерса, но не Похоже, вариант в версии 2.1.3 PyProj. Мне также интересно, есть ли у 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 м ^ 2.

Google Earth Engine возвращает 23944.14737277293, а Geojson.io возвращает 23997.77

1 Ответ

0 голосов
/ 05 июня 2019

Я обнаружил проблему и сделал соответствующую проблему GitHub с shapely https://github.com/Toblerity/Shapely/issues/726

Короче говоря, shapely использует другой метод, происхождение которого неясно, а другие используют метод, описанный изБумага JPL.

...