'Windows Live'에 해당되는 글 5건
- 2008/02/25 WLP {Dinner} Contacts (2)
- 2008/02/25 WLP강사님 Ben Williams씨와 함께 찍은 사진
- 2008/01/24 GPS정보(경도, 위도)와 지도이미지 상의 위치 매핑하기
- 2008/01/24 Windows Live 이벤트, 경품이 혼다 시빅 등등
- 2008/01/24 Windows Live 교육을 받으러 가게되었습니다.
Geoffrey Emery
사진설명 : Mexico에서 온 Aura Joachin씨. 한국 돈과 사진을 찍고 싶어해서 잠시 빌려 드렸습니다.
만원은 10달러 정도 된다는 것과, 만원짜리에 등장인물은 바로 한글을 만드신
한국의 King이라고 설명하였습니다.
사진설명 : 한국 돈을 빌려 준 댓가로 Mexico 돈을 빌려서 우리도 사진을 찍었습니다.
한국 돈과 멕시코 돈을 모두 들고, Adam Parker씨
이 와인은 나중에 Safeway 대형마트에서 확인 결과 20달러가 조금 넘는 와인이었습니다.
참고로 저희 한국 개발자들은 '무통까데'라는 와인만 미국에 있던 기간 중 2병 사다가 마셨어요.
이게 한국에서는 마트에서 3만원 초반하는 제품인데, Safeway에서는 9달러도 하지 않는
거예요.
어쩌겠어요? 사서 마실 수 밖에!!! 다른 건 몰라도 와인은 정말 싸답니다.
잘 먹고, 1인당 45 달러 정도 나왔습니다. ㅜ_ㅠ 많이 나왔죠? 괜히 따라갔나~
하지만 서로 가까워질 수 있는 유익한 시간이었습니다.
다음날 아무나 붙잡고 Windows Live나 Silverlight에 대해 이야기를 나눌 수 있는 계기가 되었습니다.
이틀 내내 모든 세션을 혼자서 진행하셨습니다.
수고하셨습니다.
왼쪽은 넥슨의 이준홍씨 입니다. 훈스닷넷에서 저와 함께 Windows Live 시삽을 맡고 있습니다.
카페에 어떤 분의 질문에 답변 글로 올린 글인데 블로그로 옮겨왔습니다.
경도, 위도 (GPS 정보 따위)를 알고 있을 때, 그것을 지도 이미지 상의 어떤 위치에
매핑을 하기 위해서는
일단
1) 사용하시려고하는 소스, 즉 맵타일 이미지가 어떤 기준을 가지고 만들어졌느냐?
2) 그리고 어떤 도법에 의해서 그려진 지도인가?
를 아셔야 합니다.
버추얼 어스(이하 VE)를 예로 들어 설명해 보겠습니다.
- VE 맵타일 하나는 256 pixel x 256 pixel로 이루어져 있습니다.
- VE 맵 중심점은 위도 0도, 경도 0도입니다.
현재 화면의 지도상태를 ZoomStep 2단계라고 가정하면, 지도이미지는 4x4의 타일로 구성되어 있습니다.
(VE의 ZoomStep 1단계는 세계지도를 2x2의 타일로 표현한 것입니다. VE는 19단계의 ZoomStep을 지원합니다.)
이때 전체 맵 크기는 가로, 세로 256 pixel * 4 = 1024 pixel 입니다.
간단히 생각해 보면.
가로 1024pixel을 경도 360도( -180(=서경180) ~ 180(=동경180)로 나눠쓰고 있고,
세로 1024pixel을 위도 180도(90 (북반구) ~ -90 (남반구))로 나눠쓰고 있다고 생각할 수 있습니다.
이 지도 위에 인천 공항의 위치를 점으로 찍으려면 어떻게 하면 될까요?
먼저, 인천 공항의 경도와 위도를 알아야 합니다.
경도는 126도 36분 30초 입니다.
(편의를 위해 '도' 단위로 나타내겠습니다. 126 + 36 * 1/60 + 30 * 1/3600 = 126.6083도)
위도는 37도 28분 20초 입니다.
(편의를 위해 '도' 단위로 나타내겠습니다. 37 + 28 * 1/60 + 20 * 1/3600 = 37.4722도)
또, 지도의 중심이 경도 0, 위도 0 이고,
지도의 왼쪽이 경도 -180, 오른쪽이 180
지도의 위쪽이 위도 90, 아래쪽이 -90이라는 조건에 의해,
변환식은 아래와 같을 것입니다.
Y = H * (90 - 위도) / 180
X : 지도 이미지 상의 X좌표
Y : 지도 이미지 상의 Y좌표
W : 지도 이미지의 전체 폭
H : 지도 이미지의 전체 높이
위 공식에 따라서 계산을 해보면,
X = 872.130275555556 pixel = 872 (소수점 이하 반올림)
Y = 298.824817777778 pixel = 299 (소수점 이하 반올림)
하지만 간과하면 안 되는 점이 하나 있습니다.
아까도 말씀드렸듯이 어떤 도법으로 그려진 것인지가 중요합니다.
- VE는 메르카토르 도법으로 그려진 지도 입니다.
여기서 새로 고려해야만 하는 사실은 지도이미지가 실제로는 위도 85.05도 ~ -85.05도까지의 범위를 그려놓은 것이라는 점입니다.
즉, 지도이미지 상의 좌표(512, 0)는 경도 0도 위도 85.05도 입니다.
게다가 Y방향으로는 선형관계(Linear)를 갖지 않습니다.
변환식의 수정이 필요하겠죠?
변환식을 수정하고 재계산 해보시면 다른 값이 나올 것입니다.
변환식이 어떻게 바뀌어야 하는지는,
자세한 내용은 http://gilverlight.net/2693를 참조하십시오.
이 정도 생각해 보시면,
어떤 타일이 얼마만큼의 경도, 위도 범위를 표현하는지,
LeftTop(경도1, 위도1), RightBottom(경도2, 위도2)
어떤 지점(경도, 위도)이 어떤 타일 위에 존재하는지 계산하는 것은 쉬울 것입니다.
지도이미지 상 좌표가 X = 872, Y = 299라고 가정하면
왼쪽 맨위의 맵타일이 (0, 0)의 인덱스를 갖는 2차원 배열로 가정해서 생각해보면,
아래와 같이 인덱스를 구할 수 있을 겁니다.
XIndex = Math.Floor( X / 단위 맵타일 폭 )
YIndex = Math.Floor( Y / 단위 맵타일 높이 )
Math.Floor(872 / 256) = 3
Math.Floor(299 / 256) = 1
(3, 1)에 해당하는 맵타일 위가 되겠군요.
마이크로소프트가 윈도우 라이브 홍보를 꽤 오래 전부터 해오고 있었군요.
시빅이나 LCD TV 등의 고가 경품도 많이 거는 등 투자를 많이 하네요.
위 그림을 클릭하시거나 아래 링크를 클릭하시면
행사 상세 페이지로 이동하실 수 있습니다.
http://windowslive.msn.co.kr/mktg/?authkey=WinLive12121103318160669
마이크로소프트의 지원을 받아 2월 3째주에 미국 시애틀에 있는 마이크로소프트 본사로
Windows Live 관련 교육을 다녀오게 되었습니다.
Windows Live 서비스 중 특히 Virtual Earth 쪽에 관심을 가지고 있었는데요.
이런 좋은 기회를 주신 김대우 과장님께 감사를 드립니다.
아 더불어 교육 같이 다녀올 넥슨의 이준홍씨와 함께
훈스닷넷에서 Windows Live 부문 2008년도 시삽으로 활동하게 되었습니다.
교육을 다녀온 후에는 준홍씨랑 MSDN 세미나도 해야하는 의무도 있지만,
덕분에 2008년은 어느 해보다 활기 찰 것 같습니다.

이올린에 북마크하기
이올린에 추천하기
Prev

Rss Feed