AttributeError: 'CRS' object has no attribute 'equals'
AttributeError: 'CRS' object has no attribute 'equals'
我正在尝试使用默认数据集使用 Geopandas 制作交互式地图。
countries.to_crs(epsg=3395)
countries.explore(column='pop_est',cmap='magma')
现在我得到以下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-27-92f1397b09bf> in <module>
1 #Popultion mapping- Interactive
2 countries.to_crs(epsg=3395)
----> 3 countries.explore(column='pop_est',cmap='magma')
~\anaconda3\envs\myenv\lib\site-packages\geopandas\geodataframe.py in explore(self, *args, **kwargs)
1856 def explore(self, *args, **kwargs):
1857 """Interactive map based on folium/leaflet.js"""
-> 1858 return _explore(self, *args, **kwargs)
1859
1860 def sjoin(self, df, *args, **kwargs):
~\anaconda3\envs\myenv\lib\site-packages\geopandas\explore.py in _explore(df, column, cmap, color, m, tiles, attr, tooltip, popup, highlight, categorical, legend, scheme, k, vmin, vmax, width, height, categories, classification_kwds, control_scale, marker_type, marker_kwds, style_kwds, highlight_kwds, missing_kwds, tooltip_kwds, popup_kwds, legend_kwds, **kwargs)
283 kwargs["crs"] = "Simple"
284 tiles = None
--> 285 elif not gdf.crs.equals(4326):
286 gdf = gdf.to_crs(4326)
287
AttributeError: 'CRS' object has no attribute 'equals'
我该如何解决这个问题?
您的环境中安装了过时版本的 pyproj。您至少需要 pyproj 2.5.0。 GeoPandas 0.10.x 包含安装 bug 允许您安装旧版本,但这不起作用。更新你的 pyproj。
conda update pyproj
或
pip install -U pyproj
另外,请注意上面代码段中的 countries.to_crs(epsg=3395)
行没有执行任何操作。它不起作用。您需要分配重新投影的 GeoDataFrame 或使用关键字。但请记住,这对 explore
没有影响,因为它会自动将几何图形重新投影到 Web Mercator。
countries.to_crs(epsg=3395, inplace=True)
# or
countries = countries.to_crs(epsg=3395)
我正在尝试使用默认数据集使用 Geopandas 制作交互式地图。
countries.to_crs(epsg=3395)
countries.explore(column='pop_est',cmap='magma')
现在我得到以下错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-27-92f1397b09bf> in <module>
1 #Popultion mapping- Interactive
2 countries.to_crs(epsg=3395)
----> 3 countries.explore(column='pop_est',cmap='magma')
~\anaconda3\envs\myenv\lib\site-packages\geopandas\geodataframe.py in explore(self, *args, **kwargs)
1856 def explore(self, *args, **kwargs):
1857 """Interactive map based on folium/leaflet.js"""
-> 1858 return _explore(self, *args, **kwargs)
1859
1860 def sjoin(self, df, *args, **kwargs):
~\anaconda3\envs\myenv\lib\site-packages\geopandas\explore.py in _explore(df, column, cmap, color, m, tiles, attr, tooltip, popup, highlight, categorical, legend, scheme, k, vmin, vmax, width, height, categories, classification_kwds, control_scale, marker_type, marker_kwds, style_kwds, highlight_kwds, missing_kwds, tooltip_kwds, popup_kwds, legend_kwds, **kwargs)
283 kwargs["crs"] = "Simple"
284 tiles = None
--> 285 elif not gdf.crs.equals(4326):
286 gdf = gdf.to_crs(4326)
287
AttributeError: 'CRS' object has no attribute 'equals'
我该如何解决这个问题?
您的环境中安装了过时版本的 pyproj。您至少需要 pyproj 2.5.0。 GeoPandas 0.10.x 包含安装 bug 允许您安装旧版本,但这不起作用。更新你的 pyproj。
conda update pyproj
或
pip install -U pyproj
另外,请注意上面代码段中的 countries.to_crs(epsg=3395)
行没有执行任何操作。它不起作用。您需要分配重新投影的 GeoDataFrame 或使用关键字。但请记住,这对 explore
没有影响,因为它会自动将几何图形重新投影到 Web Mercator。
countries.to_crs(epsg=3395, inplace=True)
# or
countries = countries.to_crs(epsg=3395)