[英]Unable to translate to Mercator projection using geopandas
我試圖使用Geopandas和Matplotlib繪制西班牙地圖。 我正在使用您在下面看到的幾何圖形為地理坐標的GeoJSON文件(EPSG 4326)
我想在墨卡托投影中繪制地圖,但是當我嘗試使用時轉換單位
df.to_crs({'init': 'epsg:3395'})
我收到一條錯誤說:
RuntimeError: b'no arguments in initialization list'
我已按照http://geopandas.org/projections.html中的說明進行操作。 在那里它說如果地理數據框數據不計入CRS的信息,你必須定義它。 但這不是問題所在。
這是我到目前為止的代碼
import geopandas as gpd
%matplotlib inline
import matplotlib.pyplot as plt
geojson_url = 'https://raw.githubusercontent.com/codeforamerica/click_that_hood/master/public/data/spain-provinces.geojson'
df = gpd.read_file(geojson_url)
如果我運行以下命令:
df.crs
我收到以下回復(這意味着geopandas DataFrame有關於CRS的信息)
{'init': 'epsg:4326'}
然后
df = df.to_crs({'init': 'epsg:3395'})
返回錯誤
我錯過了什么? 提前致謝。
您似乎正在使用舊版本的geopandas和pyproj。 我建議升級到其中有效的新版本:
>>> import geopandas
>>> geopandas.__version__
'0.5.0'
>>> import pyproj
>>> pyproj.__version__
'2.2.0'
>>> geojson_url = 'https://raw.githubusercontent.com/codeforamerica/click_that_hood/master/public/data/spain-provinces.geojson'
>>> df = geopandas.read_file(geojson_url)
>>> df.crs
{'init': 'epsg:4326'}
>>> df2 = df.to_crs({'init': 'epsg:3395'})
>>> df2.crs
{'init': 'epsg:3395'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.