[GPS] 파이썬으로 kml 파일 만들기
개요
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 형식으로 표시
Reference
이 문제에 관하여([GPS] 파이썬으로 kml 파일 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomo001/items/b375e5fa578eb8880662
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/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')
Reference
이 문제에 관하여([GPS] 파이썬으로 kml 파일 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomo001/items/b375e5fa578eb8880662텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)