bigvic Geschrieben 9. Dezember 2009 Teilen Geschrieben 9. Dezember 2009 (bearbeitet) Hi zusammen, auf Websites wie AutoScout24 Europas Automarkt für Gebrauchtwagen und Neuwagen oder ähnliche gibt es ja meist eine Option zur Sucheinschränkung für ein bestimmtes Gebiet, d.h. man gibt die PLZ und einen Umkreis in km ein. Nun meine Frage - woher haben die diese Geodaten? Gibt es da im web eine open source schnittstelle irgendwo für jedermann? Oder muss man sowas (teuer) kaufen? Ich brauch so etwas nämlich. Am besten mit Ortsname, aber wenn nicht, dann würde mir eine Schnittstelle reichen, bei der ich die Parameter PLZ und Umkreis eingebe und der mir eine Liste aller passenden PLZs zurück gibt, die ich dann gegen meine DB prüfen kann. Edit: Sowas hier z.B. - http://www.koordinaten.de/online/plz_umkreis.shtml Wäre für Tipps dankbar. ciao, vic Bearbeitet 9. Dezember 2009 von bigvic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TheFinn Geschrieben 9. Dezember 2009 Teilen Geschrieben 9. Dezember 2009 Moin! Kaufen kann man so etwas auf jeden Fall, z.B. hier, ob es das auch kostenlos gibt, wage ich fast zu bezweifeln, da saubere Vermessung schon ein recht aufwendiges Geschäft sein dürfte. Ist natürlich immer die Frage, in welchem Detaillierungsgrad man das braucht... Codebeispiele für so etwas findest Du übrigens auch hier. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 9. Dezember 2009 Teilen Geschrieben 9. Dezember 2009 Diese Zonen heißen Geofences. In dem OpenSource Projekt Open GTS ist das, lt. des Artikels "Flottenmanagement" aus dem aktuellen Linux-Magazin möglich, solche Zonen zu bestimmen. Open GTS greift auf das Openstreetmap-Kartenmaterial zurück und ist somit kostenlos. Evt. gibt es dafür entsprechende APIs? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lordy Geschrieben 9. Dezember 2009 Teilen Geschrieben 9. Dezember 2009 Ich habe mal vor einer ganzen Weile ein Perl-Script geschrieben, das mit Hilfe der GoogleMaps API die Distanz zwischen zwei PLZs berechnet. Das ist natürlich nicht wirklich präzise und hat sicherlich einen Verschnitt von ein paar Km, funktionierte aber ganz gut. Wenn man das mit einem intelligenten Cache kombiniert, oder die Ergebnisse einfach mitloggt sollte man bald selbst eine solche DB haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 9. Dezember 2009 Teilen Geschrieben 9. Dezember 2009 Schon mal bei der Post selbst angefragt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Guten Morgen, ich habe für mehrere Kunden solche Umkreissuchen mit Hilfe der Google Maps API und GeoNames (für reverse geocoding) umgesetzt. Damit kann man kostenlos (bei Google zumindest bis zu einem gewissen Punkt, danach werden die Anfragen in einem gewissen Zeitraum nicht mehr bearbeitet, bei geonames ist der kostenlose Server langsamer und fällt evtl. mal ohne Ersatz aus) ganz gut arbeiten. Schöne Grüße, Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 10. Dezember 2009 Autor Teilen Geschrieben 10. Dezember 2009 (bearbeitet) Guten Morgen, Danke für eure Antworten. @kingofbrain Den findNearbyPostalCodes auf GeoNames Web Service Documentation hab ich gesucht. Danke. :uli Wofür hast du dann aber die Google Maps API noch benutzt? Um einen Kartenausschnitt zu markieren? ciao, vic Bearbeitet 10. Dezember 2009 von bigvic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Ja, wir haben in dem Projekt hauptsächlich mit Google Maps gearbeitet, weil die Anwender bei uns innerhalb der Karte bzw. über ein Sucheingabefeld selbständig ihre Orte angegeben haben. Deshalb hatten wir die Informationen zu benachbarten Punkten allein aufgrund der Längen- und Breitengradinformation von Google Maps. Den Dienst von geonames haben wir nur für das reverse Geocoding, also das Auflösen von Klartextinformationen (Straße, PLZ, Ort) aufgrund von Längen- und Breitengrad verwendet. Das hat aber recht gut funktioniert. Schöne Grüße, Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mr Unix Geschrieben 12. Dezember 2009 Teilen Geschrieben 12. Dezember 2009 Nun meine Frage - woher haben die diese Geodaten? Gibt es da im web eine open source schnittstelle irgendwo für jedermann? Oder muss man sowas (teuer) kaufen? Services - Google Maps-API - Google Code Du brauchst lediglich einen kostenlosen API Key von Google und kannst dann Lat/Long fuer Ortsnamen oder PLZ ueber POST/GET empfangen. Hast du Längen und Breitengrad, dann kannst du schrittweise den gewuenschten Radius draufrechnen und ueber Google wieder den Ortsnamen oder die PLZ dafuer rauslesen (und das Ganze am Besten noch cachen). Wenn sich das nur auf Deutschland beschraenken sollte, dann kannst du dir auch einfach ne Datenbank alle Postleitzahlgebiete zusammenschieben und einfach nur diese Abfragen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RealSpacey Geschrieben 17. Dezember 2009 Teilen Geschrieben 17. Dezember 2009 Moin Moin, ein kleines How-To von mir dazu - Code is PHP: 1. Datenbank OpenGeoDB verwenden. (lat/lng, plz, City) 2. Einträge geotaggen (lat/lng Werte- via GMap Api Genauigkeit ca. 2m) 3. Treffer berechnen (User gibt PLZ / Umkreis ein ->> Alle Treffer im Umkreis von x km um PLZ y) 4. Freuen Stolpersteine dabei: Die LAT/LNG sind in der opengeodb mit Komma getrennt und bei Google per Punkt also Opengeo anpassen.. select * from opengeo where plz=12334 (Suche auf Ortsname bringt nichts viele Orte mehrfach vorhanden zb. Münster) $lat=str_replace(',','.',$open_LAT_value); $lng=str_replace(',','.',$open_LNG_value); Umkreisberechnung : SELECT ---alle information hier rausholen --- lat,lng, ACOS( (SIN(RADIANS(".$lat."))* SIN(RADIANS(lat))) + (COS(RADIANS(".$lat."))* COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(".$lng."))))* 6378.137 AS distance FROM --- deine firmentabelle---- WHERE (ACOS( (SIN(RADIANS(".$lat.")) * SIN(RADIANS(lat)))+ (COS(RADIANS(".$lat.")) * COS(RADIANS(lat))* COS(RADIANS(lng) - RADIANS(".$lng."))))* 6378.137) <= ---- hier dein umkreis ----- order by distance asc limit 300 Beim Taggen mit Google : Da man nicht unendlich oft taggen darf / monat (ich meine 20 000 ) speicher ich die Firmen Lat/lng in meine Tabelle und es geht so auch schneller. Wenn Du nu das Firmen-Array mit allen informationen hast ----> via XML an eine GMAP und alles wird schön. Bsp. wie sowas aussehn kann ist ein Projekt an dem ich zzt. Arbeite http://back2green.de/gartenkarte aufruf geht auch per http://back2green.de/gartenkarte/[DEINE PLZ] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jhonny Geschrieben 21. Dezember 2009 Teilen Geschrieben 21. Dezember 2009 Ich benutze ebenfalls open GeoDB. Die Vorteile sprechen Dafür. Open GeoDB ist kostenlosGut DokumentiertEs gibt viele Anwendungsbeispiele im Web. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.