# Plz abfrage/abgleich



## Daniel123 (15. Mai 2008)

Hallo,

ich beschäfftige mich grad mit ein bisschen java und mysql. dabei bin ich auf ein kleines problem gestoßen und wollte mal fragen ob jemand dazu vielleicht ein lösungsvorschlag hat.

ich habe eine tabelle mit ort und plz. der user soll nun die möglichkeit haben bei eingabe einer beliebigen plz oder stadt, die auch nicht in der tabelle auftaucht, die 5 nächsten städte bzw. plz zusehen.

ein kleines beispiel: der user gibt münchen ein und bekommt dann aus der tabelle: starnberg, dachau, garmisch-patenkirchen, ingolstadt und grünwald.

hab ihr eine idee, wie ich an dieses problem heran gehen?


----------



## SlaterB (15. Mai 2008)

du musst zu jedem Ort die geographischen Koordinaten speichern
(solche Daten sind Handelsware, gibts aber glaube ich auch irgendwo frei),
dann kannst die DB-Abfrage ensprechend stellen, 
(x2 > x1-5 and x2 < x1+5) usw.

edit: hier:
http://opengeodb.hoppe-media.com/index.php


edit2:
solche Anfragen habe ich als nicht besonders effektiv in Erinnerung, 
schadet natürlich nicht, aus diesen Informationen größere Datenstrutkuren im Voraus aufzubauen,
z.B. eine Tabelle
InDerNaeheVon(Ort1, Ort2),
die ist dann leicher abzufragen 

kostet Platz, spart Berechnungszeit


----------



## FenchelT (16. Mai 2008)

Hallo Daniel,

ich stelle mir gerade die Frage nach dem praktischen Nutzen?!

Nehmen wir an, der User gibt "Oer-Erkenschwick" ein.
Ich habe jetzt keine PLZ / Orts Karte zur Hand aber ich vermute in den naechsten 5 Treffern waere "Olpe" auch ein Kandidat mit dem Unterschied, dass beide Orte zig Kilometer entfernt voneinander liegen.
Die naechste PLZ muss nicht unbedingt im gleichen oder direkten Nachbarort liegen.

Oder ist das eher eine Uebungsuafgabe fuer Dich?


----------



## bLoCkY (17. Mai 2008)

Hmm... grunsätzlich ist das mt den nächsten 5 immer so eine Sache in SQL, wo wir ja relational denken.

Gehts dir um die nähesten oder nächsten Städte? Wie definierst du die nächste Stadt?


----------



## DP (18. Mai 2008)

schau dir das Framework mal an:

http://opengeodb.hoppe-media.com/index.php


----------

