일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Android
- swf
- 경로
- 단축키
- file
- Mac
- 태그를 입력해 주세요.
- unity3D
- 아이튠즈
- 게임
- AS3
- 영어
- smartfoxserver
- builder
- AIR
- path
- sdk
- ios
- 배열
- Build
- iphone
- unity
- Ane
- XML
- texture
- 3d
- Game
- class
- flash builder
- Flash
- Today
- Total
상상 너머 그 무언가...
위도 경도LatLng 본문
GPS나 네이베이션 또는 지도 어플리케이션 등등 지도상의 특정 좌표를 가리키는데 위도와 경도를 사용한다.
위도는 적도를 기준으로 북극과 남극 방향으로 90도씩 총 180도로 나눈 가로방향 좌표이고
경도는 그리니치 천문대를 기준으로 좌우로 총 360도로 나눈 세로방향 좌표이다. ( 경도 15도는 1시간 )
위도( Latitude ), 경도( Longitude ) 는 약어로 프로그램 코딩상에서 Lat, Lng 으로 줄여서 쓰기도 한다.
위도와 경도를 나타내는 단위로는 도,분,초 를 사용하는데 시간 처럼 60진법을 사용한다.
ex) 1도는 60분 1분은 60초
상봉역 3번 출구의 위도, 경도 값은
위도 : 37.59523
경도 : 127.08600
상봉역 3번 출구의 위도 경도값을 도분초 단위로 바꿔 적으면
위도 : 북위 37도 35분 42초
경도 : 동경 127도 5분 9초
위도와 경도 값에서 도분초 단위의 값을 구하는 방식은 위도와 경도의 값에서
앞에 정수 부분은 도의 값으로 - ex) 37.59523
남은 소수의 값에 60을 곱해 나온 수의 정수값이 분 - ex) 0.59523 * 60 = 35.7138
남은 소수의 값에 다시 60을 곱해 나온 수의 정수값이 초 - ex) 0.7138 * 60 = 42.828
지구의 반지름은 대략 6300km ~ 6400km (지구는 살짝 타원형 )
지구 둘레는 약 40000km
지구 둘레 40000을 360도로 나누면 1도에 해당하는 길이 값을 구할 수 있다.
위도 1도에 해당하는 길이 값은, 40000 / 360 = 약 111km (111.11111111... 이지만 어차피 대략적이므로 )
경도도 위도와 같이 1도에 해당하는 값이 111km이지만 북극과 남극으로 가까워질수록 경도사이의 간격이 좁아지고 북극점과 남극점에서는 경도 사이의 거리가 0이 되므로 (경도는 적도에서 간격이 가장 길다, 북극과 남극에서는 경도선이 한점으로 모인다 )
경도 1도에 해당하는 길이값은 111 * cos( 해당 지역의 위도값 ) 방식으로 구해야 한다.
우리나라에서 흔히쓰는 위도37도기준 경도 거리는 1도=88.8km ,1분=1.48km , 1초≒25m 입니다
지도상의 두 위도(북위),경도(동경)에 해당하는 두 점의 거리값을 구하는 방법은
도,분,초 값으로 구한 두 값의 차를 구하고 나온 결과 값에
위도의 값 y좌표의 도 * 111 + y좌표의 분 * 1.85 + y좌표의 초 * 0.031 를 계산한 값 A를 구하고
경도의 값 x좌표의 도 * 88.8 + x좌표의 분 * 1.48 + x좌표의 초 * 0.025 를 계산한 값 B와
A제곱 + B제곱의 값에 루트 연산을 하면 km단위의 거리값을 구할 수 있다.
위의 방식은 위도 차이가 크지 않는 거리내에서는 오차가 적지만 북극 근처의 한 지점과 적도 근처의 다른 한 지점과의 거리 값 구하는 공식으로는 올바르지 않다.
구 위에 두 점을 백터로 연산하는 방식이 있다고 한다.