Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP / MySQL - वास्तविक जीपीएस निर्देशांक से 500 मीटर के दायरे में सभी आइटम खोजें

दो निर्देशांकों के बीच की दूरी की गणना करना वास्तव में हैवरसाइन सूत्र को देखते हुए उतना कठिन नहीं है।

SELECT 
  -- stuff here
  , ( 6371000 * acos( cos( radians(45.815005) ) * cos( radians( stuff.lat ) ) * cos( radians( stuff.lng ) - radians(15.978501) ) + sin( radians(45.815005) ) * sin(radians(stuff.lat)) ) ) AS distance 
FROM 
  stuff
HAVING 
  distance < 500

संदर्भित उत्तर

मूल उत्तर से आवश्यक परिवर्तन:

  1. मूल उत्तर में दिए गए स्थिरांक ने मील या किलोमीटर के मानों की आपूर्ति की। मैंने मीटर के साथ काम करने के लिए यहां स्थिरांक को बदल दिया है।

  2. आपके निर्देशांक का उपयोग करने के लिए स्थिरांक बदल गए हैं। हो सकता है कि आप उन पैरामीटर को स्थिरांक के बजाय बनाने के लिए क्वेरी को थोड़ा और अनुकूलित करना चाहें।

  3. having 500 मीटर की आपकी इच्छा को दर्शाने के लिए अभिव्यक्ति में थोड़ा बदलाव आया। दोबारा, यह कुछ ऐसा हो सकता है जिसे आप पैरामीटर बनाना चाहते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Node.js MySQL क्वेरी से परिणाम लौटा रहा है

  2. MySQLNonTransientConnectionException:डेटाबेस सर्वर से कनेक्शन नहीं बना सका

  3. अनुक्रम-क्ली के साथ mysql डेटाटाइप लंबाई कैसे सेट करें?

  4. MySQL:कई क्षेत्रों में डुप्लिकेट ढूँढना

  5. MySQL क्वेरी तालिका में शामिल होने में अनुक्रमणिका का उपयोग नहीं करती है