Если crs GeoDataFrame известны (EPSG: 4326 единица = градус, здесь), вам не нужны ни Shapely, ни pyproj в вашем скрипте, потому что GeoPandas их использует).
import geopandas as gpd
test = gpd.read_file("test_wgs84.shp")print test.crs
test.head(2)
Теперь скопируйте ваш GeoDataFrame и измените проекцию на декартову систему (EPSG: 3857, unit = m, как в ответе ResMar)
Ваш текст есть epsg:3857, но ваш код epsg:3395, какой из этих двух является правильным?
Алексей Билогур
4
.to_crsФункция переходит в руки в pyprojлюбом случае. Хороший пример равной площади проекции: proj4.org/projections/cea.html , который может быть передан следующим образом :.to_crs({'proj':'cea'})
Swier
По крайней мере, для шейп-файлов переписей США, я могу подтвердить, что они {'proj':'cea'}дают оценки ближайших районов.
Это преобразует геометрию в проекцию равной площади, выбирает shapelyплощадь (возвращается в m ^ 2) и отображает ее в км ^ 2 (этот последний шаг не является обязательным).
epsg:3857
, но ваш кодepsg:3395
, какой из этих двух является правильным?.to_crs
Функция переходит в руки вpyproj
любом случае. Хороший пример равной площади проекции: proj4.org/projections/cea.html , который может быть передан следующим образом :.to_crs({'proj':'cea'})
{'proj':'cea'}
дают оценки ближайших районов.Я верю да Следующее должно работать:
Это преобразует геометрию в проекцию равной площади, выбирает
shapely
площадь (возвращается в m ^ 2) и отображает ее в км ^ 2 (этот последний шаг не является обязательным).источник
epsg:3395
CRS гена . Благодарю.