2012-03-05 41 views
5

Tôi có hai tọa độ GPSCách tính góc giữa hai tọa độ địa lý/GPS?

ví dụ: (Lat1, Long1) và (Lat2, Long2)

Ai đó có thể giúp tôi tìm góc giữa hai điểm đó.

Giá trị phải bằng 0-360 độ.

+2

Đây có phải là bài tập về nhà không? Nếu có, vui lòng gắn thẻ là 'bài tập về nhà'. –

Trả lời

4

Taken từ this trước SO bài:

float dy = lat2 - lat1; 
float dx = cosf(M_PI/180*lat1)*(long2 - long1); 
float angle = atan2f(dy, dx); 
+1

'M_PI' và' atan2f' là gì? – FaCoffee

+1

@ CF84: Vui lòng xem liên kết [this] (http://stackoverflow.com/questions/15231466/whats-the-difference-between-pi-and-m-pi-in-objc) cho 'M_PI' . Đối với 'atan2f', hãy xem [tại đây] (http://stackoverflow.com/questions/7418353/angle-between-two-lines-is-wrong). – npinti

5

Tôi cho rằng bạn có nghĩa là mang đến và không phải là góc giữa các địa điểm: Nếu (lat1, long1) được lưu trữ trong một đối tượng Locationloc1 và (lat2, long2) được lưu trữ trong loc2 bạn sẽ có được mang từ loc1 để loc2 như thế này:

float bearing = loc1.bearingTo(loc2); 

kết quả là trong độ đông bắc đúng và mang ban đầu của nó (đó là quan trọng nếu loc1 và loc2 xa ap nghệ thuật từ nhau).

Có một số phương pháp hữu ích khác trong lớp Location, xem tại đây để biết thêm chi tiết: http://developer.android.com/reference/android/location/Location.html

EDIT: Tôi cho rằng Android cho câu trả lời, nhưng có, các thẻ không có nghĩa là ...

+2

Điều đó tốt nếu anh ấy sử dụng Android, nhưng các thẻ không nói anh ấy là như vậy. – JeremyP

Các vấn đề liên quan