KML之座標個數
Table of contents
背景
- 這個GPT建議的小程式對計算KML檔案的大小很有用,這是因為leaflet或其他顯示界面對KML檔案的大小具有敏感性。
- 當然這題的解決方案是提供具有縮放效果的地圖伺服器,如mapbox,但如果只是為了預覽,實在沒有必要大費周章,寫一個瘦身程式會比較方便。
- 瘦身程式的目標:將座標的組數控制在1萬筆以下,對leaflet是OK的。如果要使用google map,可能會需要更低。
程式碼
import sys
def count_coordinates(kml_file):
import xml.etree.ElementTree as ET
tree = ET.parse(kml_file)
root = tree.getroot()
ns = {'kml': 'http://www.opengis.net/kml/2.2'}
coordinates_count = 0
for coordinates in root.findall('.//kml:coordinates', ns):
coords = coordinates.text.strip().split()
coordinates_count += len(coords)
return coordinates_count
# 使用示例
kml_file_path = sys,argv[1]
print(count_coordinates(kml_file_path))