簡體   English   中英

無法使用geopandas轉換為墨卡托投影

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM