2010-10-22 34 views
13

Greetings,tọa độ GPS: 1km vuông xung quanh một điểm

Tôi đã hy vọng một ai đó ra có thể cung cấp cho tôi với một phương trình để tính toán một 1km vuông (X từ a.aaa để b.bbb, Y từ c.ccc đến c.ccc) quanh một điểm nhất định, nói lat = 53.38292839 và lon = -6.1843984? Tôi cũng sẽ cần quảng trường 2km, 5km và 10km xung quanh một điểm.

Tôi đã thử googling xung quanh không có kết quả ... Đó là vào đêm khuya và đã hy vọng ai đó có thể có sửa chữa nhanh chóng tiện dụng trước khi tôi đi sâu vào lượng giác ...

Tôi sẽ chạy tất cả này trong Javascript, mặc dù mọi ngôn ngữ đều tốt.

Và không có, nó không phải là một vấn đề bài tập về nhà; (

Nhiều cảm ơn trước,

+2

Bạn nhận ra rằng chúng sẽ không "vuông" trong hầu hết các giác quan của từ, đặc biệt nếu các điểm của bạn ở gần các cực? –

+0

Bạn có cần hình vuông, hoặc bán kính sẽ làm thủ thuật? – mna

+1

@Paul Tomblin Vâng, bạn nói đúng về "hình vuông". Đối với tất cả các ý định và mục đích, loại hình vuông đơn giản tôi đang nói về là đủ vuông cho tôi! – Eamorr

Trả lời

33

Nếu thế giới là một quả cầu hoàn hảo, theo lượng giác cơ bản ...

Độ vĩ độ có cùng khoảng cách tuyến tính bất kỳ nơi nào trên thế giới, bởi vì tất cả các đường có cùng kích thước. Vì vậy, 1 độ vĩ độ bằng 1/360th của chu vi của trái đất, đó là 1/360th của 40,075 km.

Độ dài của một đường kinh độ phụ thuộc vào vĩ độ. Đường kinh độ tại vĩ độ l sẽ là cos (l) * 40,075 km. Một mức độ kinh độ sẽ là 1/360 trong số đó.

Vì vậy, bạn có thể làm việc ngược từ đó. Giả sử bạn muốn một cái gì đó rất gần với một cây số vuông, bạn sẽ muốn 1 * (360/40075) = 0.008983 độ vĩ độ.

Tại vĩ độ mẫu 53.38292839, dòng kinh độ sẽ là cos (53.38292839) * 40075 = [xấp xỉ 23903.297 km dài. Vì vậy, 1 km là 1 * (360/23903.297) = 0,015060 độ.

Trên thực tế, Trái đất không phải là một hình cầu hoàn hảo, nó còn mập hơn ở đường xích đạo. Và ở trên đưa ra một câu trả lời thực sự tốt cho hầu hết các khu vực hữu ích của thế giới, nhưng có xu hướng đi một chút kỳ lạ gần các cực (nơi hình chữ nhật trong dài/lat ngừng tìm kiếm bất cứ điều gì giống như hình chữ nhật trên toàn cầu). Nếu bạn đang ở trên đường xích đạo, ví dụ, đường kinh độ giả định là dài 0 km. Vì vậy, làm thế nào bạn muốn đối phó với một nhu cầu để đếm độ về điều đó sẽ phụ thuộc vào lý do tại sao bạn muốn các con số.

+0

Ok. Jim 1 dặm = 0,01472 độ vĩ độ (hoặc tương đương .008983 km) có vẻ đúng. Cảm ơn nhiều. – Eamorr

+1

Lưu ý: Trong khi tính toán cos (lat), hãy đảm bảo chuyển đổi lat thành radian vì hầu như tất cả các ngôn ngữ lập trình đều sử dụng radian trong các phương thức Cos/Sin trig của chúng. – Rao

4

Dưới đây là một cái gì đó từ ghi chú của tôi sẽ được sử dụng trên Android với GPS thập phân của nó

Lạt Long:. NY Thành phố 40N 47 73W 58 40,783333 73,966667

Wash DC 38N 53 77W 02 38,883333 77,033333

năng suất s = 209 dặm !! Rất gần

Khoảng cách (dặm) (x) = 69,1 (lat2-lat1) Khoảng cách (dặm) (y) = 53,0 (long2 - long1) Như quạ bay vụt sqrt (x2 + y2) ... duh! @

delta (LAT)/Mile = 0,014472 delta (DÀI)/Mile = .018519

Sử dụng một hộp như xấp xỉ Để tìm một người nào đó trong vòng 100 dặm (100 bắc/100 nam, 100 E/100 W) Từ 0,0 -14.472/+ 14.472, -18.519/18.519

+0

ok, như vậy là delta_lat 0,014472 dặm và delta_lon là 0,018519? Tuyệt, tôi sẽ chuyển nó thành km và tôi nên sắp xếp. Rất cám ơn vì điều đó. Tôi mặc dù nó sẽ phức tạp hơn thế nhiều! – Eamorr

+0

Khoảng cách về vĩ độ và kinh độ không tuân theo Pythagoras bởi vì bạn đang truy tìm trên một bề mặt cong, không phải phẳng. Tra cứu công thức haversine để có được kết quả chính xác - nó không đẹp nhưng bạn có thể tái tạo ngay lập tức nó trong khoảng năm dòng mã và sau đó trộn nó vào một thư viện ở đâu đó. – Tommy

+0

Tôi biết điều này, điều này hoạt động khá tốt với khoảng cách 200 dặm, đó là lý do tôi đánh dấu nó. Nó nhanh chóng trên máy chủ. Nếu bạn muốn một cái gì đó chính xác hơn .... ở đây ya đi! http://www.meridianworlddata.com/Distance-Calculation.asp – Jim

0

Cách đơn giản hơn để tạo hình vuông gps cho trung tâm sẽ là sử dụng thuật toán Vincenty gián tiếp. Mã Javascript ở đây cho biết cách thực hiện http://www.movable-type.co.uk/scripts/latlong.html. Tạo hình vuông bằng hình tròn không khó. Hình vuông là khoảng cách bằng nhau cho mỗi điểm. Vì vậy, cho một điểm trung tâm, khoảng cách từ trung tâm, thay đổi vòng bi từ 0 hoặc bất kỳ số nào tùy thuộc vào vòng quay của hình vuông và tăng 90 độ hoặc PI/2 radian. Bằng cách tăng thêm 90 độ mỗi lần và bạn sẽ lên với một hình vuông trong không gian hình tròn.

Tôi sử dụng chính bản thân mình để tạo các điểm GPS xung quanh một điểm trung tâm với khoảng cách nhất định .---. -/- --0-- -/- .---.

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