[英]Python and Shapefile: Very large coordinates after importing shapefile
[英]Memory error on large Shapefile in Python
import shapefile
data = shapefile.Reader("data_file.shp")
shapes = data.shapes()
我的問題是,使用Pyshp時,從Shapefile閱讀器獲取形狀會給我一個異常MemoryError
。
.shp
文件很大,為1.2 gB。 但是我只使用機器32gB的3%,所以我聽不懂。
我還能采取其他方法嗎? 可以在Python中分塊處理文件嗎? 還是使用某種工具將文件撒到碎片中,然后分別處理它們?
盡管我無法對其進行測試,但是Pyshp應該能夠讀取它,而不管文件大小或內存限制如何。 創建Reader
實例不會加載整個文件,只會加載標頭信息。
這里的問題似乎是您使用了shapes()
方法,該方法將所有形狀信息立即讀取到內存中。 通常這不是問題,但是文件很大。 通常,您應該改為使用iterShapes()
方法,該方法iterShapes()
讀取每個形狀。
import shapefile
data = shapefile.Reader("data_file.shp")
for shape in data.iterShapes():
# do something...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.