Ich wohne genau an zwei anderen Landesgrenzen mit (stark)
unterschiedlichen PLZ -Anfangszahlen. Gibt irgendwo im Netz eine Seite
wo man seine PLZ und
dann einen Umkreis von z.B 100Km angibt und eine Liste aller PLZ im dem
Umkreis angezeigt bekommt?
Gut: ich hätte noch schreiben sollen, das es auch Funktionieren soll.
Die ich bis jetzt gefunden habe waren bis zur Unbrauchbarkeit in Ihrer
Funktion eingeschränkt. Da ich das nur einmal und nicht kommerziell
brauche ist ein Kauf für ein paar 100 Euro auch nicht die Lösung.
Wie man das macht : Ein Karte nehmen, dort die Postleitzahlgebiete mit
Farbe anmalen. Dann vom gewuenschten Ort in einer Spirale nach aussen
wandern und die besuchten Zonen einschwaerzen. So schwierig ist das
nicht.
Bei
http://fa-technik.adfc.de/code/opengeodb/PLZ.tab
gibt es eine Datei der Form
#loc_id plz lon lat Ort
5078 01067 13.7210676148814 51.0600336463379 Dresden
5079 01069 13.7389066401609 51.039558876083 Dresden
5080 01097 13.7439674110642 51.0667452412037 Dresden
5081 01099 13.8289798683304 51.0926193047084 Dresden
D.h. bei allen PLZ sind die Geo-(GPS)-Koordinaten angegeben.
PS: Die Entfernung zwischen Gps-Koordinaten berechnet sich mit
arccos(sin(B_lat)*sin(A_lat)+cos(B_lat)*cos(A_lat)*cos(B_lon - A_lon)) *
Erdradius Mit dem Erdradius von etwa 6380 km.
Jürgen G. schrieb:
> D.h. bei allen PLZ sind die Geo-(GPS)-Koordinaten angegeben.> PS: Die Entfernung zwischen Gps-Koordinaten berechnet sich mit
Na, du erst wieder. Dabei hat Maik doch ausdrücklich geschrieben,
dass er was Fertiges haben will, das natürlich noch dazu auch nichts
kosten darf.
>Dabei hat Maik doch ausdrücklich geschrieben,>dass er was Fertiges haben will
nö.. so ausdrücklich habe ich das nun nicht gesagt.
Das mit der Liste ist zwar etwas anders als ich mir das vorgestellt
habe, aber es ist auch eine Lösung.
überlege nur gerade mit was sich das am besten (einfachsten) berechnet.
(Kandidat Nummer 1 ist Matlab gerade...)
Habe gerade ein C-Prograemmchen geschrieben, was mir von einen
beliebigen Ort benachbarte Orte ausgibt, z.B. im Umkreis von 20km.
Als Beispiel-Ort Simmern/Hunsrück.
Das ging recht schnell mit der Formel
Absolut quick and dirty.
Habe ich nur zum Spass so schnell mal programmiert, da mir die Aufgabe
(benachbarte Orte finden) interessant erschien.
90% des Codes handelt das Einlesen der Datei
http://fa-technik.adfc.de/code/opengeodb/PLZ.tab
in ein int-Array.
Haette man viel besser loesen koennen mit struct ...
Aber ich wollte keinen Preis in 'sauber programmieren' gewinnen, sondern
ganz schnell etwas loesen.
Die Datei PLZ.tab muss man als erstes Argument mitgeben.
Compiliert wird es mit dem Befehl
Gast schrieb:
> Nachtrag: Was ich gebrauchen könnte, wäre eine sortierte Liste, die aber> nicht nach Luftdistanz geoeordnet ist, sondern nach Anfahrzeit.
Kein Problem.
Obiger Code darf erweitert werden.
Die Ordnung nach Anfahrzeit erscheint mir unmoeglich, da die Datei keine
Information darueber enthaelt.
Aber ich weiss wie man das machen kann:
Bei openstreetmap.org gibt es freie Daten, wo nicht nur Ort mit PLZ und
Geo-Koordinaten abgespeichert sind, sondern auch Strassen.
Mit den Strassen-Infos laesst sich die Fahrtzeit muehelos berechnen.
Jürgen G. schrieb:
> Mit den Strassen-Infos laesst sich die Fahrtzeit muehelos berechnen.
"Mühelos" ist gut. Und wenn du damit fertig bist will er bestimmt auch
noch die aktuellen Staumeldungen drin eingebaut wissen. ;-)
> "Mühelos" ist gut. Und wenn du damit fertig bist will er bestimmt auch
Ne, ne, ich werde mich da nicht an die Arbeit machen.
1. Openstreetmap ist noch nicht flaechendeckend. Noch nicht alle Orte
sind eingetragen.
2. Vermutlich sind Hoechstgeschwindigkeiten bei den Strassen nicht
eingetragen, dann wird die Fahrtzeit sehr ungenau.
3. Man muesste einen Router selbst programmieren (ein riesen Aufwand)
oder den bestehenden vom OSM-Projekt ins Programm einbinden. Dazu habe
ich einfach keine Lust. Das Programmieren soll ja zunaechst Spass
machen.
Erste verbesserte Version.
Durch Verwendung von 'sscanf' verkuerzte sich der Code von 142 auf 87
Zeilen.
Der Bezugs-Ort ist noch hart-kodiert (z.B. Simmern). (Er sollte durch
eine Eingabefunktion beliebig sein, aber was kann man bei 87 Zeilen
erwarten)
>Nachtrag: Was ich gebrauchen könnte, wäre eine sortierte Liste, die aber>nicht nach Luftdistanz geoeordnet ist, sondern nach Anfahrzeit.
Sowas taugt aber hoechstens fuer Flachlaender. Bei uns hat's hin und
wieder ein Huegel, oder ein See dazwischen