ewkb 좌표를 Python의 관련 경도와 위도로 변환하려고합니다. ewkb 문자열은 한 열로 된 csv 파일 ("/home/nick/Documents/Sepi/WKB_coordinates_sing.csv")에 나열됩니다.wkb : 입력을 읽는 중 오류로 인해 형상을 만들 수 없습니다.
단순화를 위해 다른 열을 삭제했지만 결국 원래 데이터 세트를 사용하고 ewkb가있는 오른쪽 열만 읽고 싶습니다.
또한 수백만 줄의 파일과 처리 할 좌표가 있기 때문에 한 번에 한 줄씩 읽고 번역하고 싶습니다.
는 다음 코드 작성 : 그러나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.
, 나는 다음과 같은 코드를 실행하면 나는 위도와 경도를 얻을 수 있습니다 내 csv 파일의 첫 번째 16 진수 문자열을 wkb.loads의 인수로 사용합니다.
코드 :
,398,444,635,718,314,611,942,763,210결과 :
~$ python /home/nick/Documents/Sepi/ewkb.py
0101000020E610000072604C0D47AA37402C306475ABA85140
23.665146666666665 70.63546500000001
사전에 감사합니다!