私は自分で問題を解決しようとしていますが、解決できませんでした。想像できるすべての形式でこのコードを実行しようとしています。ArcGISプロソフトウェアでは、他のどのエラーメッセージにもこのエラーメッセージはありません。問題。同様の問題から、いくつかのデータファイルが欠落している可能性があるようです?
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'
初期のcrs
は定義されていますか? epsgコマンドgdf.to_crs('epsg:4326')
のみを渡したときにのみ、同じ問題が発生しました。
あなたが示すように
_my_geoseries.crs = {'init' :'epsg:3857'}
_
最初のステップであり、次に変換する必要があります
gdf = gdf.to_crs({'init': 'epsg:4326'})
ArcGISで作業している場合は、プロパティで初期epsgが定義されているかどうかを確認することもできますか?
素晴らしい答えでしたありがとう
私はPycharmを使用しています。 Stone Shiの発言とDorregarayの発言を組み合わせて使用する必要がありました。
import pyproj
pyproj.Proj("+init=epsg:4326")
> RuntimeError: b'no arguments in initialization list'
Stone Shiによれば、上記はpyproj errであることを証明しています。だから私はPycharm-> Settingsを使用してpyprojを再インストールしました。その後
import pyproj
pyproj.Proj("+init=epsg:4326")
> RuntimeError: b'no arguments in initialization list'
だから、それはpyprojのエラーですbut Pycharm->設定pyprojを再インストールしても役に立ちません。
次に、C:\ Anaconda3\Lib\site-packages\pyproj\datadir.pyを以下から編集しました:
pyproj_datadir="C:/Anaconda3\share\proj"
ドレガレーの:
pyproj_datadir="C:\Anaconda3\Library\share"
次に、もう一度テストします。
import pyproj
pyproj.Proj("+init=epsg:4326")
>Process finished with exit code 0
ランタイムエラーなし!
次に、私のテスト
wgs84 = data.to_crs({'init': 'epsg:4269'})
>Process finished with exit code 0
Geopandasを使用して、それを試してください(それはうまくいくはずです):
gdf = gpd.GeoDataFrame(gdf, geometry=gdf['geometry'])
gdf.crs = {'init' :'epsg:2154'}
gdf = gdf.to_crs({'init' :'epsg:4326'})
Geodataframeを適切に再定義してから、最初のgeo参照を定義し、最後にそれを適切なものに変換する必要があります。ある場合は、必ずNaNを削除してください。