RuntimeError: b'no аргументы в списке инициализации ' - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь решить свою проблему самостоятельно, но не могу, я пытаюсь запустить этот код в любом формате, который вы можете себе представить, и в программном обеспечении ArcGIS pro то же самое, я не могу найти это сообщение об ошибкев любом другом выпуске.Из аналогичных проблем, кажется, некоторые файлы данных могут отсутствовать?

import geopandas as gpd
import json
import numpy as np
from shapely.geometry import LineString, Point, box
import ast
from pyproj import Proj
paths = road_features.SHAPE.map(lambda x: np.array(ast.literal_eval(x)["paths"][0]))
pathLineStrings = paths.map(LineString)
gdf = gpd.GeoDataFrame(road_features,geometry=pathLineStrings)
#gdf.crs = {'init': 'epsg:3857'}
gdf.crs = {'init': 'epsg:4326'}
gdf = gdf.to_crs({'init': 'epsg:4326'})

я получаю эту ошибку

RuntimeError: b'no arguments in initialization list'

также я пробовал в Arcgis Pro я получилтот же

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\geopandas\geodataframe.py", line 443, in to_crs
    geom = df.geometry.to_crs(crs=crs, epsg=epsg)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\geopandas\geoseries.py", line 304, in to_crs
    proj_in = pyproj.Proj(self.crs, preserve_units=True)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\pyproj\__init__.py", line 362, in __new__
    return _proj.Proj.__new__(self, projstring)
  File "_proj.pyx", line 129, in _proj.Proj.__cinit__
RuntimeError: b'no arguments in initialization list'

Ответы [ 2 ]

1 голос
/ 19 мая 2019

, чтобы убедиться, что это ошибка Pyproj, а не геопанда.

import pyproj
pyproj.Proj("+init=epsg:4326")

Если вышеуказанная ошибка времени выполнения одинакова, мы можем быть уверены, что эта ошибка вызвана pyproj.

просто удалите pyproj и установите его с помощью pip.

pip install pyproj

по крайней мере, это работает для меня.

0 голосов
/ 28 марта 2019

Определен ли начальный crs?Я столкнулся с той же проблемой, только когда передал только команду epsg: gdf.to_crs('epsg:4326').

Как вы видите

my_geoseries.crs = {'init' :'epsg:3857'}

должен быть первым шагом, а затем преобразован в

gdf = gdf.to_crs({'init': 'epsg:4326'})

Если выработаете в ArcGIS, вы также можете проверить в свойствах, определен ли начальный epsg?

здорово, что был ответ, спасибо

...