0

我正在尝试将 geojson 文件打开到 geopandas 但收到以下错误消息:

 Traceback (most recent call last):
 File "C:\Users\arobe\Anaconda3\envs\test_env\lib\site-packages\geopandas\io\file.py", line 95, in read_file
 gdf = GeoDataFrame.from_features(f_filt, crs=crs, columns=columns)
 File "C:\Users\arobe\Anaconda3\envs\test_env\lib\site-packages\geopandas\geodataframe.py", line 283, in from_features
 for f in features_lst:
 File "fiona/ogrext.pyx", line 1369, in fiona.ogrext.Iterator.__next__
 File "fiona/ogrext.pyx", line 232, in fiona.ogrext.FeatureBuilder.build
 TypeError: startswith first arg must be bytes or a tuple of bytes, not str

geopandas的解决方案无法正确读取 geojson _ 对我不起作用,我尝试了各种编码方式。数据来自英国 MSOA 数据集 ( https://geoportal.statistics.gov.uk/datasets/f341dcfd94284d58aba0a84daf2199e9_2/geoservice?page=720 )。

数据下载正常,在 Tableau 中运行良好。在记事本++中打开它看起来也不错,所以它似乎不是数据问题,但我是新手,所以真的不知道我在做什么!

任何帮助将非常感激。

代码片段:

 gdf=gpd.read_file("https://opendata.arcgis.com/datasets/f341dcfd94284d58aba0a84daf2199e9_2.geojson")
 print(gdf.head(10))

 gdf.to_file("msoa.geojson", driver='GeoJSON')

 gdf2=gpd.read_file("msoa.geojson"
             ,driver='GeoJSON'
             )

 print(gdf2.head(10))
4

2 回答 2

1

我使用 geopandas v0.8.1、fiona v1.8.17 在 Linux 上运行您的代码。一切都好。简单的情节如下。

国标图

于 2020-12-06T17:14:37.443 回答
0

不知何故,下载的数据中发现有一些奇怪的字符。我手动删除了它们,因为它们用于我不感兴趣的区域,现在它可以工作了。在这里找到了解决方案https://github.com/geopandas/geopandas/issues/621

于 2020-12-07T17:17:43.407 回答