그래서 matplotlib basemap에 표시하기 위해 python으로 shapefile을 읽으려고합니다. 내가 읽은 바로는 오류shapefile을 읽을 때 Matplotlib Basemap의 오류에 대해 dbf 파일에서 null 값을 제거합니다.
ValueError: invalid literal for int() with base 10: '*'
가 계속, 오류가 DBF 파일의 일부 필드의 일부 null 값과 관련된 것으로 보인다. 이 문제를 해결하기위한 대안이나 대안이 있는지 궁금합니다.
Basmap을 사용하지 않고 matplotlib 또는 mpl_toolkits에 shapefiles를 보낼 수 없지만 basemap이 계속 이러한 오류를 표시합니다. 여기
은 몇 가지 예제 코드입니다.from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(12, 12))
map = Basemap(projection='lcc', resolution='h', area_thresh=None,
lat_0=33.5130, lon_0=36.2920, llcrnrlon=36, llcrnrlat=33.2,
urcrnrlon=36.5, urcrnrlat=33.7)
map.readshapefile('dmc_buildings', 'buildings', drawbounds=True)
fig.show()
오류 추적은 다음과 같습니다.
Traceback (most recent call last):
File "dmc_gis_basemap.py", line 17, in <module>
map.readshapefile('dmc_roads', 'roads', drawbounds=True)
File "../anaconda/envs/py27env/lib/python2.7/site-packages/mpl_toolkits/basemap /__init__.py", line 2146, in readshapefile
for shprec in shf.shapeRecords():
File "../anaconda/envs/py27env/lib/python2.7/site-packages/mpl_toolkits/basemap/shapefile.py", line 543, in shapeRecords
for rec in zip(self.shapes(), self.records())]
File "../anaconda/envs/py27env/lib/python2.7/site-packages/mpl_toolkits/basemap/shapefile.py", line 515, in records
r = self.__record()
File "../anaconda/envs/py27env/lib/python2.7/site-packages/mpl_toolkits/basemap/shapefile.py", line 480, in __record
value = int(value)
ValueError: invalid literal for int() with base 10: '***'
당신이 당신의 코드를 보여줄 수 피오나와 매끈한 를 사용하여 몇 가지 예에 대한 링크를 쓴이 블로그 게시물을 봐? – Raptor
죄송합니다. 나는 그렇게하려고했습니다. 나는 지금 약간의 코드를 업로드했다. – krishnab
참고 dbf 파일을 dbfpy 모듈과 함께 열려고 시도했지만 동일한 오류 메시지와 함께 실패했습니다. – krishnab