2010-12-12 22 views
9

Bilinen bir enlem ve boylamla belirli bir nokta etrafında 100 metrelik bir mesafenin hesaplanmasının mümkün olup olmadığını bilmek istiyorum. Bir MySQL veritabanında bazı koordinatlarım var ve belirli bir koordinatın belirli bir noktadan 100 metre mesafede olup olmadığını bilmek istiyorum.Enlem ve boylam bilinen bir nokta olduğunda 100 metre mesafeyi hesaplayın

Android platformu kullanıyorum. Tek bir koordinat (Boylam ve Latitude) biliyorum, ayakta duruyorum (mevcut konum) ve mesafe aralığını ayarlamak istiyorum (100 metre demek).

Veritabanına kaydedilen daha fazla koordinat var ve veritabanında saklanan diğer noktaların mevcut konumumdan 100 metre mesafede olup olmadığını hesaplamak istiyorum. Uygulamamda CBS veritabanını kullanıp kullanamayacağımı bilmiyorum.

+0

? MySQL veya JavaScript? – Brad

+0

100m'de, (a) toprağın o ölçekte düz olduğunu varsayın ve birkaç kişinin zaten vermiş olduğu oldukça basit formülleri veya (b) yükseklik hakkında dikkatli olun, bu durumda bir CBS veritabanına ihtiyacınız vardır. – derobert

cevap

3

Verilen girdi _LATITUDE, _LONGITUDE ve bir _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 
sen hesaplama yapıyorsun platformu
İlgili konular