1
我有一個kml文件,它有超過100萬字符的單元格。我想將小數從12減少到3.我導入了lxml和pykml。如何使用pykml減少本地kml文件中的座標十進制?
import pykml
from pykml.helpers import set_max_decimal_places
file1=open('\United States divisions. Level 2.kml')
from os import path
#set_max_decimal_places(file1, max_decimals={'longitude':3,'latitude':3,})
,我得到這個錯誤:
39 index_no = 0 # longitude is in the first position
40 # modify <longitude>
---> 41 for el in doc.findall(".//{http://www.opengis.net/kml/2.2}longitude"):
42 new_val = round(float(el.text), max_decimals[data_type])
43 el.getparent().longitude = K.longitude(new_val)
AttributeError的:「文件」對象有沒有屬性「的findall」
所以 - 在第一種情況下,我希望你只需將文件寫回磁盤?在第二期中,我希望你有一個不合法的KML屬性集 - 嘗試驗證你的文檔。如果是這種情況,只需使用第一種方法,因爲您不需要*有一個有效的KML來進行這些更新或使用它。 – Matthew
我的意見之前,你最後一個在你刪除/重新添加它之前處理此評論。 – Matthew
我建議你從鏈接文檔中的示例開始,只使用您在腳本中設置的字符串。一旦工作正常,請嘗試加載文件的摘錄(在巨大文檔中的新測試文件中記錄幾條記錄),並確保按預期工作。然後繼續處理整個事情。 – Matthew