나는 위도와 특정 경도를 가지고 있으며 계산할 수있는 거리를 계산하고 싶습니까?두 위도와 경도의 거리를 어떻게 계산합니까?
답변
CLLocation *location1 = [[CLLocation alloc] initWithLatitude:lat1 longitude:long1];
CLLocation *location2 = [[CLLocation alloc] initWithLatitude:lat2 longitude:long2];
NSLog(@"Distance i meters: %f", [location1 distanceFromLocation:location2]);
[location1 release];
[location2 release];
는 또한 프로젝트에 CoreLocation.framework
을 추가하고, import 문을 추가해야합니다
#import <CoreLocation/CoreLocation.h>
이 그 일의 최적의 방법은 아닐 수도 있지만 작동합니다.
위도와 경도로 지정된 두 위치는 벡터로 간주 될 수 있습니다. 좌표가 Cartesion 좌표로 변환되었다고 가정하면 두 벡터의 내적을 계산하십시오.
주어 V1 = (X1, Y1, Z1)와, V2 = (X2, Y2, Z2), 다음 ...
v1 dot v2 = magnitude(v1) * magnitude(v2) * cos (theta)
편리하게는, V1 및 V2의 크기는 동일 할 것이다 .. 지구의 반경 (R).
x1*x2 + y1*y2 + z1*z2 = R*R*cos(theta)
쎄 타를 해결하십시오.
theta = acos ((x1*x2 + y1*y2 + z1*z2)/(R * R));
이제 두 벡터 사이의 각도가 라디안으로 표시됩니다. 지구 표면 따라서 건너편 여행 두 점 타협의 거리 ...
distance = theta * R.
가 완전히 구형 좌표의 컨텍스트 내에서이 작업을 수행 할 수있는 쉬운 방법은 아마이지만, 그 지역 내 수학이 너무 퍼지 - 따라서 데카르트 좌표로의 변환.
은 ... 직교 좌표로 변환하자 알파 위도, 그리고 베타 경도한다.
x = R * cos (alpha) * cos (beta)
y = R * sin (alpha)
z = R * cos (alpha) * sin (beta)
는 수학 함수는 일반적으로 라디안으로 처리하고,도에서 위도/경도 거래를 잊지 마세요.
지구는 편평한 회전 타원체입니다 (배 모양이 더 정확함). 표면은 평평하지 않습니다. – outis
구형 모델 (http://trac.osgeo.org/proj/wiki/GeodesicCalculations)을 지구에 사용하는 것에 대한 오류에 대한 설명은'proj.4' 웹 사이트를 참조하십시오. 결론은 R에 대한 좋은 가치를 선택하면이 접근 방식으로 1 % 이내로 도달 할 수 있다고 말합니다. – mtrw
+1. 아마도이 답변은 "큰 원 경로를 계산하는 방법"(해상 항법 용어)으로 향할 수 있습니다. UPVOTE DISCLAIMER : 저는 이것에 대해 수학을 검증 할 능력이 없습니다. 나는 그것을 생산 한 능력을 부러워하고 명확한 발표를 존중합니다. – Smandoli
나는 수학을 극대화하고 이제는 솔루션을 크게 단순화 할 수 있습니다.
우리가 첫 번째 벡터가 0도 위도와 0도 경도가되도록 지구를 회전한다고 상상해보십시오. 두 번째 벡터는 위도 (alpha2 - alpha1) 위도와 위도 (beta2 - beta1) 위도에 있습니다. 이후
...
sin(0) = 0 and cos(0) = 1
우리의 내적 단순화하고 있습니다에 ...
cos(delta_alpha) * cos(delta_beta) = cos(theta)
수학의 나머지 부분은 변경되지 않습니다.
theta = acos (cos(delta_alpha) * cos(delta_beta))
distance = radius * theta
희망이 있습니다.
- 1. 두 위도와 경도의 중간 점
- 2. 위도와 경도의 좌표 좌표
- 3. Google지도가 잘못된 거리를 계산합니까?
- 4. 위도와 경도의 빈번한 변경을 해결하는 방법
- 5. 위도와 경도의 현재 위치에서 날씨를 얻으려면 어떻게해야합니까?
- 6. php에서 위도와 경도의 햇빛 데이터 받기
- 7. 위도와 경도의 도시, 주, 국가를 얻으십시오
- 8. 위도와 경도가 주어진 Google지도를 사용하여 거리를 계산하십시오.
- 9. 두 요소 사이의 너비는 어떻게 계산합니까?
- 10. 시작 속도와 거리를 알고있는 UIViewAnimationCurveEaseOut 애니메이션의 지속 시간을 어떻게 계산합니까?
- 11. 위도와 경도 좌표 간의 최소 거리
- 12. J2ME - 2 위도와 경도 사이의 거리를 계산하십시오.
- 13. 위도와 경도가 주어진 두 점의 중간 점
- 14. Javascript에서 두 문자열의 차이를 어떻게 계산합니까?
- 15. 두 날짜 간의 주 수는 어떻게 계산합니까?
- 16. 어떻게 계산합니까?
- 17. C# 두 위도/경도의 중간 점 찾기
- 18. 전체 주소의 위도와 경도는 어떻게 받습니까?
- 19. 알려진 거리를 가진 알려진 원의 원주를 따라 위도와 경도를 계산합니다.
- 20. 위도와 경도가 알려진 지점 일 때 100m 거리를 계산하십시오.
- 21. 그래프의 엔트로피는 어떻게 계산합니까?
- 22. 위도와 경도에서 주소 찾기
- 23. 위도와 경도를 사용하는 SQL Server 2008의 두 위치 사이의 거리를 반환하십시오.
- 24. 두 점 사이의 거리를 고려해 주어진 점에서 위도와 경도를 찾는 방법은 무엇입니까?
- 25. Google지도에서 두 지점 사이의 거리를 계산하는 방법은 무엇입니까?
- 26. 두 장소 간의 물리적 거리
- 27. Access에서 어떻게 계산합니까?
- 28. facebook은 어떻게 친구를 계산합니까?
- 29. HLSL에서 어떻게 레지스터를 계산합니까?
- 30. DB에서이 변수를 어떻게 계산합니까?
위도와 경도로부터 거리를 얻을 수 없습니다. 거리는 두 위도와 경도가 필요합니다. –
이것은 최근의 여러 가지 질문에 대한 주제였습니다. 주위를 둘러보십시오. –
저는 2 위도와 경도를 가지고 있습니다 ... –