[GPS] 파이썬으로 kml 파일 만들기

8463 단어 파이썬GPSKML

개요



Python을 사용하여 3차원 지리공간 정보인 kml 파일을 만들고 Google 어스에서 표시

사전 준비



simplekml이 필요하므로 OS에 맞게 simplekml 라이브러리를 설치하십시오.

목적



위도, 경도, 고도를 정리한 csv 파일에서 kml 파일을 작성하는 것. xml 기반이므로, ElementTree에서도 좋았지만, 조사해 보면 kml을 만들 수 있는 simplekml가 있으므로, simplekml를 사용해 kml 파일을 작성한다.

출처



※csv 로딩의 부분은 샘플용 배열로 옮겨놓았습니다.

gpsdata_to_kml.py
#!/usr/bin/python2.7
#-*- coding: utf-8 -*-
import simplekml

# ポイント形式で表示
## [場所名, 経度, 緯度]
sample_points = [["東京駅", 139.766389, 35.681340],
                 ["有楽町駅", 139.763360, 35.675056],
                 ["新宿駅", 139.700432, 35.690938],
                 ["池袋駅", 139.711570, 35.730235],
                 ["秋葉原駅", 139.774091, 35.698704],
                 ["上野駅", 139.777195, 35.713714]]


kml = simplekml.Kml()
for point in sample_points:
    kml.newpoint(name=unicode(point[0], 'utf-8'), coords=[(point[1], point[2])])

kml.save('yamanote_line.kml')

# 高度を含めてLINESTRING形式で表示
## [物体名, 経度, 緯度, 高度, 色]
sample_linestrings = [["スカイツリー", 139.810657, 35.710089, 634.000000, simplekml.Color.grey],
                      ["○ンダム", 139.810557, 35.710089, 18.000000 , simplekml.Color.white],
                      ["○ルトラマン", 139.810657, 35.709989, 40.000000, simplekml.Color.red],
                      ["○イターン3", 139.810757, 35.710089, 120.000000, simplekml.Color.yellow],
                      ["○ンバスター", 139.810657, 35.710189, 200.000000, simplekml.Color.black]]

kml = simplekml.Kml()

for linestring in sample_linestrings:
    ls = kml.newlinestring(name=unicode(linestring[0], 'utf-8'))
    ls.style.linestyle.color = linestring[4]
    ls.style.linestyle.width = 8
    ls.extrude = 1
    ls.altitudemode = simplekml.AltitudeMode.absolute
    ls.coords = [(float(linestring[1]), float(linestring[2]), float(linestring[3]))]

kml.save('skytree.kml')

Google 어스에서 출력



포인트 형식으로 표시





LINESTRING 형식으로 표시



좋은 웹페이지 즐겨찾기