RethinkDB 2.3 - getNearest

ReQL कमांड: getNearest




rethinkdb

ReQL कमांड: getNearest

कमांड सिंटैक्स

table.getNearest(point).optArg("index", index) → array

विवरण

बढ़ती दूरी के क्रम में सॉर्ट किए गए एक भू-स्थानिक सूचकांक के आधार पर निर्दिष्ट बिंदु के निकटतम दस्तावेजों की सूची लौटाएं।

index optArg अनिवार्य है। वैकल्पिक तर्क हैं:

  • max_results : परिणामों की अधिकतम संख्या वापस करने के लिए (डिफ़ॉल्ट 100)।
  • unit : दूरी के लिए इकाई। संभावित मूल्य m (मीटर, डिफ़ॉल्ट), km (किलोमीटर), mi (अंतर्राष्ट्रीय मील), nm (समुद्री मील), ft (अंतर्राष्ट्रीय पैर) हैं।
  • max_dist : किसी ऑब्जेक्ट से निर्दिष्ट बिंदु तक अधिकतम दूरी (डिफ़ॉल्ट 100 किमी)।
  • geo_system : भौगोलिक निर्देशांक के लिए उपयोग करने के लिए संदर्भ दीर्घवृत्त। संभावित मान WGS84 (डिफ़ॉल्ट), पृथ्वी की ज्यामिति के लिए एक सामान्य मानक, या unit_sphere , 1 मीटर त्रिज्या का एक आदर्श क्षेत्र है।

रिटर्न वैल्यू दो-आइटम ऑब्जेक्ट्स होगी जिसमें कीज़ dist और doc , जो निर्दिष्ट बिंदु और दस्तावेज़ ( unit साथ निर्दिष्ट इकाइयों, मीटरों में डिफ़ॉल्ट) और क्रमशः दस्तावेज़ के बीच की दूरी पर सेट है। सरणी को dist के मान द्वारा सॉर्ट किया जाएगा।

उदाहरण: गुप्त आधार पर निकटतम 25 दुश्मन ठिकाने की सूची लौटाएं।

import com.rethinkdb.gen.ast.Point;

Point secretBase = r.point(-122.422876,37.777128);

r.table("hideouts")
 .getNearest(secretBase)
 .optArg("index", "location")
 .optArg("max_results", 25)
 .run(conn);

यदि आप किसी अन्य बिंदु के एक निश्चित त्रिज्या के भीतर सभी बिंदुओं को खोजना चाहते हैं, तो अक्सर circle साथ getIntersecting का उपयोग करना getIntersecting होता circle , जब तक कि circle उत्पन्न होने वाले सर्कल का सन्निकटन पर्याप्त होता है।

संबंधित आदेश

अधिक सहायता प्राप्त करें

आप जो खोज रहे थे, वह नहीं मिला?