Я не могу открыть файл формы, я получил сообщение об ошибке

#python-3.x

#python-3.x

Вопрос:

 Narayani=gpd.read_file(r"D:Master_thesisNaryani_arcgisFinal_watershed_indivuallyNarayani\Narayani.shp")
 

Ошибка:

 Traceback (most recent call last):
  File "<ipython-input-3-cb8bd979bbfd>", line 1, in <module>
   Narayani=gpd.read_file(r"D:Master_thesisNaryani_arcgisFinal_watershed_indivuallyNarayani\Narayani.shp")
  File "C:UsersUSERanaconda3libsite-packagesgeopandasiofile.py", line 139, in _read_file
    return GeoDataFrame.from_features(
  File "C:UsersUSERanaconda3libsite-packagesgeopandasgeodataframe.py", line 432, in from_features
    return GeoDataFrame(rows, columns=columns, crs=crs)
  File "C:UsersUSERanaconda3libsite-packagesgeopandasgeodataframe.py", line 122, in __init__
    self["geometry"] = _ensure_geometry(self["geometry"].values, crs)
  File "C:UsersUSERanaconda3libsite-packagesgeopandasgeodataframe.py", line 42, in _ensure_geometry
    out = from_shapely(data, crs=crs)
  File "C:UsersUSERanaconda3libsite-packagesgeopandasarray.py", line 166, in from_shapely
    return GeometryArray(vectorized.from_shapely(data), crs=crs)
  File "C:UsersUSERanaconda3libsite-packagesgeopandasarray.py", line 281, in __init__
    self.crs = crs
  File "C:UsersUSERanaconda3libsite-packagesgeopandasarray.py", line 300, in crs
    self._crs = None if not value else CRS.from_user_input(value)
  File "C:UsersUSERanaconda3libsite-packagespyprojcrscrs.py", line 440, in from_user_input
    return CRS(value, **kwargs)
  File "C:UsersUSERanaconda3libsite-packagespyprojcrscrs.py", line 296, in __init__
    super().__init__(projstring)
  File "pyproj/_crs.pyx", line 2302, in pyproj._crs._CRS.__init__
CRSError: Invalid projection: epsg:4326: (Internal Proj Error: proj_create: cannot build geodeticCRS 4326: SQLite error on SELECT extent.description, extent.south_lat, extent.north_lat, extent.west_lon, extent.east_lon, scope.scope, (CASE WHEN scope.scope LIKE '%large scale%' THEN 0 ELSE 1 END) AS score FROM usage JOIN extent ON usage.extent_auth_name = extent.auth_name AND usage.extent_code = extent.code JOIN scope ON usage.scope_auth_name = scope.auth_name AND usage.scope_code = scope.code WHERE object_table_name = ? AND object_auth_name = ? AND object_code = ? ORDER BY score, usage.auth_name, usage.code: no such table: usage)
 

Ответ №1:

Столкнулся с той же проблемой.

В моем случае у меня были (каким-то образом) pyproj установлены конфликтующие версии — одна из pip и одна из conda.

Вы можете проверить, является ли это проблемой с:

 $ conda list pyproj

$ pip list | findstr pyproj
 

Номера версий должны быть одинаковыми.

Я удалил оба и переустановил geopandas (из conda-forge). Версия, которая работала для меня, была pyproj 2.6.1.post1 и geopandas 0.8.2 .

 $ pip uninstall pyproj
$ conda remove pyproj
$ conda install -c conda-forge geopandas -y
 

Затем он может прочитать файл, как и ожидалось, без проблем.