मैं एक साइट है कि मूल रूप से एक अक्षां और लंबे समय का उपयोग कर PHP और MySQL के 25 मील के दायरे में स्थानों के लिए लग रहा है लिख रहा हूँ।PHP MySQL और भौगोलिक-स्थान
मैं कैसे कुछ इस तरह काम करेगा सोच रहा हूँ?
मैं एक लेट और लंबे समय तक स्क्रिप पास कर दूंगा और इसे केवल उन स्थानों को खींच दूंगा जो लेट के 25 मील के भीतर और मेरे डेटाबेस के डेटाबेस से लंबे समय तक हैं।
ऐसा करने का सबसे अच्छा तरीका क्या है?
संपादित करें: मुझे 2 अंक के बीच की दूरी की गणना करने के लिए यह कोड मिला।
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
वहाँ तो मैं केवल लौट सकते हैं देखो MYSQL में इस calc करने के लिए एक रास्ता है, तो मील की दूरी पर = < 25?
यह अन्य स्थानों को कहां खींच रहा है? क्या आप सरणी या डेटाबेस में संग्रहीत हर इच्छित स्थान का लेट/लम्बाई रखते हैं? – shamittomar
मैंने सवाल संपादित किया। मेरे डेटाबेस में कुछ निश्चित स्थान होंगे और देखेंगे कि उनमें से कोई भी 25 मील के भीतर है या नहीं। यदि नहीं, तो कोई भी वापस नहीं आ गया है। – shaneburgess
कुछ और यहाँ की जानकारी: क्योंकि यह अनावश्यक पंक्तियों रिटर्न http://stackoverflow.com/questions/20865747/geolocation-mysql-query – miralong