2010-12-12 42 views
9

Tôi muốn biết nếu có thể tính khoảng cách 100 mét xung quanh một điểm đã cho với vĩ độ và kinh độ đã biết. Tôi có một số tọa độ trong một cơ sở dữ liệu MySQL và muốn biết nếu một tọa độ cụ thể nằm trong phạm vi 100 mét từ một điểm nhất định.Tính khoảng cách 100 mét khi vĩ độ và kinh độ là một điểm đã biết

Tôi đang sử dụng nền tảng Android. Tôi chỉ biết một tọa độ (Kinh độ và Vĩ độ) nơi tôi đang đứng (vị trí hiện tại) và tôi muốn đặt khoảng cách (khoảng 100 mét).

Tôi có nhiều tọa độ được lưu trong cơ sở dữ liệu và muốn tính toán liệu các điểm khác được lưu trong cơ sở dữ liệu có nằm trong phạm vi 100 mét từ vị trí hiện tại của tôi hay không. Tôi không biết liệu tôi có thể sử dụng cơ sở dữ liệu GIS trong ứng dụng của mình hay không.

+0

nền tảng gì bạn đang làm việc tính toán trong? MySql hoặc JavaScript? – Brad

+0

Ở 100m, bạn có thể (a) giả sử trái đất bằng phẳng và sử dụng các công thức khá đơn giản mà nhiều người đã hoặc (b) quan tâm về chiều cao, trong trường hợp đó bạn cần một cơ sở dữ liệu GIS. – derobert

Trả lời

3

Với đầu vào là _LATITUDE, _LONGITUDE_METERSRANGE

SELECT *, 
     (((Acos(Sin((_LATITUDE * Pi()/180)) * Sin(( 
        ` LATITUDE `* Pi()/180)) + 
        Cos 
         (( 
         _LATITUDE * Pi()/180)) * Cos(( 
        ` LATITUDE `* Pi()/180)) * 
        Cos 
         (( 
         ( 
          _LONGITUDE - ` LONGITUDE `) * Pi()/180)))) * 
      180/Pi 
      () 
     ) * 60 * 1.1515 * 1.609344 * 1000) AS METERS 
FROM MYTABLE 
WHERE METERS <= _METERSRANGE 
Các vấn đề liên quan