designer-ag
andre göntgen

duisburgerstr.16
53909 zülpich (nrw)

fon: 02252 833 229
fax: 02252 833 227

Artikel

... it-intelligence

Umkreissuche - Aber wie?


Wie funktioniert eine Umkreissuche z.B. für Filialen?
Weder anhand von Postleitzahlen und oder Vorwahlen funktionieren, da diese scheinbar
wahllos verteilt sind. Und über Landesgrenzen hinweg funktioniert eine solche Suche erst
recht nicht.
Abhilfe schaffen da GEO-Daten, also die exakte globalen Positionen der Filialen auf der
Erde. Es handelt sich dabei um LON- und LAN-Angaben die man z.B. mit einem GPS-Gerät
herausfinden kann. Aber da gibt es noch eine einfacherer Möglichkeit, als alle Filialen
abzufahren und deren GPS-Daten zu notieren: maps.google.de!
Mit den Beschreibungen der API von maps.google.de läßt sich schnell ein Tool
programmieren mit dem sich die genauen LON- & LAN-Werte finden lassen.
Diese werden dann in einer Datenbank gespeichert und können leicht für eine
Umkreissuche verwendet werden.
Beispiel für eine DB-Abfrage:
select * from geo
order by ABS(DEGREES(ACOS(SIN(RADIANS(lat))*SIN(RADIANS($ort_lat))+
COS(RADIANS(lat))*COS(RADIANS($ort_lat))*COS(RADIANS(lon - $ort_lon))))) limit 0,15

Die Variablen $ort_lat und $ort_lon ist die Original-Position von der die Umkreissuche
ausgehen soll.
Die entsprechenden Zellen der DB-Tabelle heißen lat und lon.
Diese einfache Abfrage such nach den nächsten 15 Orten. Praktische Erfahrungen haben
gezeigt das diese Formel völlig ausreicht um passable Ergebnisse zu erhalten.

Berechnung der Entfernung:
Anstatt einfach nur ein "select * ..." kann man direkt
select DEGREES(ACOS(SIN(RADIANS(lat))*SIN(RADIANS($ort_lat))+
COS(RADIANS(lat))*COS(RADIANS($ort_lat))*COS(RADIANS(lon - $ort_lon))) * 60 * 1.85201) ...

abfragen.
Die zusätzliche Angabe von * 60 * 1.85201 berechnet die Entfernung (Luftlinie) der
gefundenen Orte.
Der zurück gegebene Wert (hier $row[0] genannt muß noch einmal umgerechnet werden:
$entf=substr(((round($row[0]*10)/10)+0.01),0,-1);
Damit hat man dann die Entfernung in Kilometer mit einstelliger Kommazahl.
(Anmerkung: Die Formeln sind für Europa ausgelegt)

Diese Daten können dann auch benutzt werden um eine Landkarte z.B. maps.google.de anzuzeigen.

Wenn viele Lokalitäten vorhanden sind, und die Position der Stadt ausreicht,
kann man von http://www.geonames.org/ komplette SQL-Dateien runterladen und in
seine eigene DB importieren.

Wird Ajax verwendet, hat man eine schöne Umkreissuche.
News10.09.2010
[Galerie] IFA 2009: Messe-Babes, Flachbild-TVs & Co. - Impressionen
 
In Berlin geht heute die Internationale Funkausstellung (IFA) zu Ende, vom 4. bis 9. September hat die Unterhaltungselektronik-Branche gezeigt, was Sie zu bieten hat: Kompakte Blu-ray-Soundbars, Settop-Boxen in Klavierlackoptik, ultradünne Flachbild-TVs
mehr...
News10.09.2010
Buffalo zeigt Design-USB-Stick-Serie mit Sliderhandy-Allüren
 
Der Experte für Speichersysteme Buffalo hat am Mittwoch in Japan einen neuen USB-Stick vorgestellt, der sich ähnlich wie ein "Slider-Handy" aufschieben lässt.
mehr...
News10.09.2010
Inhaltsverzeichnis Internet Magazin 10/2009
 
Ab dem 11. September finden Sie die neue Ausgabe des Internet Magazins mit folgenden Themen am Kiosk: CSS: Interne Links - Navigation - SEO: So gestalten Sie interne Links und Navigation benutzerfreundlich und Google-optimiert; Schlampiges Design: "G
mehr...
mehr News
Begriffserklärung
SEO
Search Engine Optimization Bei uns auch bekannt als SOS (Suchmaschinen- Optimierungs- Service)