2008년 4월 14일자 구글 LatLong 블로그 소식입니다. 구글어스에서 사용자가 제작한 지도를 공유하는데 사용되는 KML이 세계 표준으로 채택되었다는 내용입니다.

KML이 무엇인지 좀 더 자세히 알고 싶으시다면, 제가 예전에 써둔 "구글어스에서 관심장소를 공유하는 방법"을 읽어보시기 바랍니다.

사용자 삽입 이미지
KML을 표준으로 채택한 기관은 개방형 지리정보 콘소시엄(OGC : Open Geospatial Consortium)이라는 기관입니다. 이 기관은 ArcGIS로 유명한 ESRI나 Intergraph 등의 유명 GIS 관련 업체 뿐만 아니라, 구글과 마이크로소프트도 참여하고 있는, 업체 중심의 표준기관입니다.

원래 제가 구글어스의 KML이 OGC 표준으로 제출되었다는 내용을 들었던 것은 작년 8월이었습니다. 자세한 내용을 보고 싶으시다면 "OGC에서 KML version 3를 논의중"이라는 글을 읽어보시면 됩니다.

그밖에도, 마이크로소프트에서 KML을 수용한다는 소식, (실제 채택된 결과는 여기) 야후에서 운영하는 사진공유사이트인 Flickr에서 KML을 사용할 수 있다는 소식도 전해드린 바 있습니다.

이처럼, 외국의 거대포털이 모두 일정부분 KML을 수용하고 있고, ArcGIS와 같은 GIS 프로그램에서도 거의 KML을 사용할 수 있는 상태이기 때문에, 이미 KML은 사실상의 표준이라고 할 수 있는 상태였습니다.

어쨌든... 이제 KML이 OGC의 표준이 되었고, KML 2.3이든 KML 3.0이든 앞으로는 구글에서 더이상 관여하지 않는다고 하네요. OGC의 표준문서에 들어가 보면 아얘 OGC KML이라고 되어 있습니다. 기분이 묘하네요. ^^ OGC의 공식 보도자료는 OGC® Approves KML as Open Standard를 참고하시기 바랍니다.

민, 푸른하늘
====
(KML: A new standard for sharing maps)
http://google-latlong.blogspot.com/2008/04/kml-new-standard-for-sharing-maps.html
Monday, April 14, 2008 at 10:00 AM

구글어스(Google Earth) 등의 가상지구 프로그램은 디지털 시대에 지도를 끌어들이는데 많은 역할을 하였습니다. 현재 우리 모두는 온라인상으로 우편번호를 사용하여 피자집 위치를 검색하거나, 지구 반대편에 있는 작은 동네의 위성영상을 볼 수 있는 것을 당연시하게 되었죠.

하 지만, 인터넷은 단순한 검색이나 정보 취득 이상의 역할을 하고 있습니다. 정보 배포에도 많은 역할을 하고 있죠. 블로그나 위키(wikis), 소셜네트워킹 사이트, 기타 사용자가 생성한 콘텐츠를 빼놓고는 현재의 인터넷을 이야기 할 수 없게 되었습니다. 웹은 이 모든 것을 가능하게 만든 것으로서, 어떤 웹브라우저에서도 모든 웹페이지를 읽을 수 있는 표준포맷인 HTML이 오늘의 웹을 만들었다고 할 수 있습니다. HTML 표준은 매우 강력합니다. 웹페이지는 독자적인 포맷으로 묶여 있거나, 특정 프로그램에만 볼 수 있었던 것과는 달리, 자유롭게 무료로 볼수 있고, 공유할 수 있게 되었죠.

이러한 관점에서 오늘 저는 또하나의 멋진 뉴스를 알려드리겠습니다. KML이 국제 표준이 되었다는 것입니다!

KML 은 원래 구글어스 파일포맷으로서, 기본도나 영상위에 사용자가 생성한 콘텐츠를 중첩해 볼 수 있는 용도로 개발되었습니다. 그 이후 KML은 많이 확장되었습니다. 지리정보 콘텐츠의 HTML역할을 담당하게 되고, 사용자가 제작한 지도를 온라인상에서 공유할 수 있는 강력한 수단이 되었습니다. 현재 온라인상에는 10만개 이상의 도메인에 수천만 개의 KML 파일이 존재합니다. 또한, 수많은 개발자와 제품에서 KML을 지원하고 있으며 그 숫자도 점점 증대되고 있어, 이제 KML을 단순히 구글어스 파일 포맷으로 정의할 수 없게 되었습니다. 범위에서 구글어스를 넘어섰을 뿐 아니라, 구글 자체를 넘어섰기 때문에 우리는 KML을 놓아주기로 결심했습니다.

오늘부터 구글은 KML을 콘트롤하지 않습니다. 국제표준 단체중 하나인 개방형 지리정보 콘소시엄(OGC : Open Geospatial Consortium)에 서 KML 표준 채택화정을 완료하였다고 발표했습니다. KML은 OGC의 표준이 되었으므로, 이제 KML을 유지관리하고 확장하는 임무는 OGC가 맡게 될 것입니다. 이처럼 소유권을 이전하는 것은 구글이 지향하고 있는 개방형 표준에 대한 약속을 반영하는 것입니다. 기본적으로, 우리의 관심은 정보를 콘트롤하는 것이 아니라, 널리 퍼트리고자 하는 것이니까요.

지리정보 콘텐츠가 온라인상으로 쉽게 배포될 수 있으면, 모든 사람이 혜택을 볼 수 있습니다. HTML로 인해 새로운 형태의 정보 공유가 가능했던 것처럼, 우리는 KML이 지도 분야에서 동일한 역할을 하게되길 기대하겠습니다.

====
구글 LatLong 블로그 목록 : http://heomin61.tistory.com/6


출처 - http://www.internetmap.kr/380


Posted by linuxism
,


ISO 8601은 날짜와 시간의 표기에 관한 국제 표준 규격이다. 정식 명칭은 Data elements and interchange formats - Information interchange - Representation of dates and times이다. 최신버전인 ISO 8601:2004와 구버전인 ISO 8601:2000, ISO 8601:1988이 있다.

목차

  [숨기기

[편집]날짜

ISO 8601에 따라 날짜를 기록하는 방법에는 3가지가 있다. 연월일(年月日)로 기록하는 방법, 연(年)와 연중일수로 기록하는 방법, 연(年)과 주(週)와 주중일수로 기록하는 방법이 그것이다.

ISO 8601에는 날짜의 표기에 그레고리력을 따른다.

  • 연(年)을 표기할 때는 기원전 1년에 해당하는 0000부터 기원후 9999년에 해당하는 9999까지의 값을 사용할 수 있는데, 율리우스력이 사용되던 0000년부터 1582년까지의 값은 정보 교환시 상호 합의 하에 그레고리력으로 환산해야 한다.[1] 0000년 전이나 9999년 후의 연도 표기도 역시 사용하는 주체간의 상호 합의가 필요하다. 이 경우 연도 앞에 빼기표(-)를 붙이면 기원전 1년 이전, 더하기표(+)를 붙이면 기원전 1년 이후를 가리킨다. 예를 들어 -0001은 기원전 2년이며, 추가할 연도 자릿수를 2개로 합의한 경우 +010000은 서기 10000년이다.
  • 월(月)의 표기는 01부터 12까지 값을 가지며, 각각 1월부터 12월까지를 나타낸다.
  • 일(日)의 표기는 01부터 시작하며 달에 따라 28에서 31까지의 값을 가진다.
  • 연중 일의 표기는 001부터 시작하며 해에 따라 365에서 366까지의 값을 가진다.
  • 연중 주의 표기는 01부터 시작한다.
  • 주중 일의 표기는 월요일을 1로 시작하여 순서대로 요일에 숫자를 붙이며, 일요일을 7로 한다.

[편집]연월일 표기법

YYYY-MM-DD(확장 형식) 또는 YYYYMMDD(기본 형식)로 표기한다.

1981-02-22 또는 19810222는 1981년 2월 22일을 나타낸다.

DD나 MM-DD를 쓰지 않으면 달 또는 해를 나타낸다. 이때는 하이픈(-)을 써서 YYYY-MM로 표기하는 것이 기본 형식이며 확장 형식은 없다. YYYYMM 형식은 예전에 자주 쓰이던 형식인 YYMMDD와 혼동될 수 있기 때문에 허용되지 않는다.

1981-02 : 1981년 2월.
1981 : 1981년.
19 : 1900년대(1900년부터 1999년까지의 100년)를 나타낸다. 이는 20세기(1901년부터 2000년까지의 100년)와는 다르다.

[편집]연과 연중일수 표기법

YYYY-DDD(확장 형식) 또는 YYYYDDD(기본 형식)로 표기한다. DDD는 연중 날의 번호로서 1월 1일이 001이며, 12월 31일은 평년은 365, 윤년은 366이 된다.

1981-053 또는 1981053 : 1981년의 53번째 날, 즉 2월 22일을 나타낸다.

[편집]연과 주와 주중일수 표기법

YYYY-Www-D(확장 형식) 또는 YYYYWwwD(기본 형식)로 표기한다. ww는 연중의 주의 번호로, 해의 첫 주는 01, 마지막 주는 52 또는 53이 된다. 단, 해의 첫 주는 그해의 첫번째 목요일을 포함한 주로 한다. D는 요일을 나타내며, 월요일이 1, 일요일이 7이다.

1981-W07-7 또는 1981W077 : 1981년의 7번째 주의 일요일, 즉 2월 22일을 나타낸다.

D를 생략하면 주를 나타낸다.

1981-W07 또는 1981W07 : 1981년의 7번째 주를 나타낸다.

[편집]시간

시간의 표기에는 쌍점을 쓴 hh:mm:ss(확장 형식) 또는 hhmmss(기본 형식)를 사용한다. hh는 시(時)로서 00부터 24까지의 값을 갖는다. mm은 분(分)으로서 00부터 59까지의 값을 갖는다. ss는 초(秒)로서 00부터 59까지의 값을 갖는다. 반점이나 온점을 써서 앞 단위를 나눈 시간을 나타낼 수도 있는데, 이때 십진수를 사용하며 자릿수는 정보 교환 주체 사이에 미리 합의해야 한다. 다음은 분절 시간 표현 자릿수로 한 자리를 정한 예이다.

10:20:30,4 또는 102030,4 : 10시 20분 30.4초
10:30,5 또는 1030,5 : 10:30:30과 같다.
10.5 : 10:30와 같다.

[편집]날짜와 함께 표기할 때

날짜와 시간 사이에 T를 넣어 표기한다.

1981-02-22T09:00:00 : 1981년 2월 22일 09:00

[편집]시간대 표기

UTC 시간대에서는 시각 뒤에 Z를 붙인다.

1981-02-22T09:00Z 또는 19810222T1200Z : UTC 시간대에서의 1981년 2월 22일 오전 9시

UTC외의 시간대에서는 시각 뒤에 ±hh:mm±hhmm±hh를 덧붙여 쓴다.

1981-02-22T09:00:00+09:00 : UTC+9 시간대에서의 1981년 2월 22일 오전 9시

[편집]기간

기간을 나타낼 때에는 시작일시/종료일시로 표기한다.

1981-02-22/2007-09-26 : 1981년 2월 22일 ~ 2007년 9월 26일
1981-02-22T09:00:00+09:00/2007-09-26T17:00:00+09:00 : UTC+9 시간대에서 1981년 2월 22일 9시 ~ 2007년 9월 26일 17시

시작일시와 종료일시가 같은 해이거나 같은 달인 경우에는 다음과 같이 생략할 수 있다.

1981-02-22/09-26 : 1981년 2월 22일 ~ 1981년 9월 26일
1981-02-22/26 : 1981년 2월 22일 ~ 1981년 2월 26일

[편집]참고 문헌

  1.  ISO 8601:2004(E) (영어) (PDF). 국제 표준화 기구 (2004년 12월 1일). 2011년 1월 28일에 확인. “4.1.2.1 General ... calendar year is, unless specified otherwise, represented by four digits. Calendar years are numbered in ascending order according to the Gregorian calendar by values in the range [0000] to [9999]. Values in the range [0000] through [1582] shall only be used by mutual agreement of the partners in information interchange.”

[편집]바깥 고리




'Development > Common' 카테고리의 다른 글

context  (0) 2012.11.21
accessor 와 mutator  (0) 2012.11.05
http - Content Length와 Transfer Encoding  (0) 2012.07.18
특수문자 이름  (0) 2012.07.17
동기 비동기  (0) 2012.07.03
Posted by linuxism
,


안드로이드 위치기반 GPS관련한 어플을 안드로이드 에뮬레이터로 돌리려면 DDMS 중 "emulator control" 뷰에서 위도, 경도를 manual로 제공하는 방법이 있다.  그러면 LocationManager 인스턴스에 requestLocationUpdates()를 통해 등록된 LocationListener 인스턴스의 onLocationChanged()가 DDMS가 보낸 위도,경도등을 Location타입으로 받아 일을 처리한다.

그런데 emulator control에서 위치를 나타내는 GPX, KML 타입 파일을 로드해 좌악 좌표를 에뮬레이터로 보낼 수 있다고 했는데 잘 되지 않았다.  로드해도 대체 반응이 없다.  여러개의 서로 다른 GPX 파일들을 로드해보아도 에러도 안뜨고 그냥 먹통이다.
http://developer.android.com/guide/developing/tools/ddms.html 에 가보아도 말이 없고.  답답하다.

구글링을 해 보았더니 GPX 파일 버젼이 1.1 이어야지만 DDMS가 로드한단다 (http://code.google.com/p/android/issues/detail?id=2528).  그래서, 파일의 버젼을 1.1로 고쳤더니 잘 로드되어 돈다.  



볼 수록 안드로이드 프레임워크와 그 주변 구글 서비스 생태계의 방대함에 인상이 깊어지고 있다.  Component 스타일 소프트웨어 개발이 잘 적용되었다.  하긴 Joshua Bloch를 비롯해 많은 자바캠프에 있던 사람들이 구글로 자리를 옮겼으니 원래 안드로이드가 갖고 있던 object/component 맛이 더욱 고도화 된 것이 이상하지 않다.  안드로이드는 다양한 하이레벨 컴포넌트/API가 제공되기에 코드는 간단해 질 수 있으나 한편 사용자의 사용패턴과 내부 자원에 따라 컴포넌트들이 서로 엮이며 asynchronous하게 작동하므로 주의해서 어플 설계가 필요하다.  물론 간단히 몇 개 화면과 주욱 한개의 스레드로 흘러가는 것은 정말 간단히 만들 수 있다.  DDMS만 해도 잘 만들었다.  그래도 기왕에 조금 더 신경써서 GPX version 1.1 부터 지원한다고 알려주면 안되나?  욕심이 끝이 없다.


출처 - http://roundhere.tistory.com/69


===================================================================================


Android 폰 없이 에뮬레이터에서 GPS 등의 위치관련 테스트를 하기 위해서는 DDMS를 사용하거나 콘솔에서 "geo" 명령어를 사용하는 방법이 있습니다.

DDMS 에도 개개의 longitude/latitude 좌표를 직접 주는 방법과 GPX 파일을 이용하는 방법, KML 파일을 이용하는 방법까지 3가지 방법이 있습니다. (참고 : 안드로이드 개발자 사이트)

 

여기에서는 DDMS에서 KML 파일을 이용해 위치정보를 테스트 하는 방법에 대해 얘기하겠습니다.

 

KML이란 Keyhole Markup Language 의 줄임말으로 구글 어스에 쓰일 목적으로 개발 되었으며 구글 어스, 구글 지도 및 기타 응용 프로그램에 쓰이는 XML 기반의 마크업 언어 스키마 입니다.(참고 : 위키백과)

테스트를 위해 이 KML 파일이 필요한데 구글 지도의 내 지도 기능을 이용하면 우리가 원하는 위치가 들어있는 KML 파일을 손쉽게 만들 수 있습니다.

 

  1. 구글 지도에 접속합니다.
  2. 사이드바에서 내 지도를 선택합니다.
  3. 새 지도 만들기를 선택 합니다. 여기까지 하면 아래와 같은 화면이 보입니다.
    3.jpg
  4. 내가 표시하고 싶은 위치로 이동한 뒤 "아이콘 추가하기" 4.jpg 버튼을 눌러 표시해 줍니다.
    전 롯데월드를 추가했습니다.
    5.jpg
  5. 4번을 반복하여 자신이 원하는 위치를 추가합니다.
    잠실 근처 놀만한 곳을 추가했습니다.

    6.jpg
  6. 원하는 위치를 다 추가했다면 '링크' 버튼을 클립 합니다.
    그러면 방금 만든 내 지도에 대한 링크 주소가 두가지 나오는데 이중 '이메일 또는 메신저에 링크 붙여넣기'의 주소를 복사합니다.
    7.jpg
  7. 새로운 브라우져를 열고 주소창에 방금 복사한 링크 주소를 붙여 넣기 합니다. 그럼 KML 파일이 다운로드 됩니다. (브라우져마다 동작이 다를 수 있습니다.)
  8. DDMS > Emulator Control > Location Controls > KML 항목에서 다운로드한 KML 파일을 엽니다.
    9.jpg
  9. 목록을 직접 클릭하여 위치 정보를 보낼 수도 있고 아래 화살표를 눌려 순서대로 또는 역순으로 속도에 따라 하나씩 보낼 수도 있습니다.
    계속 반복해서 보내는 방법은 찾지 못했습니다.


출처 - http://ecolemodev.springnote.com/pages/5216185







Posted by linuxism
,