Использование геопанд на python для создания интерактивной карты

#python #dictionary #geopandas

Вопрос:

Я пытаюсь создать интерактивную карту, используя это руководство: Это

Я использую pycharm в среде anaconda, поэтому я не понимаю, когда помещаю свой файл .shp. Это пример кода:

 import geopandas as gpd
shapefile = 'data/countries_110m/ne_110m_admin_0_countries.shp'
#Read shapefile using Geopandas
gdf = gpd.read_file(shapefile)[['ADMIN', 'ADM0_A3', 'geometry']]
 

Это правильный мой каталог?

 C:UsersgpontPycharmProjectspythonProject2dataMapmap1ne_110m_admin_0_countries.shp
 

Ошибка:

 C:Usersgpontanaconda3envspythonProject2python.exe C:/Users/gpont/PycharmProjects/pythonProject2/main.py
Traceback (most recent call last):
  File "fiona/_shim.pyx", line 83, in fiona._shim.gdal_open_vector
  File "fiona/_err.pyx", line 270, in fiona._err.exc_wrap_pointer
fiona._err.CPLE_OpenFailedError: 'map1 e_110m_admin_0_countries.shp' does not exist in the file system, and is not recognized as a supported dataset name.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/gpont/PycharmProjects/pythonProject2/main.py", line 6, in <module>
    gdf = gpd.read_file(shapefile)[['ADMIN', 'ADM0_A3', 'geometry']]
  File "C:Usersgpontanaconda3envspythonProject2libsite-packagesgeopandasiofile.py", line 96, in _read_file
    with reader(path_or_bytes, **kwargs) as features:
  File "C:Usersgpontanaconda3envspythonProject2libsite-packagesfionaenv.py", line 398, in wrapper
    return f(*args, **kwargs)
  File "C:Usersgpontanaconda3envspythonProject2libsite-packagesfiona__init__.py", line 253, in open
    c = Collection(path, mode, driver=driver, encoding=encoding,
  File "C:Usersgpontanaconda3envspythonProject2libsite-packagesfionacollection.py", line 154, in __init__
    self.session.start(self, **kwargs)
  File "fiona/ogrext.pyx", line 484, in fiona.ogrext.Session.start
  File "fiona/_shim.pyx", line 90, in fiona._shim.gdal_open_vector
fiona.errors.DriverError: 'map1 e_110m_admin_0_countries.shp' does not exist in the file system, and is not recognized as a supported dataset name.

Process finished with exit code 1
 

Заранее спасибо.

Giovanni

Комментарии:

1. вы пробовали использовать абсолютный путь gpd.read_file(r"C:UsersgpontPycharmProjectspythonProject2dataMapmap1ne_110m_admin_0_countries.shp") ?

2. да, сейчас ошибки нет, нулевой код выхода-это успешный запуск @giovanni-pontonio, есть ли какой-либо другой код после этого, тогда он будет запущен, для фрагмента, который вы показали, код заканчивается после чтения файла

3. Если я использую это: import geopandas as gpd # Read shapefile using Geopandas gdf = (gpd.read_file(r"C:UsersgpontPycharmProjectspythonProject2dataMapmap1ne_110m_admin_0_countries.shp"))[['ADMIN', 'ADM0_A3', 'geometry']] # Rename columns gdf.columns = ['country', 'country_code', 'geometry'] gdf.head() Я не получаю никаких выходных данных, только: Процесс завершен с кодом выхода 0

4. если вы используете pycharm, вам необходимо распечатать вывод, print(gdf.head())

Ответ №1:

Похоже, у вас n на пути есть a, который интерпретируется как символ новой строки. (Обратите внимание на отсутствие n в 'map1 e_110m_admin_0_countries.shp' does not exist )

Попробуй

 import os
...
gpd.read_file(os.path.normpath(shapefile))