ಪಿಎಚ್ಪಿ ಮತ್ತು ಎಸ್‌ಕ್ಯುಎಲ್: ಹ್ಯಾವರ್ಸಿನ್ ಫಾರ್ಮುಲಾದೊಂದಿಗೆ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶದ ಬಿಂದುಗಳ ನಡುವಿನ ದೊಡ್ಡ ವೃತ್ತದ ಅಂತರವನ್ನು ಲೆಕ್ಕಹಾಕಿ ಅಥವಾ ಪ್ರಶ್ನಿಸಿ

ಹ್ಯಾವರ್ಸಿನ್ ಫಾರ್ಮುಲಾ - ಪಿಎಚ್ಪಿ ಅಥವಾ ಮೈಎಸ್ಕ್ಯೂಎಲ್ನೊಂದಿಗೆ ದೊಡ್ಡ ವೃತ್ತದ ದೂರವನ್ನು ಲೆಕ್ಕಹಾಕಿ

ಈ ತಿಂಗಳು ನಾನು ಜಿಐಎಸ್ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಪಿಎಚ್ಪಿ ಮತ್ತು ಮೈಎಸ್ಕ್ಯೂಎಲ್ನಲ್ಲಿ ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡುತ್ತಿದ್ದೇನೆ. ನಿವ್ವಳ ಸುತ್ತಲೂ ಕಣ್ಣಿಡುವುದು, ಕೆಲವನ್ನು ಕಂಡುಹಿಡಿಯಲು ನನಗೆ ಕಷ್ಟವಾಯಿತು ಭೌಗೋಳಿಕ ಲೆಕ್ಕಾಚಾರಗಳು ಎರಡು ಸ್ಥಳಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಾನು ಅವುಗಳನ್ನು ಇಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ.

ಫ್ಲೈಟ್ ಮ್ಯಾಪ್ ಯುರೋಪ್ ದೊಡ್ಡ ವೃತ್ತದ ಅಂತರದೊಂದಿಗೆ

ಎರಡು ಬಿಂದುಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಸರಳ ಮಾರ್ಗವೆಂದರೆ ತ್ರಿಕೋನದ (A² + B² = C²) ಹೈಪೋಟೆನ್ಯೂಸ್ ಅನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಪೈಥಾಗರಿಯನ್ ಸೂತ್ರವನ್ನು ಬಳಸುವುದು. ಇದನ್ನು ದಿ ಯೂಕ್ಲಿಡಿಯನ್ ದೂರ.

ಅದು ಆಸಕ್ತಿದಾಯಕ ಪ್ರಾರಂಭವಾಗಿದೆ ಆದರೆ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶದ ರೇಖೆಗಳ ನಡುವಿನ ಅಂತರವು ಭೌಗೋಳಿಕತೆಗೆ ಅನ್ವಯಿಸುವುದಿಲ್ಲ ಸಮಾನ ಅಂತರವಲ್ಲ ಹೊರತುಪಡಿಸಿ. ನೀವು ಸಮಭಾಜಕಕ್ಕೆ ಹತ್ತಿರವಾಗುತ್ತಿದ್ದಂತೆ, ಅಕ್ಷಾಂಶದ ರೇಖೆಗಳು ಮತ್ತಷ್ಟು ದೂರವಾಗುತ್ತವೆ. ನೀವು ಕೆಲವು ರೀತಿಯ ಸರಳ ತ್ರಿಕೋನ ಸಮೀಕರಣವನ್ನು ಬಳಸಿದರೆ, ಅದು ಭೂಮಿಯ ವಕ್ರತೆಯ ಕಾರಣದಿಂದಾಗಿ ಒಂದು ಸ್ಥಳದಲ್ಲಿ ದೂರವನ್ನು ನಿಖರವಾಗಿ ಅಳೆಯಬಹುದು ಮತ್ತು ಇನ್ನೊಂದರಲ್ಲಿ ಭಯಂಕರವಾಗಿ ತಪ್ಪಾಗುತ್ತದೆ.

ದೊಡ್ಡ ವೃತ್ತದ ದೂರ

ಭೂಮಿಯ ಸುತ್ತಲೂ ಬಹಳ ದೂರ ಪ್ರಯಾಣಿಸುವ ಮಾರ್ಗಗಳನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ದೊಡ್ಡ ವೃತ್ತದ ದೂರ. ಅಂದರೆ… ಒಂದು ಗೋಳದ ಎರಡು ಬಿಂದುಗಳ ನಡುವಿನ ಕಡಿಮೆ ಅಂತರವು ಸಮತಟ್ಟಾದ ನಕ್ಷೆಯಲ್ಲಿನ ಬಿಂದುಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿರುತ್ತದೆ. ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶದ ರೇಖೆಗಳು ಸಮನಾಗಿರುವುದಿಲ್ಲ ಎಂಬ ಅಂಶದೊಂದಿಗೆ ಅದನ್ನು ಸಂಯೋಜಿಸಿ… ಮತ್ತು ನಿಮಗೆ ಕಷ್ಟಕರವಾದ ಲೆಕ್ಕಾಚಾರವಿದೆ.

ಗ್ರೇಟ್ ವಲಯಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದರ ಅದ್ಭುತ ವೀಡಿಯೊ ವಿವರಣೆ ಇಲ್ಲಿದೆ.

ಹ್ಯಾವರ್ಸಿನ್ ಫಾರ್ಮುಲಾ

ಭೂಮಿಯ ವಕ್ರತೆಯನ್ನು ಬಳಸುವ ದೂರವನ್ನು ಸಂಯೋಜಿಸಲಾಗಿದೆ ಹ್ಯಾವರ್ಸಿನ್ ಸೂತ್ರ, ಇದು ಭೂಮಿಯ ವಕ್ರತೆಯನ್ನು ಅನುಮತಿಸಲು ತ್ರಿಕೋನಮಿತಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಭೂಮಿಯ ಮೇಲಿನ 2 ಸ್ಥಳಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ನೀವು ಹುಡುಕುತ್ತಿರುವಾಗ (ಕಾಗೆ ಹಾರಿದಂತೆ), ಸರಳ ರೇಖೆಯು ನಿಜವಾಗಿಯೂ ಚಾಪವಾಗಿದೆ.

ಇದು ವಿಮಾನ ಹಾರಾಟದಲ್ಲಿ ಅನ್ವಯಿಸುತ್ತದೆ - ನೀವು ಎಂದಾದರೂ ವಿಮಾನಗಳ ನಿಜವಾದ ನಕ್ಷೆಯನ್ನು ನೋಡಿದ್ದೀರಾ ಮತ್ತು ಅವು ಕಮಾನುಗಳಾಗಿರುವುದನ್ನು ಗಮನಿಸಿದ್ದೀರಾ? ಅದು ನೇರವಾಗಿ ಸ್ಥಳಕ್ಕಿಂತ ಎರಡು ಬಿಂದುಗಳ ನಡುವೆ ಕಮಾನುಗಳಲ್ಲಿ ಹಾರಲು ಚಿಕ್ಕದಾಗಿದೆ.

ಪಿಎಚ್ಪಿ: ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶದ 2 ಬಿಂದುಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಲೆಕ್ಕಹಾಕಿ

ಹೇಗಾದರೂ, ಎರಡು ದಶಮಾಂಶ ಸ್ಥಳಗಳಿಗೆ ದುಂಡಾದ ಎರಡು ಬಿಂದುಗಳ ನಡುವಿನ ಅಂತರವನ್ನು (ಮೈಲ್ ವರ್ಸಸ್ ಕಿಲೋಮೀಟರ್ ಪರಿವರ್ತನೆಯೊಂದಿಗೆ) ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಪಿಎಚ್ಪಿ ಸೂತ್ರ ಇಲ್ಲಿದೆ.

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'miles') {
  $theta = $longitude1 - $longitude2; 
  $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); 
  $distance = acos($distance); 
  $distance = rad2deg($distance); 
  $distance = $distance * 60 * 1.1515; 
  switch($unit) { 
    case 'miles': 
      break; 
    case 'kilometers' : 
      $distance = $distance * 1.609344; 
  } 
  return (round($distance,2)); 
}

SQL: ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶವನ್ನು ಬಳಸಿಕೊಂಡು ಮೈಲಿಗಳಲ್ಲಿನ ದೂರವನ್ನು ಲೆಕ್ಕಹಾಕುವ ಮೂಲಕ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಹಿಂಪಡೆಯುವುದು

ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಅಂತರದಲ್ಲಿ ಕಂಡುಹಿಡಿಯಲು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು SQL ಅನ್ನು ಬಳಸುವುದು ಸಹ ಸಾಧ್ಯವಿದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನನ್ನ ಸ್ಥಳಕ್ಕೆ $ ಅಕ್ಷಾಂಶ ಮತ್ತು $ ರೇಖಾಂಶದಲ್ಲಿ ವೇರಿಯಬಲ್ $ ದೂರಕ್ಕಿಂತ (ಮೈಲ್ಸ್‌ನಲ್ಲಿ) ಕಡಿಮೆ ಅಥವಾ ಸಮನಾಗಿರುವ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಾನು MySQL ನಲ್ಲಿ MyTable ಅನ್ನು ಪ್ರಶ್ನಿಸಲಿದ್ದೇನೆ:

ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಒಳಗೆ ಹಿಂಪಡೆಯುವ ಪ್ರಶ್ನೆ ದೂರ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶದ ಎರಡು ಬಿಂದುಗಳ ನಡುವಿನ ಮೈಲಿ ದೂರವನ್ನು ಲೆಕ್ಕಹಾಕುವ ಮೂಲಕ:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`)*pi()/180)))) * 180/pi()) * 60 * 1.1515) as distance FROM `table` WHERE distance <= ".$distance."

ನೀವು ಇದನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ:

  • $ ರೇಖಾಂಶ - ಇದು ಪಿಎಚ್ಪಿ ವೇರಿಯೇಬಲ್ ಆಗಿದ್ದು, ಅಲ್ಲಿ ನಾನು ಬಿಂದುವಿನ ರೇಖಾಂಶವನ್ನು ಹಾದುಹೋಗುತ್ತಿದ್ದೇನೆ.
  • $ ಅಕ್ಷಾಂಶ - ಇದು ಪಿಎಚ್ಪಿ ವೇರಿಯೇಬಲ್ ಆಗಿದ್ದು, ಅಲ್ಲಿ ನಾನು ಬಿಂದುವಿನ ರೇಖಾಂಶವನ್ನು ಹಾದುಹೋಗುತ್ತಿದ್ದೇನೆ.
  • $ ದೂರ - ಇದು ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಕಡಿಮೆ ಅಥವಾ ಸಮನಾಗಿ ಕಂಡುಹಿಡಿಯಲು ನೀವು ಬಯಸುವ ದೂರ.
  • ಟೇಬಲ್ - ಇದು ಟೇಬಲ್… ನಿಮ್ಮ ಟೇಬಲ್ ಹೆಸರಿನೊಂದಿಗೆ ಅದನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ.
  • ಅಕ್ಷಾಂಶ - ಇದು ನಿಮ್ಮ ಅಕ್ಷಾಂಶದ ಕ್ಷೇತ್ರ.
  • ರೇಖಾಂಶ - ಇದು ನಿಮ್ಮ ರೇಖಾಂಶದ ಕ್ಷೇತ್ರ.

SQL: ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶವನ್ನು ಬಳಸಿಕೊಂಡು ಕಿಲೋಮೀಟರ್‌ಗಳಲ್ಲಿನ ದೂರವನ್ನು ಲೆಕ್ಕಹಾಕುವ ಮೂಲಕ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಪಡೆಯಲಾಗುತ್ತಿದೆ

ಮತ್ತು MySQL ನಲ್ಲಿ ಕಿಲೋಮೀಟರ್ ಬಳಸುವ SQL ಪ್ರಶ್ನೆ ಇಲ್ಲಿದೆ:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`) * pi()/180)))) * 180/pi()) * 60 * 1.1515 * 1.609344) as distance FROM `table` WHERE distance <= ".$distance."

ನೀವು ಇದನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ:

  • $ ರೇಖಾಂಶ - ಇದು ಪಿಎಚ್ಪಿ ವೇರಿಯೇಬಲ್ ಆಗಿದ್ದು, ಅಲ್ಲಿ ನಾನು ಬಿಂದುವಿನ ರೇಖಾಂಶವನ್ನು ಹಾದುಹೋಗುತ್ತಿದ್ದೇನೆ.
  • $ ಅಕ್ಷಾಂಶ - ಇದು ಪಿಎಚ್ಪಿ ವೇರಿಯೇಬಲ್ ಆಗಿದ್ದು, ಅಲ್ಲಿ ನಾನು ಬಿಂದುವಿನ ರೇಖಾಂಶವನ್ನು ಹಾದುಹೋಗುತ್ತಿದ್ದೇನೆ.
  • $ ದೂರ - ಇದು ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಕಡಿಮೆ ಅಥವಾ ಸಮನಾಗಿ ಕಂಡುಹಿಡಿಯಲು ನೀವು ಬಯಸುವ ದೂರ.
  • ಟೇಬಲ್ - ಇದು ಟೇಬಲ್… ನಿಮ್ಮ ಟೇಬಲ್ ಹೆಸರಿನೊಂದಿಗೆ ಅದನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ.
  • ಅಕ್ಷಾಂಶ - ಇದು ನಿಮ್ಮ ಅಕ್ಷಾಂಶದ ಕ್ಷೇತ್ರ.
  • ರೇಖಾಂಶ - ಇದು ನಿಮ್ಮ ರೇಖಾಂಶದ ಕ್ಷೇತ್ರ.

ನಾನು ಈ ಕೋಡ್ ಅನ್ನು ಎಂಟರ್‌ಪ್ರೈಸ್ ಮ್ಯಾಪಿಂಗ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ ಬಳಸಿದ್ದೇನೆ, ಅದನ್ನು ನಾವು ಚಿಲ್ಲರೆ ಅಂಗಡಿಗಾಗಿ ಉತ್ತರ ಅಮೆರಿಕಾದಾದ್ಯಂತ 1,000 ಕ್ಕೂ ಹೆಚ್ಚು ಸ್ಥಳಗಳೊಂದಿಗೆ ಬಳಸಿದ್ದೇವೆ ಮತ್ತು ಅದು ಸುಂದರವಾಗಿ ಕೆಲಸ ಮಾಡಿದೆ.

76 ಪ್ರತಿಕ್ರಿಯೆಗಳು

  1. 1

    ಹಂಚಿಕೊಂಡಿದ್ದಕ್ಕೆ ತುಂಬಾ ಧನ್ಯವಾದಗಳು. ಇದು ಸುಲಭವಾದ ನಕಲು ಮತ್ತು ಅಂಟಿಸುವ ಕೆಲಸವಾಗಿತ್ತು ಮತ್ತು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ನೀವು ನನಗೆ ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಉಳಿಸಿದ್ದೀರಿ.
    ಸಿ ಗೆ ಪೋರ್ಟ್ ಮಾಡುವ ಯಾರಿಗಾದರೂ ಎಫ್‌ವೈಐ:
    ಡಬಲ್ ಡಿಗ್ 2 ರಾಡ್ (ಡಬಲ್ ಡಿಗ್) {ರಿಟರ್ನ್ ಡಿಗ್ * ​​(3.14159265358979323846 / 180.0); }

  2. 2

    ಪೋಸ್ಟ್ ಮಾಡುವ ತುಂಬಾ ಸುಂದರವಾದ ತುಣುಕು - ತುಂಬಾ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡಿದೆ - ನಾನು ಲ್ಯಾಟ್-ಲಾಂಗ್ ಅನ್ನು ಹೊಂದಿರುವ ಟೇಬಲ್ ಹೆಸರನ್ನು ಮಾತ್ರ ಬದಲಾಯಿಸಬೇಕಾಗಿತ್ತು. ಇದು ಬಹಳ ವೇಗವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ .. ನನ್ನಲ್ಲಿ ಸಾಕಷ್ಟು ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಲ್ಯಾಟ್-ಲಾಂಗ್‌ಗಳಿವೆ (<400) ಆದರೆ ಇದು ಚೆನ್ನಾಗಿ ಅಳೆಯುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಒಳ್ಳೆಯ ಸೈಟ್ ಕೂಡ - ನಾನು ಅದನ್ನು ನನ್ನ del.icio.us ಖಾತೆಗೆ ಸೇರಿಸಿದ್ದೇನೆ ಮತ್ತು ನಿಯಮಿತವಾಗಿ ಮತ್ತೆ ಪರಿಶೀಲಿಸುತ್ತೇನೆ.

  3. 4
  4. 5

    ದೂರ ಲೆಕ್ಕಾಚಾರಗಳಿಗಾಗಿ ನಾನು ಇಡೀ ದಿನ ಹುಡುಕಿದೆ ಮತ್ತು ಹಾರ್ವೆರ್ಸಿನ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ, ಅದನ್ನು SQL ಹೇಳಿಕೆಯಲ್ಲಿ ಹೇಗೆ ಹಾಕಬೇಕು ಎಂಬುದರ ಕುರಿತು ಉದಾಹರಣೆ ನೀಡಿದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು. ಧನ್ಯವಾದಗಳು ಮತ್ತು ಶುಭಾಶಯಗಳು, ಡೇನಿಯಲ್

  5. 8

    ನಿಮ್ಮ SQL ಗೆ ಹೇಳಿಕೆಯ ಅಗತ್ಯವಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
    WHERE ದೂರ <= $ ದೂರಕ್ಕೆ ಬದಲಾಗಿ ನಿಮಗೆ ಬೇಕಾಗಬಹುದು
    ಹ್ಯಾವಿಂಗ್ ದೂರವನ್ನು ಬಳಸಿ <= $ ದೂರ

    ಇಲ್ಲದಿದ್ದರೆ ನನಗೆ ಸಮಯ ಮತ್ತು ಶಕ್ತಿಯನ್ನು ಉಳಿಸಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು.

    • 9

      ಹಾಯ್ ಡೇವಿಡ್,

      ನೀವು ಯಾವುದೇ ರೀತಿಯ ಗ್ರೂಪ್ ಬೈ ಹೇಳಿಕೆಯನ್ನು ಮಾಡುತ್ತಿದ್ದರೆ, ನಿಮಗೆ ಹ್ಯಾವಿಂಗ್ ಅಗತ್ಯವಿದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ನಾನು ಅದನ್ನು ಮಾಡುತ್ತಿಲ್ಲ.

      ಡೌಗ್

  6. 10
  7. 11
  8. 12

    ಈ ಕೋಡ್ ಹಂಚಿಕೊಂಡಿದ್ದಕ್ಕೆ ತುಂಬಾ ಧನ್ಯವಾದಗಳು. ಇದು ನನಗೆ ಸಾಕಷ್ಟು ಅಭಿವೃದ್ಧಿ ಸಮಯವನ್ನು ಉಳಿಸಿದೆ. ಅಲ್ಲದೆ, MySQL 5.x ಗೆ ಹ್ಯಾವಿಂಗ್ ಹೇಳಿಕೆ ಅಗತ್ಯ ಎಂದು ಸೂಚಿಸಿದ್ದಕ್ಕಾಗಿ ನಿಮ್ಮ ಓದುಗರಿಗೆ ಧನ್ಯವಾದಗಳು. ತುಂಬಾ ಸಹಾಯಕವಾಗಿದೆ.

  9. 14

    ಮೇಲಿನ ಸೂತ್ರವು ನನಗೆ ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಉಳಿಸುತ್ತಿದೆ. ತುಂಬ ಧನ್ಯವಾದಗಳು.
    ನಾನು ಎನ್‌ಎಂಇಎ ಸ್ವರೂಪ ಮತ್ತು ಪದವಿಗಳ ನಡುವೆ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ. ಪುಟದ ಕೆಳಭಾಗದಲ್ಲಿರುವ ಈ URL ನಲ್ಲಿ ನಾನು ಸೂತ್ರವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ. http://www.errorforum.com/knowledge-base/16273-converting-nmea-sentence-latitude-longitude-decimal-degrees.html

    ಇದನ್ನು ಪರಿಶೀಲಿಸುವುದು ಯಾರಿಗಾದರೂ ತಿಳಿದಿದೆಯೇ?

    ಧನ್ಯವಾದಗಳು!
    ಹ್ಯಾರಿ

  10. 15
  11. 16

    WHERE ನನಗೆ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ ಎಂದು ನಾನು ಕಂಡುಕೊಂಡೆ. ಅದನ್ನು ಹ್ಯಾವಿಂಗ್‌ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ ಮತ್ತು ಎಲ್ಲವೂ ಪರಿಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮೊದಲಿಗೆ ನಾನು ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಓದಲಿಲ್ಲ ಮತ್ತು ನೆಸ್ಟೆಡ್ ಸೆಲೆಕ್ಟ್ ಬಳಸಿ ಅದನ್ನು ಮತ್ತೆ ಬರೆದಿದ್ದೇನೆ. ಎರಡೂ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

  12. 17
  13. 18

    ನಂಬಲಾಗದಷ್ಟು ಸಹಾಯಕವಾಗಿದೆ, ತುಂಬಾ ಧನ್ಯವಾದಗಳು! ನಾನು “WHERE” ಗಿಂತ ಹೊಸ “ಹ್ಯಾವಿಂಗ್” ನೊಂದಿಗೆ ಕೆಲವು ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸುತ್ತಿದ್ದೆ, ಆದರೆ ಒಮ್ಮೆ ನಾನು ಇಲ್ಲಿ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಓದಿದಾಗ (ಹತಾಶೆ = ಪಿ ಯಲ್ಲಿ ನನ್ನ ಹಲ್ಲುಗಳನ್ನು ರುಬ್ಬಿದ ಅರ್ಧ ಘಂಟೆಯ ನಂತರ), ನಾನು ಅದನ್ನು ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡಿದೆ. ಧನ್ಯವಾದಗಳು ^ _ ^

  14. 19
  15. 20

    ಆ ರೀತಿಯ ಆಯ್ದ ಹೇಳಿಕೆಯು ಬಹಳ ಗಣನೀಯವಾಗಿ ತೀವ್ರವಾಗಿರುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ನಿಧಾನವಾಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ನೀವು ಬಹಳಷ್ಟು ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅದು ಬೇಗನೆ ವಿಷಯಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

    ಲೆಕ್ಕಾಚಾರದ ಅಂತರದಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಒಂದು ಚದರ ಪ್ರದೇಶವನ್ನು ಬಳಸಿಕೊಂಡು ಮೊದಲ (ಕಚ್ಚಾ) ಆಯ್ಕೆಯನ್ನು ಚಲಾಯಿಸುವುದು ಹೆಚ್ಚು ಕಡಿಮೆ ತೀವ್ರವಾದ ವಿಧಾನವಾಗಿದೆ, ಅಂದರೆ “ಟೇಬಲ್ ಹೆಸರಿನಿಂದ“ ಆಯ್ಕೆಮಾಡಿ * ಅಲ್ಲಿ ಲ್ಯಾಟ್ 1 ಮತ್ತು ಲ್ಯಾಟ್ 2 ನಡುವಿನ ಅಕ್ಷಾಂಶ ಮತ್ತು ಲೋನ್ 1 ಮತ್ತು ಲೋನ್ 2 ನಡುವಿನ ರೇಖಾಂಶ ”. lat1 = targetlatitude - latdiff, lat2 = targetlatitude + latdiff, lon ಗೆ ಹೋಲುತ್ತದೆ. ಲ್ಯಾಟಿಫ್ ~ = ದೂರ / 111 (ಕಿಮೀಗೆ), ಅಥವಾ 69 ಡಿಗ್ರಿ ಅಕ್ಷಾಂಶ ~ 1 ಕಿಮೀ ಆಗಿರುವುದರಿಂದ ಮೈಲಿಗಳಿಗೆ ದೂರ / 111 (ಭೂಮಿಯು ಸ್ವಲ್ಪ ಅಂಡಾಕಾರವಾಗಿರುವುದರಿಂದ ಸ್ವಲ್ಪ ವ್ಯತ್ಯಾಸವಿದೆ, ಆದರೆ ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ಸಾಕು). londiff = distance / (abs (cos (deg2rad (latitude)) * 111%) - ಅಥವಾ 69 ಮೈಲಿಗಳಿಗೆ (ವ್ಯತ್ಯಾಸಗಳಿಗೆ ಕಾರಣವಾಗಲು ನೀವು ಸ್ವಲ್ಪ ದೊಡ್ಡ ಚೌಕವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು). ನಂತರ ಅದರ ಫಲಿತಾಂಶವನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ರೇಡಿಯಲ್ ಸೆಲೆಕ್ಟ್ಗೆ ಫೀಡ್ ಮಾಡಿ. ಹೊರಗಡೆ ಇರುವ ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಲೆಕ್ಕಹಾಕಲು ಮರೆಯಬೇಡಿ - ಅಂದರೆ ಸ್ವೀಕಾರಾರ್ಹ ರೇಖಾಂಶದ ವ್ಯಾಪ್ತಿಯು -180 ರಿಂದ +180 ಮತ್ತು ಸ್ವೀಕಾರಾರ್ಹ ಅಕ್ಷಾಂಶದ ವ್ಯಾಪ್ತಿಯು -90 ರಿಂದ +90 - ನಿಮ್ಮ ಲ್ಯಾಟಿಫ್ ಅಥವಾ ಲಾಂಡಿಫ್ ಈ ವ್ಯಾಪ್ತಿಯ ಹೊರಗೆ ಚಲಿಸಿದರೆ . ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಇದು ಅನ್ವಯವಾಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಇದು ಧ್ರುವದಿಂದ ಧ್ರುವದವರೆಗಿನ ಪೆಸಿಫಿಕ್ ಸಾಗರದ ಮೂಲಕ ಒಂದು ರೇಖೆಯ ಮೇಲಿನ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ, ಆದರೂ ಇದು ಚುಕೊಟ್ಕಾದ ಒಂದು ಭಾಗವನ್ನು ಮತ್ತು ಅಲಾಸ್ಕಾದ ಭಾಗವನ್ನು ers ೇದಿಸುತ್ತದೆ.

    ಈ ಮೂಲಕ ನಾವು ಸಾಧಿಸುವುದು ನೀವು ಈ ಲೆಕ್ಕಾಚಾರವನ್ನು ಮಾಡುವ ಬಿಂದುಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ಗಮನಾರ್ಹವಾದ ಕಡಿತವಾಗಿದೆ. ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ನೀವು ಒಂದು ಮಿಲಿಯನ್ ಜಾಗತಿಕ ಅಂಕಗಳನ್ನು ಸರಿಸುಮಾರು ಸಮನಾಗಿ ವಿತರಿಸಿದ್ದರೆ ಮತ್ತು ನೀವು 100 ಕಿ.ಮೀ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಹುಡುಕಲು ಬಯಸಿದರೆ, ನಿಮ್ಮ ಮೊದಲ (ವೇಗದ) ಹುಡುಕಾಟವು 10000 ಚದರ ಕಿ.ಮೀ ವಿಸ್ತೀರ್ಣವನ್ನು ಹೊಂದಿರುತ್ತದೆ ಮತ್ತು ಬಹುಶಃ ಸುಮಾರು 20 ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ (ಒಂದು ವಿತರಣೆಯ ಆಧಾರದ ಮೇಲೆ ಸುಮಾರು 500M ಚದರ ಕಿಮೀ ಮೇಲ್ಮೈ ವಿಸ್ತೀರ್ಣ), ಅಂದರೆ ನೀವು ಈ ಪ್ರಶ್ನೆಗೆ ಒಂದು ಮಿಲಿಯನ್ ಬಾರಿ ಬದಲಾಗಿ ಸಂಕೀರ್ಣ ದೂರ ಲೆಕ್ಕಾಚಾರವನ್ನು 20 ಬಾರಿ ಓಡಿಸುತ್ತೀರಿ.

    • 21
      • 22

        ಅದ್ಭುತ ಸಲಹೆ! ಒಳಗಿನ ಚೌಕವನ್ನು ಎಳೆದ ಒಂದು ಕಾರ್ಯವನ್ನು ಬರೆದ ಡೆವಲಪರ್‌ನೊಂದಿಗೆ ನಾನು ನಿಜವಾಗಿ ಕೆಲಸ ಮಾಡಿದ್ದೇನೆ ಮತ್ತು ನಂತರ ಉಳಿದಿರುವ ಬಿಂದುಗಳನ್ನು ಸೇರಿಸಲು ಮತ್ತು ಹೊರಗಿಡಲು ಪರಿಧಿಯ ಸುತ್ತ 'ಚೌಕಗಳನ್ನು' ಮಾಡಿದ ಪುನರಾವರ್ತಿತ ಕ್ರಿಯೆ. ಫಲಿತಾಂಶವು ನಂಬಲಾಗದಷ್ಟು ವೇಗದ ಫಲಿತಾಂಶವಾಗಿದೆ - ಅವರು ಮೈಕ್ರೊ ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಲಕ್ಷಾಂತರ ಅಂಕಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಬಹುದು.

        ಮೇಲಿನ ನನ್ನ ವಿಧಾನವು ಖಂಡಿತವಾಗಿಯೂ 'ಕಚ್ಚಾ' ಆದರೆ ಸಮರ್ಥವಾಗಿದೆ. ಮತ್ತೊಮ್ಮೆ ಧನ್ಯವಾದಗಳು!

        • 23

          ಡೌಗ್,

          ಲಾಟ್ ಲಾಂಗ್ ಪಾಯಿಂಟ್ ಬಹುಭುಜಾಕೃತಿಯೊಳಗೆ ಇದೆಯೇ ಎಂದು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ನಾನು ಮೈಸ್ಕ್ಲ್ ಮತ್ತು ಪಿಎಚ್ಪಿ ಬಳಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದೇನೆ. ನಿಮ್ಮ ಡೆವಲಪರ್ ಸ್ನೇಹಿತ ಈ ಕಾರ್ಯವನ್ನು ಹೇಗೆ ಸಾಧಿಸಬೇಕು ಎಂಬುದರ ಕುರಿತು ಯಾವುದೇ ಉದಾಹರಣೆಗಳನ್ನು ಪ್ರಕಟಿಸಿದರೆ ನಿಮಗೆ ತಿಳಿದಿದೆಯೇ. ಅಥವಾ ನಿಮಗೆ ಯಾವುದೇ ಉತ್ತಮ ಉದಾಹರಣೆಗಳು ತಿಳಿದಿದೆಯೇ. ಮುಂಚಿತವಾಗಿ ಧನ್ಯವಾದಗಳು.

  16. 24

    ಎಲ್ಲರಿಗೂ ನಮಸ್ಕಾರ ಇದು ನನ್ನ ಪರೀಕ್ಷಾ SQL ಹೇಳಿಕೆ:

    SELECT DISTINCT area_id, (
    (
    (
    acos( sin( ( 13.65 * pi( ) /180 ) ) * sin( (
    `lat_dec` * pi( ) /180 ) ) + cos( ( 13.65 * pi( ) /180 ) ) * cos( (
    `lat_dec` * pi( ) /180 )
    ) * cos( (
    ( 51.02 - `lon_dec` ) * pi( ) /180 )
    )
    )
    ) *180 / pi( )
    ) *60 * 1.1515 * 1.609344
    ) AS distance
    FROM `post_codes` WHERE distance <= 50

    ಮತ್ತು ಮೈಸ್ಕ್ಲ್ ನನಗೆ ದೂರವನ್ನು ಹೇಳುತ್ತಿದ್ದಾನೆ, ಕಾಲಮ್ ಆಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ, ನಾನು ಆದೇಶವನ್ನು ಬಳಸಬಹುದು, ನಾನು ಎಲ್ಲಿ ಇಲ್ಲದೆ ಮಾಡಬಹುದು, ಮತ್ತು ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಅದರೊಂದಿಗೆ ಅಲ್ಲ…

  17. 26

    ಇದು ಅದ್ಭುತವಾಗಿದೆ, ಆದಾಗ್ಯೂ ಪಕ್ಷಿಗಳು ಹಾರುವಂತೆಯೇ ಇದೆ. ಗೂಗಲ್ ನಕ್ಷೆಗಳ API ಅನ್ನು ಹೇಗಾದರೂ ಪ್ರಯತ್ನಿಸಲು ಮತ್ತು ಸಂಯೋಜಿಸಲು ಇದು ಉತ್ತಮವಾಗಿರುತ್ತದೆ (ಬಹುಶಃ ರಸ್ತೆಗಳನ್ನು ಬಳಸುವುದು ಇತ್ಯಾದಿ) ಬೇರೆ ರೀತಿಯ ಸಾರಿಗೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಕಲ್ಪನೆಯನ್ನು ನೀಡಲು. ಪ್ರಯಾಣದ ಮಾರಾಟಗಾರರ ಸಮಸ್ಯೆಗೆ ಸಮರ್ಥ ಪರಿಹಾರವನ್ನು ನೀಡಲು ಸಾಧ್ಯವಾಗುವಂತಹ ಪಿಎಚ್‌ಪಿ ಯಲ್ಲಿ ನಾನು ಇನ್ನೂ ಅನುಕರಿಸಿದ ಎನೆಲಿಂಗ್ ಕಾರ್ಯವನ್ನು ಮಾಡಬೇಕಾಗಿಲ್ಲ. ಆದರೆ ಹಾಗೆ ಮಾಡಲು ನಿಮ್ಮ ಕೆಲವು ಕೋಡ್‌ಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ನನಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

  18. 27

    ಹಾಯ್ ಡೌಗ್ಲಾಸ್,
    ಈ ಲೇಖನಕ್ಕಾಗಿ ತುಂಬಾ ಧನ್ಯವಾದಗಳು - ನೀವು ನನಗೆ ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಉಳಿಸಿದ್ದೀರಿ.
    ನೋಡಿಕೊಳ್ಳಿ,
    ನಿಮ್ರೋಡ್ s ಇಸ್ರೇಲ್

  19. 28

    ಒಳ್ಳೆಯ ಲೇಖನ! ಎರಡು ಬಿಂದುಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಹೇಗೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಎಂದು ವಿವರಿಸುವ ಬಹಳಷ್ಟು ಲೇಖನಗಳನ್ನು ನಾನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ ಆದರೆ ನಾನು ನಿಜವಾಗಿಯೂ SQL ತುಣುಕನ್ನು ಹುಡುಕುತ್ತಿದ್ದೆ.

  20. 29
  21. 30
  22. 31
  23. 32
  24. 36

    ನನ್ನ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವ ಈ ಪುಟವನ್ನು ಅಂತಿಮವಾಗಿ ಕಂಡುಹಿಡಿಯಲು 2 ದಿನಗಳ ಸಂಶೋಧನೆ. ನನ್ನ ವೊಲ್ಫ್ರಾಮ್ ಆಲ್ಫಾವನ್ನು ನಾನು ಉತ್ತಮವಾಗಿ ಬಸ್ಟ್ ಮಾಡಿದಂತೆ ತೋರುತ್ತಿದೆ ಮತ್ತು ನನ್ನ ಗಣಿತವನ್ನು ಬ್ರಷ್ ಮಾಡಿ. WHERE ನಿಂದ HAVING ಗೆ ಬದಲಾವಣೆಯು ನನ್ನ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯ ಕ್ರಮದಲ್ಲಿ ಹೊಂದಿದೆ. ಧನ್ಯವಾದಗಳು

  25. 37
    • 38

      ಧನ್ಯವಾದಗಳು ಜಾರ್ಜಿ. ನಾನು ಕಾಲಮ್ 'ದೂರ' ಸಿಗುತ್ತಿಲ್ಲ. ಒಮ್ಮೆ ನಾನು WHERE ಅನ್ನು HAVING ಗೆ ಬದಲಾಯಿಸಿದಾಗ ಅದು ಮೋಡಿಯಂತೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ!

  26. 39

    ಇದು ನಾನು ಕಂಡುಕೊಂಡ ಮೊದಲ ಪುಟ ಎಂದು ನಾನು ಬಯಸುತ್ತೇನೆ. ಅನೇಕ ವಿಭಿನ್ನ ಆಜ್ಞೆಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿದ ನಂತರ ಇದು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುವುದು ಮತ್ತು ನನ್ನ ಸ್ವಂತ ಡೇಟಾಬೇಸ್‌ಗೆ ಹೊಂದಿಕೊಳ್ಳಲು ಕನಿಷ್ಠ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ಅಗತ್ಯವಿದೆ.
    ಬಹಳಷ್ಟು ಧನ್ಯವಾದಗಳು!

  27. 40

    ಇದು ನಾನು ಕಂಡುಕೊಂಡ ಮೊದಲ ಪುಟ ಎಂದು ನಾನು ಬಯಸುತ್ತೇನೆ. ಅನೇಕ ವಿಭಿನ್ನ ಆಜ್ಞೆಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿದ ನಂತರ ಇದು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುವುದು ಮತ್ತು ನನ್ನ ಸ್ವಂತ ಡೇಟಾಬೇಸ್‌ಗೆ ಹೊಂದಿಕೊಳ್ಳಲು ಕನಿಷ್ಠ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ಅಗತ್ಯವಿದೆ.
    ಬಹಳಷ್ಟು ಧನ್ಯವಾದಗಳು!

  28. 41
  29. 42
  30. 43
  31. 45
  32. 46
  33. 47

    ಈ ಸೂತ್ರವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನನಗೆ ತಿಳಿದಿದೆ, ಆದರೆ ಭೂಮಿಯ ತ್ರಿಜ್ಯವನ್ನು ಎಲ್ಲಿ ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ ಎಂದು ನನಗೆ ನೋಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ಯಾರಾದರೂ ನನಗೆ ಜ್ಞಾನೋದಯ ನೀಡಬಹುದೇ?

  34. 49
  35. 50

    ದೊಡ್ಡ ವಿಷಯ ಡೌಗ್ಲಾಸ್. ಎರಡು ಪಾಯಿಂಟ್‌ಗಳ ಉದ್ದ / ಲ್ಯಾಟ್ / ಬೇರಿಂಗ್ ಅನ್ನು ನೀಡಿರುವ point ೇದಕ ಬಿಂದುವನ್ನು ಪಡೆಯಲು ನೀವು ಪ್ರಯತ್ನಿಸಿದ್ದೀರಾ?

  36. 52

    ಧನ್ಯವಾದಗಳು ಡೌಗ್ಲಾಸ್, SQL ಪ್ರಶ್ನೆಯು ನನಗೆ ಬೇಕಾಗಿರುವುದು, ಮತ್ತು ನಾನು ಅದನ್ನು ನಾನೇ ಬರೆಯಬೇಕು ಎಂದು ಭಾವಿಸಿದೆ. ಅಕ್ಷಾಂಶ ರೇಖಾಂಶ ಕಲಿಕೆಯ ರೇಖೆಯಿಂದ ನೀವು ನನ್ನನ್ನು ಉಳಿಸಿದ್ದೀರಿ!

  37. 53
  38. 55
  39. 56

    ಡೌಗ್ಲಾಸ್, ಈ ಅದ್ಭುತ ಕೋಡ್‌ಗೆ ಧನ್ಯವಾದಗಳು. ನನ್ನ ಜಿಪಿಎಸ್ ಸಮುದಾಯ ಪೋರ್ಟಲ್‌ನಲ್ಲಿ ಇದನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂಬುದರ ಬಗ್ಗೆ ನನ್ನ ತಲೆ ಬಿರುಕು ಬಿಟ್ಟಿದೆ. ನೀವು ನನಗೆ ಗಂಟೆಗಳ ಉಳಿಸಿದ್ದೀರಿ.

  40. 58

    ಈ ಸಹಾಯಕವಾದ ಲೇಖನವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು,  
    ಆದರೆ ಕೆಲವು ಕಾರಣಗಳಿಗಾಗಿ ನಾನು ಕೇಳಲು ಬಯಸುತ್ತೇನೆ
    mysql db ಒಳಗೆ ಕೋರ್ಡ್‌ಗಳು ಮತ್ತು ಬಳಕೆದಾರರಿಂದ php ಗೆ ಸೇರಿಸಲಾದ ಕೋರ್ಡ್‌ಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?
    ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾಗಿ ವಿವರಿಸಲು:
    1. ಬಳಕೆದಾರರು ಡಿಬಿ ಮತ್ತು ಬಳಕೆದಾರರ ಕೋರ್ಡ್‌ಗಳಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಡೇಟಾವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು [ಐಡಿ] ಅನ್ನು ಸೇರಿಸಬೇಕಾಗುತ್ತದೆ
    2. ಪಿಎಚ್ಪಿ ಫೈಲ್ [ಐಡಿ] ಬಳಸಿ ಗುರಿ ಡೇಟಾವನ್ನು (ಕೋರ್ಡ್‌ಗಳು) ಪಡೆಯುತ್ತದೆ ಮತ್ತು ನಂತರ ಬಳಕೆದಾರ ಮತ್ತು ಟಾರ್ಗೆಟ್ ಪಾಯಿಂಟ್ ನಡುವಿನ ಅಂತರವನ್ನು ಲೆಕ್ಕಹಾಕುತ್ತದೆ

    ಅಥವಾ ಕೆಳಗಿನ ಕೋಡ್‌ನಿಂದ ದೂರವನ್ನು ಪಡೆಯಬಹುದೇ?

    . $ ಅಕ್ಷಾಂಶ. ”* ಪೈ () / 180)) * ಕಾಸ್ ((` ಅಕ್ಷಾಂಶ` * ಪೈ () / 180)) * ಕಾಸ್ (((“$ ರೇಖಾಂಶ.” - `ರೇಖಾಂಶ`) * ಪೈ () / 180) ))) * 180 / pi ()) * 180 * 180 * 60) `MyTable` WHERE ದೂರ> =“. $ ದೂರ. ” >>>> ನಾನು ಇಲ್ಲಿಂದ ದೂರವನ್ನು “ಹೊರತೆಗೆಯಬಹುದೇ”?
    ಮತ್ತೊಮ್ಮೆ ಧನ್ಯವಾದಗಳು,
    ಟಿಮ್ಮಿ ಎಸ್

    • 59

      ಪರವಾಗಿಲ್ಲ, ಪಿಎಚ್ಪಿಯಲ್ಲಿ “ಕಾರ್ಯ” ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಾನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದ್ದೇನೆ
      $ dis = getDistanceBetweenPointsNew ($ userLati, $ userLongi, $ lati, $ longi, $ unit = 'Km')
      ತುಂಬಾ ಧನ್ಯವಾದಗಳು!! 

  41. 60

    ಸರಿ, ನಾನು ಪ್ರಯತ್ನಿಸಿದ ಎಲ್ಲವೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ. ನನ್ನ ಪ್ರಕಾರ, ನನ್ನಲ್ಲಿ ಏನು ಕೆಲಸಗಳಿವೆ, ಆದರೆ ದೂರವು ದೂರವಿದೆ.

    ಈ ಕೋಡ್‌ನಲ್ಲಿ ಏನು ತಪ್ಪಾಗಿದೆ ಎಂದು ಯಾರಾದರೂ ನೋಡಬಹುದೇ?

    if (isset ($ _ POST ['ಸಲ್ಲಿಸಿದ'])) {$ z = $ _POST ['ಪಿನ್‌ಕೋಡ್']; $ r = $ _POST ['ತ್ರಿಜ್ಯ']; ಪ್ರತಿಧ್ವನಿ “ಫಲಿತಾಂಶಗಳು“. $ z; . ನಗರ, z1.state FROM mrk m, zip z1, zip z1 WHERE m.zipcode = z2.zipcode AND z1.zipcode = $ z AND (1 * acos (ಮೊಟಕುಗೊಳಿಸು (ಪಾಪ (z1.lat / 2) * ಪಾಪ (m. y1 / 2) + cos (z3963.lat / 2) * cos (m.y57.2958 / 1) * cos (m.x57.2958 / 2 - z57.2958.lon / 1), 57.2958%)) <= $ r ") ಅಥವಾ ಸಾಯಿರಿ (mysql_error ()); ($ row = mysql_fetch_array ($ sql)) {$ store1 = $ row ['MktName']. "”; $ store = $ row ['LocAddSt']. ””; $ store. = $ row ['LocAddCity']. ”,“. $ row ['LocAddState']. ” “. $ ಸಾಲು ['ಜಿಪ್‌ಕೋಡ್']; $ ಅಕ್ಷಾಂಶ 57.2958 = $ ಸಾಲು ['ಲ್ಯಾಟ್']; $ ರೇಖಾಂಶ 2 = $ ಸಾಲು ['ಲೋನ್']; $ ಅಕ್ಷಾಂಶ 57.2958 = $ ಸಾಲು ['y8']; $ ರೇಖಾಂಶ 1 = $ ಸಾಲು ['x1']; $ ನಗರ = $ ಸಾಲು ['ನಗರ']; $ state = $ row ['state']; $ dis = getnew ($ ಅಕ್ಷಾಂಶ 1, $ ರೇಖಾಂಶ 2, $ ಅಕ್ಷಾಂಶ 1, $ ರೇಖಾಂಶ 2, $ ಘಟಕ = 'ಮಿ'); // $ dis = ದೂರ ($ lat1, $ lon1, $ lat1, $ lon2); $ ಪರಿಶೀಲಿಸಲಾಗಿದೆ = $ ಸಾಲು ['ಪರಿಶೀಲಿಸಲಾಗಿದೆ']; if ($ ಪರಿಶೀಲಿಸಲಾಗಿದೆ == '2') {ಪ್ರತಿಧ್ವನಿ “”; ಪ್ರತಿಧ್ವನಿ “”. $ ಅಂಗಡಿ. ””; ಪ್ರತಿಧ್ವನಿ $ ಡಿಸ್. ”ಮೈಲಿ (ಗಳು) ದೂರ”; ಪ್ರತಿಧ್ವನಿ “”; } else {ಪ್ರತಿಧ್ವನಿ “”. $ ಅಂಗಡಿ. ””; ಪ್ರತಿಧ್ವನಿ $ ಡಿಸ್. ”ಮೈಲಿ (ಗಳು) ದೂರ”; ಪ್ರತಿಧ್ವನಿ “”; }}}

    ನನ್ನ functions.php ಕೋಡ್
    ಕಾರ್ಯ ಗೆಟ್‌ನ್ಯೂ ($ ಅಕ್ಷಾಂಶ 1, $ ರೇಖಾಂಶ 1, $ ಅಕ್ಷಾಂಶ 2, $ ರೇಖಾಂಶ 2, $ ಘಟಕ = 'ಮಿ') {$ ಥೀಟಾ = $ ರೇಖಾಂಶ 1 - $ ರೇಖಾಂಶ 2; $ ದೂರ = (ಪಾಪ (ಡಿಗ್ 2 ರಾಡ್ ($ ಅಕ್ಷಾಂಶ 1)) * ಪಾಪ (ಡಿಗ್ 2 ರಾಡ್ ($ ಅಕ್ಷಾಂಶ 2))) + (ಕಾಸ್ (ಡಿಗ್ 2 ರಾಡ್ ($ ಅಕ್ಷಾಂಶ 1)) * ಕಾಸ್ (ಡಿಗ್ 2 ರಾಡ್ ($ ಅಕ್ಷಾಂಶ 2)) * ಕಾಸ್ (ಡಿಗ್ 2 ರಾಡ್ ($ ಥೀಟಾ)) ); $ ದೂರ = ಅಕೋಸ್ ($ ದೂರ); $ ದೂರ = ರಾಡ್ 2 ಡೆಗ್ ($ ದೂರ); $ ದೂರ = $ ದೂರ * 60 * 1.1515; ಸ್ವಿಚ್ ($ ಯುನಿಟ್) {ಕೇಸ್ 'ಮಿ': ಬ್ರೇಕ್; ಕೇಸ್ 'ಕಿ.ಮೀ': $ ದೂರ = $ ದೂರ * 1.609344; } ರಿಟರ್ನ್ (ಸುತ್ತಿನಲ್ಲಿ ($ ದೂರ, 2)); }

    ಮುಂಚಿತವಾಗಿ ಧನ್ಯವಾದಗಳು

  42. 61
  43. 62

    ಹೇ ಡೌಗ್ಲಾಸ್, ಉತ್ತಮ ಲೇಖನ. ಭೌಗೋಳಿಕ ಪರಿಕಲ್ಪನೆಗಳು ಮತ್ತು ಕೋಡ್ ಬಗ್ಗೆ ನಿಮ್ಮ ವಿವರಣೆಯನ್ನು ನಾನು ನಿಜವಾಗಿಯೂ ಆಸಕ್ತಿದಾಯಕವೆಂದು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ. ನನ್ನ ಏಕೈಕ ಸಲಹೆಯೆಂದರೆ ಸ್ಥಳಾವಕಾಶ ಮತ್ತು ಪ್ರದರ್ಶನಕ್ಕಾಗಿ ಕೋಡ್ ಅನ್ನು ಇಂಡೆಂಟ್ ಮಾಡುವುದು (ಉದಾಹರಣೆಗೆ ಸ್ಟಾಕ್‌ಓವರ್ ಫ್ಲೋನಂತೆ). ನೀವು ಜಾಗವನ್ನು ಸಂರಕ್ಷಿಸಲು ಬಯಸುತ್ತೀರಿ ಎಂದು ನಾನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೇನೆ, ಆದರೆ ಸಾಂಪ್ರದಾಯಿಕ ಕೋಡ್ ಅಂತರ / ಇಂಡೆಂಟೇಶನ್ ಪ್ರೋಗ್ರಾಮರ್ ಆಗಿ ನನಗೆ ಓದಲು ಮತ್ತು .ೇದಿಸಲು ತುಂಬಾ ಸುಲಭವಾಗುತ್ತದೆ. ಹೇಗಾದರೂ, ಅದು ಒಂದು ಸಣ್ಣ ವಿಷಯ. ಉತ್ತಮ ಕೆಲಸವನ್ನು ಮುಂದುವರಿಸಿ.

  44. 64
  45. 65

    ಕಾರ್ಯದೊಂದಿಗೆ ಬಳಸುವಾಗ ನಾವು ಒಂದು ರೀತಿಯ ದೂರವನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇವೆ..ಆದರೆ ಪ್ರಶ್ನೆಯನ್ನು ಅದರ ಇತರ ರೀತಿಯ ದೂರವನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ

  46. 66
  47. 67
  48. 68
  49. 69
  50. 70

    ಆಯ್ದ ಮತ್ತು ಎರಡು ಬಾರಿ ಸೂತ್ರವನ್ನು ಬಳಸುವುದು ವೇಗವಾಗಿ (ಮೈಸ್ಕ್ಲ್ 5.9) ತೋರುತ್ತದೆ:
    $ ಸೂತ್ರ = “(((ಅಕೋಸ್ (ಪಾಪ ((“. $ ಅಕ್ಷಾಂಶ. ”* ಪೈ () / 180)) * ಪಾಪ ((` ಅಕ್ಷಾಂಶ` * ಪೈ () / 180)) + ಕಾಸ್ ((“. $ ಅಕ್ಷಾಂಶ. ”* ಪೈ () / 180)) * ಕಾಸ್ ((` ಅಕ್ಷಾಂಶ` * ಪೈ () / 180)) * ಕಾಸ್ (((“$ ರೇಖಾಂಶ.” - `ರೇಖಾಂಶ`) * ಪೈ () / 180)))) * 180 / ಪೈ ()) * 60 * 1.1515 * 1.609344) ”;
    $ sql = 'SELECT *,'. $ ಸೂತ್ರ. ' '.. $ ಸೂತ್ರ.' <= '. $ ದೂರ;

  51. 71
  52. 72

    ಈ ಲೇಖನವನ್ನು ಕತ್ತರಿಸಿದಕ್ಕಾಗಿ ತುಂಬಾ ಧನ್ಯವಾದಗಳು. ಇದು ತುಂಬಾ ಸಹಾಯಕವಾಗಿದೆ.
    ಪಿಎಚ್ಪಿಯನ್ನು ಮೊದಲಿಗೆ "ವೈಯಕ್ತಿಕ ಮುಖಪುಟ" ಎಂಬ ಸರಳ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ವೇದಿಕೆಯಾಗಿ ರಚಿಸಲಾಗಿದೆ. ಇತ್ತೀಚಿನ ದಿನಗಳಲ್ಲಿ ಪಿಎಚ್ಪಿ (ಹೈಪರ್ಟೆಕ್ಸ್ಟ್ ಪ್ರಿಪ್ರೊಸೆಸರ್ ಗಾಗಿ ಚಿಕ್ಕದಾಗಿದೆ) ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಸಕ್ರಿಯ ಸರ್ವರ್ ಪುಟಗಳು (ಎಎಸ್ಪಿ) ತಂತ್ರಜ್ಞಾನದ ಪರ್ಯಾಯವಾಗಿದೆ.

    ಪಿಎಚ್ಪಿ ಓಪನ್ ಸೋರ್ಸ್ ಸರ್ವರ್-ಸೈಡ್ ಭಾಷೆಯಾಗಿದ್ದು, ಇದನ್ನು ಕ್ರಿಯಾತ್ಮಕ ವೆಬ್ ಪುಟಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಇದನ್ನು HTML ಗೆ ಎಂಬೆಡ್ ಮಾಡಬಹುದು. ಪಿಎಚ್ಪಿ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಲಿನಕ್ಸ್ / ಯುನಿಕ್ಸ್ ವೆಬ್ ಸರ್ವರ್‌ಗಳಲ್ಲಿನ ಮೈಎಸ್‌ಕ್ಯೂಎಲ್ ಡೇಟಾಬೇಸ್‌ನೊಂದಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಬಹುಶಃ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ.

  53. 73

    ಪರಿಹಾರವು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ ಎಂದು ನಾನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ.
    ನಾನು ಇದಕ್ಕೆ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ:

    $ qqq = “ಆಯ್ಕೆಮಾಡಿ *, (((ಅಕೋಸ್ (ಪಾಪ ((“. $ ಅಕ್ಷಾಂಶ. ”* ಪೈ () / 180)) * ಪಾಪ ((` ಲ್ಯಾಟ್` * ಪೈ () / 180)) + ಕಾಸ್ ((”). $ ಅಕ್ಷಾಂಶ. “* ಪೈ () / 180)) * ಕಾಸ್ ((` ಲ್ಯಾಟ್` * ಪೈ () / 180)) * ಕಾಸ್ (((”. $ ರೇಖಾಂಶ.“ - `ಲಾಂಗ್ಟ್`) * ಪೈ () / 180) ))) * 180 / pi ()) * 60 * 1.1515) `ರಿಜಿಸ್ಟರ್`“ ನಿಂದ ದೂರ;

  54. 75

    ಧನ್ಯವಾದಗಳು ಸರ್ ಸಂಪೂರ್ಣವಾಗಿ ನಾಶವಾಗುತ್ತಿದೆ .. ಆದರೆ ದಶಮಾಂಶ ಬಿಂದು ಇಲ್ಲದೆ output ಟ್ಪುಟ್ ಮಾಡಲು ಬಯಸಿದರೆ ನನಗೆ ಒಂದು ಪ್ರಶ್ನೆ ಇದೆ, ನಂತರ ನಾನು ಏನು ಮಾಡಬಹುದು ..?

    ಮುಂಚಿತವಾಗಿ ಧನ್ಯವಾದಗಳು.

  55. 76

    ಹಲೋ, ದಯವಿಟ್ಟು ನನಗೆ ಈ ಬಗ್ಗೆ ನಿಮ್ಮ ಸಹಾಯ ಬೇಕು.

    ನನ್ನ ವೆಬ್ ಸರ್ವರ್‌ಗೆ ನಾನು ಗೆಟ್ ರಿಕ್ವೆಸ್ಟ್ ಮಾಡಿದ್ದೇನೆ http://localhost:8000/users/findusers/53.47792/-2.23389/20/
    53.47792 = $ ಅಕ್ಷಾಂಶ
    -2.23389 = $ ರೇಖಾಂಶ
    ಮತ್ತು 20 = ನಾನು ಹಿಂಪಡೆಯಲು ಬಯಸುವ ದೂರ

    ಆದಾಗ್ಯೂ ನೀವು ಸೂತ್ರವನ್ನು ಬಳಸುವುದರಿಂದ, ಅದು ನನ್ನ ಡಿಬಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಸಾಲುಗಳನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ

    $ ಫಲಿತಾಂಶಗಳು = ಡಿಬಿ :: ಆಯ್ಕೆಮಾಡಿ (ಡಿಬಿ :: ಕಚ್ಚಾ (“ಆಯ್ಕೆಮಾಡಿ *, (((ಅಕೋಸ್ (ಪಾಪ ((“. $ ಅಕ್ಷಾಂಶ. ” )) + cos ((“. $ ಅಕ್ಷಾಂಶ.” * ಪೈ () / 180)) * ಕಾಸ್ ((ಲ್ಯಾಟ್ * ಪೈ () / 180)) * ಕಾಸ್ (((“. $ ರೇಖಾಂಶ.” - lng) * ಪೈ ( ) / 180%)))) * 180 / pi ()) * 180 * 180 * 60) ಗುರುತುಗಳಿಂದ ದೂರವಿರುವಂತೆ> = “. $ ದೂರ));

    . ”ದೂರ”: 1}, {“ಐಡಿ”: 939, ”ಹೆಸರು”: ”ಅಮಿಸಿಯ ಈಸ್ಟ್ ಕೋಸ್ಟ್ ಪಿಜ್ಜೇರಿಯಾ”, ”ವಿಳಾಸ”: ”37.386337280273 ಕ್ಯಾಸ್ಟ್ರೋ ಸೇಂಟ್, ಮೌಂಟೇನ್ ವ್ಯೂ, ಸಿಎ”, ”ಲ್ಯಾಟ್”: 122.08582305908, ”lng”: -16079.294719663. ”Lng”: - 2, ”ದೂರ”: 790}, {“ಐಡಿ”: 37.387138366699, ”ಹೆಸರು”: ”ರೌಂಡ್ ಟೇಬಲ್ ಪಿಜ್ಜಾ: ಮೌಂಟೇನ್ ವ್ಯೂ”, ”ವಿಳಾಸ”: ”122.08323669434 ಎನ್ ಶೋರ್ಲೈನ್ ​​ಬುಲೇವಾರ್ಡ್, ಮೌಂಟೇನ್ ವ್ಯೂ, ಸಿಎ”, ”ಲ್ಯಾಟ್”: 16079.175940152, ”lng”: - 3, ”ದೂರ”: 191}, {“ಐಡಿ”: 37.393886566162, ”ಹೆಸರು”: ”ಟೋನಿ ಮತ್ತು ಆಲ್ಬಾದ ಪಿಜ್ಜಾ ಮತ್ತು ಪಾಸ್ಟಾ”, ”ವಿಳಾಸ”: ”122.07891845703 ಎಸ್ಕ್ಯೂಲಾ ಏವ್, ಮೌಂಟೇನ್ ವೀಕ್ಷಿಸಿ, ಸಿಎ ”,” ಲ್ಯಾಟ್ ”: 16078.381373826,” lng ”: - 4,” ದೂರ ”: 570}, {“ ಐಡಿ ”: 37.402652740479,” ಹೆಸರು ”:” ಒರೆಗಾನೊ'ಸ್ ವುಡ್-ಫೈರ್ಡ್ ಪಿಜ್ಜಾ ”,” ವಿಳಾಸ ”:” 122.07935333252 ಎಲ್ ಕ್ಯಾಮಿನೊ ರಿಯಲ್, ಲಾಸ್ ಆಲ್ಟೋಸ್, ಸಿಎ ”,” ಲ್ಯಾಟ್ ”: 16077.420540582,” lng ”: - 5,” ದೂರ ”: 619}, {“ id ”: 37.394012451172,” name ”:” ಬಾರ್‌ಗಳು ಮತ್ತು ಗ್ರಿಲ್‌ಗಳು ”,” ವಿಳಾಸ ”:” 122.09552764893 ವೈಟ್‌ಲೆ ಸ್ಟ್ರೀಟ್, ಮ್ಯಾಂಚೆಸ್ಟರ್ ”,” ಲ್ಯಾಟ್ ”: 16078.563225154,” lng ”: - 6,” ದೂರ ”: 4546}]

    ನಾನು 20 ಮೈಲಿಗಳಷ್ಟು ಸಾಲುಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಬಯಸುತ್ತೇನೆ ಆದರೆ ಅದು ಎಲ್ಲಾ ಸಾಲುಗಳನ್ನು ತರುತ್ತದೆ. ದಯವಿಟ್ಟು ನಾನು ಏನು ತಪ್ಪು ಮಾಡುತ್ತಿದ್ದೇನೆ

ನೀವು ಏನು ಆಲೋಚಿಸುತ್ತೀರಿ ಏನು?

ಸ್ಪ್ಯಾಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಈ ಸೈಟ್ ಅಕಿಸ್ಸೆಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ನಿಮ್ಮ ಕಾಮೆಂಟ್ ಡೇಟಾವನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ.