Uitgebreid zoeken binnen straal van woonplaats
Stephan Hendrikx
07/07/2010 08:28:53Beste programmeur,
ik ben bezig een veilingsite op te zetten a la Ebay. Maar in mijn script ontbreekt nog de mogelijkheid om bij het uitgebreid zoeken, een straal op te geven in km van je woonplaats, om daarbinnen alle relevante veilingen te vinden.
Wie kan me hier mee helpen? De database met woonplaatsen en coordinaten heb ik reeds, het gaat mij meer om het script in PHP.
ik ben bezig een veilingsite op te zetten a la Ebay. Maar in mijn script ontbreekt nog de mogelijkheid om bij het uitgebreid zoeken, een straal op te geven in km van je woonplaats, om daarbinnen alle relevante veilingen te vinden.
Wie kan me hier mee helpen? De database met woonplaatsen en coordinaten heb ik reeds, het gaat mij meer om het script in PHP.
Gewijzigd op 07/07/2010 08:30:15 door Stephan Hendrikx
PHP hulp
25/11/2024 00:49:04Sebastiaan Blaas
02/08/2010 14:56:56Dit kan met een rijksdriekhoek meting.
De afstand tussen de 2 locaties in meters wordt berekend volgens Pythagoras:
? ( (? X-coördinaten)2 + (? Y-coördinaten)2 )
De afstand tussen de 2 locaties in meters wordt berekend volgens Pythagoras:
? ( (? X-coördinaten)2 + (? Y-coördinaten)2 )
Johan Dam
02/08/2010 15:19:40Probeer dit eens, vraag het me niet uit te leggen maar als je een beetje kennis van mysql hebt moet dit wel nuttig zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
SELECT
plaatsnaam,
latitude,
longitude,
(((acos(sin((52.6833*pi()/180)) * sin((latitude*pi()/180))+cos((52.6833*pi()/180)) * cos((latitude*pi()/180)) * cos(((5.0222- longitude)*pi()/180))))*180/pi())*60*1.1515*1.609344) AS distance
FROM geo_info
WHERE latitude >= ".$latitdue."
AND longitude <= ".$longitude."
HAVING distance < ".$distance ."
ORDER BY distance";
plaatsnaam,
latitude,
longitude,
(((acos(sin((52.6833*pi()/180)) * sin((latitude*pi()/180))+cos((52.6833*pi()/180)) * cos((latitude*pi()/180)) * cos(((5.0222- longitude)*pi()/180))))*180/pi())*60*1.1515*1.609344) AS distance
FROM geo_info
WHERE latitude >= ".$latitdue."
AND longitude <= ".$longitude."
HAVING distance < ".$distance ."
ORDER BY distance";
Pim -
02/08/2010 17:32:52Jan Koehoorn
02/08/2010 17:45:20Michael -
02/08/2010 17:55:29De database heb je al, maar hou je deze ook bij met nieuwe postcodes?
Misschien is dit ook wel een idee voor je.
Misschien is dit ook wel een idee voor je.