Jeśli znany jest crs GeoDataFrame (EPSG: 4326 jednostka = stopień, tutaj), nie potrzebujesz Shapely ani pyproj w swoim skrypcie, ponieważ używa go GeoPandas).
import geopandas as gpd
test = gpd.read_file("test_wgs84.shp")print test.crs
test.head(2)
Teraz skopiuj GeoDataFrame i zmień rzut na system kartezjański (EPSG: 3857, jednostka = m jak w odpowiedzi ResMar)
Twój tekst jest epsg:3857, ale kod brzmi epsg:3395, który z tych dwóch jest poprawny?
Aleksey Bilogur
4
Tak czy inaczej .to_crsfunkcja zostaje przekazana pyproj. Dobry przykład rzutu równego obszaru: proj4.org/projections/cea.html, który można przekazać w następujący sposób:.to_crs({'proj':'cea'})
Świer
Przynajmniej dla plików kształtowych Traktu ze Spisu Powszechnego, mogę potwierdzić, że {'proj':'cea'}dają one najbliższe oszacowania powierzchni.
Konwertuje geometrię na rzut o jednakowym obszarze, pobiera shapelyobszar (zwrócony wm ^ 2) i odwzorowuje go na km ^ 2 (ten ostatni krok jest opcjonalny).
epsg:3857
, ale kod brzmiepsg:3395
, który z tych dwóch jest poprawny?.to_crs
funkcja zostaje przekazanapyproj
. Dobry przykład rzutu równego obszaru: proj4.org/projections/cea.html, który można przekazać w następujący sposób:.to_crs({'proj':'cea'})
{'proj':'cea'}
dają one najbliższe oszacowania powierzchni.Wierzę tak. Następujące powinny działać:
Konwertuje geometrię na rzut o jednakowym obszarze, pobiera
shapely
obszar (zwrócony wm ^ 2) i odwzorowuje go na km ^ 2 (ten ostatni krok jest opcjonalny).źródło
epsg:3395
CRS genu . Dzięki.