ewkb座標をPythonの関連する経度と緯度に変換しようとしています。 ewkb文字列は、1列のcsvファイル( "/home/nick/Documents/Sepi/WKB_coordinates_sing.csv"という名前)にリストされています。wkb:入力を読み取っているときにエラーが原因でジオメトリを作成できませんでした
わかりやすくするために他の列を削除しましたが、最終的に元のデータセットを使用して、右の列だけをewkbで読みたいと思います。
さらに、私は何百万行ものファイルと処理のための座標を持っているので、一度に1行を読み込んで翻訳したいと思います。
Iは、次のコードを書いた:
from shapely import wkb
with open ("/home/nick/Documents/Sepi/WKB_coordinates_sing.csv") as f:
for line in f:
hexloc=f.readline()
print(hexloc)
point=wkb.loads(hexloc,hex=True)
print(point.x,point.y)
私はそれを実行するときしかし、私は、次を得る:
~$ python /home/nick/Documents/Sepi/ewkb.py
0101000020E610000072604C0D47AA37402C306475ABA85140
ParseException: Premature end of HEX string
Traceback (most recent call last):
File "/home/nick/Documents/Sepi/ewkb.py", line 7, in <module>
point=wkb.loads(hexloc,hex=True)
File "/home/nick/anaconda3/lib/python3.6/site-packages/shapely/wkb.py", line 14, in loads
return reader.read_hex(data)
File "/home/nick/anaconda3/lib/python3.6/site-packages/shapely/geos.py", line 409, in read_hex
"Could not create geometry because of errors "
shapely.errors.WKBReadingError: Could not create geometry because of errors while reading input.
私は、次のコードを実行する場合しかし、私は、経度と緯度を取得することができます
コード:
01 wkb.loadsの引数としての私のcsvファイルから最初の16進文字列で結果:
~$ python /home/nick/Documents/Sepi/ewkb.py
0101000020E610000072604C0D47AA37402C306475ABA85140
23.665146666666665 70.63546500000001
は、事前にありがとうございます!