CSVをマイマップ用のデータ(KML)に変換する方法

IT

はじめに

今回は前回の続きになります。前回はマイマップのデータをCSVに変換するプログラムを紹介しましたが、今回はその逆のCSVをKMLに変換する方法をお伝えしたいと思います。

CSVにしてデータを整理した後に、元に戻す時にご利用くださいませ。

実際のプログラム

今回もPythonを利用します。前回と同じように、Windowsで環境構築方法はググってください。

また今回は「simplekml」を事前にインストールしておきましょう。

pip install simplekml

以下をコピペして出来上がり!!

import csv
import io
from pprint import pprint
import requests
import sys
import simplekml

#リスト形式
csv_file = open("mapData.csv", "r", encoding="utf-8-sig", errors="", newline="" )
f = csv.reader(csv_file, delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True)

#ヘッダから必要データのインデックスを抽出
header = next(f)
print(header)

#データ抽出
r_kml = simplekml.Kml()
fol = None
oldFol = ""
for db in f:
    if oldFol != db[0]:
        fol = r_kml.newfolder(name=db[0])
        oldFol = db[0]
        print(fol)
    p = fol.newpoint(name=db[1], coords=[(db[4], db[3])])
    p.description=(db[2])

# ファイルに保存
r_kml.save('newMapData.kml')  
r_kml.savekmz('newMapData.kmz')

特に難しいことないので、以上です。

まとめ

いかがだったでしょうか?前回のプログラムとセットでご利用ください。

コメント

タイトルとURLをコピーしました