Ошибка geoseries.to_crs () при использовании геопанд для вычисления расстояния - PullRequest
0 голосов
/ 07 мая 2019

Я хочу вычислить расстояние между двумя точками широты / логарифмирования, используя geopandas series.distance и измерить результат единицами измерения. Я знаю, что сначала я должен определить crs, но я несколько раз пытался использовать to_crs(),но он показывает ошибку: b'no arguments in initialization list' похоже, что функция никогда не работала.Кто-нибудь может помочь мне в этой проблеме?

def wgs84_to_CGCS2000(df,code):
    result=df.to_crs(from_epsg(code))
    return result
city=wgs84_to_CGCS2000(city,4549)
kfc=wgs84_to_CGCS2000(kfc,4549)
RuntimeError                              Traceback (most recent call last)
<ipython-input-42-c0d1c4e6af6a> in <module>
      2     result=df.to_crs(from_epsg(code))
      3     return result
----> 4 city=wgs84_to_CGCS2000(city,4549)
      5 kfc=wgs84_to_CGCS2000(kfc,4549)

<ipython-input-42-c0d1c4e6af6a> in wgs84_to_CGCS2000(df, code)
      1 def wgs84_to_CGCS2000(df,code):
----> 2     result=df.to_crs(from_epsg(code))
      3     return result
      4 city=wgs84_to_CGCS2000(city,4549)
      5 kfc=wgs84_to_CGCS2000(kfc,4549)

C:\ProgramData\Anaconda3\lib\site-packages\geopandas\geodataframe.py in to_crs(self, crs, epsg, inplace)
    441         else:
    442             df = self.copy()
--> 443         geom = df.geometry.to_crs(crs=crs, epsg=epsg)
    444         df.geometry = geom
    445         df.crs = geom.crs

C:\ProgramData\Anaconda3\lib\site-packages\geopandas\geoseries.py in to_crs(self, crs, epsg)
    302             except TypeError:
    303                 raise TypeError('Must set either crs or epsg for output.')
--> 304         proj_in = pyproj.Proj(self.crs, preserve_units=True)
    305         proj_out = pyproj.Proj(crs, preserve_units=True)
    306         project = partial(pyproj.transform, proj_in, proj_out)

C:\ProgramData\Anaconda3\lib\site-packages\pyproj\__init__.py in __new__(self, projparams, preserve_units, **kwargs)
    360         # on case-insensitive filesystems).
    361         projstring = projstring.replace('EPSG','epsg')
--> 362         return _proj.Proj.__new__(self, projstring)
    363 
    364     def __call__(self, *args, **kw):

_proj.pyx in _proj.Proj.__cinit__()

RuntimeError: b'no arguments in initialization list'
...