2014-04-12 42 views
5

NoSQL veritabanı için OrientDB kullanıyorum ve tam olarak konum belirleme yöntemini nasıl kullanacağımı bilmiyorum. Boyunca hep şeffaf özgü belgelerini okuyun:OrientDB coğrafi konumu

OrientDB Functions

ancak değerlerin önemini anlamıyor.

mesafe fonksiyonu:

mesafe() - Haversine algoritması kullanılarak dünyanın iki nokta arasındaki mesafeyi hesaplar.

mesafe (x, y, 52,20472, 0,14056) < = 30

iki soru burada: ne

  1. olan

Örnek derece olarak koordinatları olmalıdır X, Y ve 30 değerleri?

  • Değerler (52.20472, 0.14056) enlem ve boylam mı?
  • Teşekkürler!

    cevap

    7

    mesafeden sabit koordinat 52,20472 mesafeyi hesaplamak olan kayıt/pozisyonu sırası ile (x, y, 52,20472, 0,14056) < = 30

    x ve y enlem ve boylam (değişken) vardır, 0,14056 .

    başka örneği dikkate:

    seçme mesafe (boylam, enlem, 52,20472, 0,14056) mesafe ile yeri için mesafe olarak < = 30

    yeri Sınıf/küme kayıtlar arasında bu sorgu şekilde döngü ve her bir kayıt için, kaydın enlem ve boylamını enjekte eder ve sabit pozisyona olan mesafeyi hesaplar (52.20472, 0.14056) ve 30m içinde olan yerleri iade eder.

    Yerleri boylam geçerli kayıt enlem boylam alanıdır yerlerin kayıtlarını içeren bir sınıf/kümesidir

    alan adı

    için bir takma ad geçerli kayıt mesafenin enlem alanı olduğunu
    +0

    Teşekkür ederiz @ user2692868! Bir nokta, '30m' 30 mil mi? – andresmafra

    +1

    Merhaba @andresmafra, Konu için teşekkürler. Emin değilim ama sanırım metre cinsindendir, çünkü derecelerdeki açılarla çalışırken uzaklık birimi genellikle metre veya kilometre cinsindendir. Harvesine Algoritması'nı inceledim ve mesafenin Kilometre cinsinden olduğu anlaşılıyor. – Opeoluwa

    0

    Temel olarak bu yalnızca bir kullanım örneğidir. Ve sadece derece olarak ifade edilen pozisyondan (52.20472, 0.14056) 30'dan daha yakın veya daha yakın olan öğeleri nasıl seçebileceğinizi gösteriyor.

    Eğer doğru anladıysam, X & Y, öğelerle konum değerlerinin adı olmalıdır.

    +0

    Ancak 30, 30 mil veya 30 kilometre olarak kabul edilebilir mi? Dereceleri anlamadım ... – andresmafra

    +0

    Viki'de anlatılan konumlar: http://en.wikipedia.org/wiki/Geographic_coordinate_system Ve kullanılan birimler için, servis sağlayıcının fiilen kullanılanı belirlemesi gerektiğini düşünürdüm. –

    1

    Belirtildiği gibi this grubu ve @Opeoluwa tarafından yanıtlanmıştır, mesafe Kilometers!

    +1

    Bu, 'select distance (0,0,0,90)' değerini değerlendirmek için OrientDB kullanılarak kolayca doğrulanabilir. Sonuç yaklaşık. 10007 .... ve ekvatordan Kuzey Kutbu'na olan mesafenin yaklaşık 10.000 km olduğunu biliyoruz. – peak

    İlgili konular