본문 바로가기
나의 정보/정보

KML, GPX 파일(포맷) 구조

by 상오기™ 2009. 3. 7.
1. GPX

공식 사이트 : http://www.topografix.com/gpx.asp

포맷 규격 문서 : http://www.topografix.com/gpx/1/1/

중요 태그

wpt Type - wpt represents a waypoint, point of interest, or named feature on a map.
                
rte Type - rte represents route - an ordered list of waypoints representing a series of turn points leading to destination.
                
trk Type - trk represents a track - an ordered list of points describing a path.
                
trkseg Type - A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.

지도에는 이상 4개의 태그만 읽어서 보여주면 된다고 생각되며 각각의 태그 항목은 아래와 같습니다.

<wpt lat="latitudeType" lon="longitudeType"> 
    <ele> xsd:decimal </ele>
    <time> xsd:dateTime </time>
    <magvar> degreesType </magvar>
    <geoidheight> xsd:decimal </geoidheight>
    <name> xsd:string </name>
    <cmt> xsd:string </cmt>
    <desc> xsd:string </desc>
    <src> xsd:string </src>
    <link> linkType </link>
    <sym> xsd:string </sym>
    <type> xsd:string </type>
    <fix> fixType </fix>
    <sat> xsd:nonNegativeInteger </sat>
    <hdop> xsd:decimal </hdop>
    <vdop> xsd:decimal </vdop>
    <pdop> xsd:decimal </pdop>
    <ageofdgpsdata> xsd:decimal </ageofdgpsdata>
    <dgpsid> dgpsStationType </dgpsid>
    <extensions> extensionsType </extensions>
</wpt>

<rte> 
    <name> xsd:string </name>
    <cmt> xsd:string </cmt>
    <desc> xsd:string </desc>
    <src> xsd:string </src>
    <link> linkType </link>
    <number> xsd:nonNegativeInteger </number>
    <type> xsd:string </type>
    <extensions> extensionsType </extensions>
    <rtept> wptType </rtept>
</rte>

<trk> 
    <name> xsd:string </name>
    <cmt> xsd:string </cmt>
    <desc> xsd:string </desc>
    <src> xsd:string </src>
    <link> linkType </link>
    <number> xsd:nonNegativeInteger </number>
    <type> xsd:string </type>
    <extensions> extensionsType </extensions>
    <trkseg> trksegType </trkseg>
</trk>

<trkseg> 
    <trkpt> wptType </trkpt>
    <extensions> extensionsType </extensions>
</trkseg>

나머지 세부적인 항목들은 위의 포맷 규격 문서를 참고 하세요 ^^

아래의 이미지는 예를들어 작성한 일부 태그들 입니다.




2. KML


중요 태그

많다  ㅡ,.ㅡ

구글 사이트 가져온 KML 레이아웃

GPX에 비하면 복잡하지만 KML로 만들 수 있는 기능(?) 들을 생각하면 이해가 갑니다.

KML의 XML 파싱은 ST(SportTracks)을 기준으로 작성 하였습니다.

제일 많이 사용하는 로그북이기 때문이죠 ^^;;

필요없는 부분은 제거하고 필요한 부분의 구조만 그리면 아래와 같습니다.


자세한건 역시 공식 포맷 문서를 참고 하세요 ^^