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

mysql में ST_Distance_Sphere दो स्थानों के बीच सटीक दूरी नहीं दे रहा है

ST_DISTANCE_SPHERE बिंदुओं को POINT(longitude, latitude) . के रूप में व्यक्त करने की आवश्यकता है , आपने उन्हें अपने कोड में उलट दिया है

set @lat1 = 38.898556;
set @lon1 = -77.037852;
set @lat2 = 38.897147;
set @lon2 = -77.043934;
SET @pt1 = point(@lon1, @lat1);
SET @pt2 = point(@lon2, @lat2);
SELECT ST_Distance_Sphere(@pt1, @pt2)/1000,
  lat_lng_distance(@lat1,@lon1,@lat2,@lon2);

+-------------------------------------+-------------------------------------------+
| ST_Distance_Sphere(@pt1, @pt2)/1000 | lat_lng_distance(@lat1,@lon1,@lat2,@lon2) |
+-------------------------------------+-------------------------------------------+
|                   0.549154584458455 |                        0.5496311783790588 |
+-------------------------------------+-------------------------------------------+

यह एक ऐसा परिणाम देता है जो आपके फ़ंक्शन द्वारा लौटाए गए मान के बहुत करीब होता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और mySQL में यूजर पासवर्ड बदलना

  2. लॉक प्रतीक्षा समयबाह्य पार हो गया; JDBC का उपयोग करके लेनदेन को पुनः आरंभ करने का प्रयास करें

  3. एक MySQL तालिका, सूचकांक और डेटा को डुप्लिकेट करना

  4. MySQL max_user_connections त्रुटि को कैसे हल करें

  5. मुझे अक्षांश और देशांतर को कितनी सटीकता से संग्रहीत करना चाहिए?