PDA

View Full Version : Hỏi hàm và công thức tính góc giữa 2 điểm.



namtuoc
07-12-08, 04:28 PM
Mình có tọa độ (Latitude (N) và Longitude (E)) của 2 điểm (tọa độ Decimal). Xin hỏi các bạn là dùng hàm và công thức như thế nào để tính được góc giữa điểm 1 và điểm 2 so với độ Bắc.
VD:
Điểm 1:
21.34567 N: Là A4
106.12345 E: Là B4
Điểm 2:
21.5678 N: Là C4
106.2345 E: Là D4

Kết quả ra sẽ là E4
Mình có gủi kèm theo đây file *.xls để các bạn thử. Mong các bạn giúp mình.
Cảm ơn các bạn nhiều!

phamduylong
09-12-08, 08:53 PM
GPE có linhbienphong nghiên cứu rất sâu về vấn đề tọa độ, bản đồ, ..
namtuoc tìm các bài của linhbienphong xem có liên quan gì đến bài này không.

Chuotdong
10-12-08, 11:21 AM
Cái này bạn phải chuyển từ tọa độ Kinh độ/ Vĩ độ sang tọa độ Đề các, sau đó tính lượng giác bình thường.
Cái khó là việc chuyển đổi trên tùy thuộc vào Datum ...mà bản đồ đó đang dùng, như mình biết Việt Nam hiện nay có dùng các hệ VN 2000, Ha Noi 1972 , WGS -84....

Bạn xem thêm trong trang blog của bạn linhbienphong xem

namtuoc
15-12-08, 11:29 PM
Cảm ơn các bạn thật nhiều!
Xin lỗi vì mình đang đi công tác nên không theo dõi được thường xuyên phản hồi của các bạn.
Mình sẽ tìm hiểu thêm ở chỗ linhbienphong.

linhbienphong
16-12-08, 06:26 PM
@namtuoc:
Bạn có thể dùng cách của bạn Chuotdong đã nêu trên cũng được.
Nhưng sẽ khá rắc rối, bởi : thứ nhất, là phải đổi tất cả về hệ toạ độ X,Y của một phép chiếu nào đó(cái công thức này thì...ôi thôi là dài, phức tạp!); thứ hai, sẽ không giải quyết được khi hai điểm này lại nằm trong hai múi chiếu khác nhau(vì để nhận được X,Y từ Lat, Long, người ta phải chia nhỏ địa cầu ra, như ta cắt quả cam thành nhiều miếng ấy, mới dàn phẳng vỏ cam ra được, càng nhỏ, thì càng dễ dàn phẳng, và mỗi miếng ấy lại có một trục toạ độ phẳng riêng, người ta gọi mỗi miếng ấy là một múi chiếu bản đồ.....mình ví dụ thế ...không rõ có bị cho là...ham ăn không nhể?
Trong trường hợp của bạn hỏi, thì sử dụng công thức sau để tính( quy ước luôn cả bán kính (trái đất)). Thường được dùng khi đi biển. Nó không có gì phức tạp cả, nên bạn tự nhập công thức vào ô cần tính của bạn nhé:
Công thức tính khoảng cách và góc Bắc thật

R = Bán kính trái đất = 6.371 km.
d= khoảng cách giữa hai điểm.
B= góc bắc thật(góc giữa phương nối 2 điểm(1-2) và kinh tuyến)
Lat1: Vĩ độ điểm 1
Long1: kinh độ điểm 1
Lat2: vĩ độ điểm 2.
Long2: kinh độ điểm 2.
(Các góc dùng tính toán đã được đổi về Radian)
Δlat = lat2− lat1
Δlong = long2− long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a , √(1−a))
d = R.c (km)
Công thức tính khoảng cách giữa hai điểm trong Excel(km):

d=ACOS(SIN(lat1)*SIN(lat2)+COS(lat1)*COS(lat2)*COS (lon2-lon1))*6371


Công thức tính góc phương vị bắc thật trong Excel:

B =ATAN2(COS(lat1)*SIN(lat2)-SIN(lat1)*COS(lat2)*COS(lon2-lon1), SIN(lon2-lon1)*COS(lat2))
P/S: Nói chung trong khi tính toán, các giá trị tọa độ(grat) thường phải đổi về Radian, chỉ khi có kết quả cuối cùng người ta mới đổi từ radian sang độ, phút, giây . Tùy theo quy ước của từng ...ngành, hoặc khách hàng, mới chọn cách xuất kết quả đúng định dạng yêu cầu. Mình muốn nhắc tới vấn đề tọa độ nhập vào: có thể là độ thập phân, nhưng có thể là độ, phút , giây.
Để giải quyết việc đổi từ độ, phút, giây thành độ thập phân, nhiều bạn hay mắc phải : tách riêng ô nhập độ, ô nhập phút, ô nhập giây, rồi đổi phút, giây ra thành độ, cuối cùng độ thập phân là tổng. Mình hay làm theo cách này khá đơn giản:
Nhập độ-phút-giây trong cùng 1 ô: Ví dụ 21 độ 25 phút, 35 giây. Khi nhập chỉ cần gõ như sau, trong 1 ô(A1): 21:25:35 , và muốn đổi thành độ thập phân , ở ô khác(B1) ta chỉ cần gõ: =24*A1 thế là xong! Có điều, cần chọn định dang cho ô kết quả (B1) là Number!
Mẹo nhỏ này giúp bạn được gì chăng, nếu người dùng muốn ...thay đổi kiểu tọa độ 2 điểm gốc?
Thân ái.

namtuoc
30-11-09, 10:24 AM
Cảm ơn ban linhbienphong thật nhiều!
Xin lỗi bạn vì bây giờ mới trả lời bạn. Vì sau đợt đó, mình không làm việc liên quan đến điều mình muốn hỏi nữa nên bẵng đi mất. Thành thật xin lỗi bạn!
Thực ra thì mình không hiểu gì về hệ toạ độ, hệ quy chiếu hay các vấn đề liên quan khác. Dạo đó việc của mình chỉ là cầm GPS (dùng hệ WGS 84) đến 2 điểm lấy toạ độ để phục vụ cho công việc viễn thông thôi. Ngay trên GPS hay phần mềm trên PC cũng biết được khoảng cách và góc lệch Bắc của điểm này so với điểm kia. Tuy vậy khi làm báo cáo, nếu như Excel có thể làm được việc đó thì công việc sẽ nhanh hơn thôi.
Mình có down được 1 file khá hay dùng để chuyển đổi hệ toạ độ và tính toán khoảng cách, góc giữa 2 điểm, gần giống với file mình đã up lên đây nhưng họ tạo thành dạng thư mục rất chuyên nghiệp. Vấn đề là họ dùng toạ độ S và E mà mình lại muốn dùng N và E nên khi tính khoảng cách thì vẫn đúng nhưng góc lệch Bắc giữa 2 điểm thì lại sai.
Mình up file đó lên đây, nếu bạn thích thì nghiên cứu và sửa lại phần tính toán khoảng cách và góc thành toạ độ N và E giúp mình. Còn nếu không thì thôi cũng được bạn ạ! Trước đây bạn đã nhiệt tình còn mình thì lại không hào hứng nên xấu hổ với bạn quá!
Cảm ơn bạn nhiều nhé!

huyvd
08-09-13, 06:06 PM
Chủ đề này hay quá mà không có bác nào tư vấn thêm!!!
Thành thực em chỉ muốn nhập tọa độ GPS hai điểm vô để biết khoảng cách của nó thì tốt quá, vì trên hiện trường đâu có thời gian mà tính công thức cho từng khoảng một. Mong các bác chỉ giáo!!!!!

huyvd
10-09-13, 06:50 PM
Bác linhbienphong ơi! em hỏi ngu tí: em sử dụng công thức:
d=ACOS(SIN(lat1)*SIN(lat2)+COS(lat1)*COS(lat2)*COS (lon2-lon1))*6371 của bác mà không ra, bác làm ơn chỉ rõ giúp em được không?