GIbt es schon neuigkeiten bezüglich des WordPress plugins? Daher die Frage: hast Du oder vielleicht auch einer der anderen „Mitstreiter“ das eventuell schon irgendwie umgesetzt? Es wird aber ein Minimal-Plugin, das alle grundlegenden Funktionen zur Verfügung stellt, die man für eine Umkreissuche in WordPress benötigt: 1. Also ich hab jetzt das Script von Manuel geladen und verwende jetzt quasi beide gleichzeitig! Daher jetzt die Notlösung eine zweite Abfrage nur für die Distanz zu starten. 01-03-2006 OpenGeoNearestNeighbours – Eine Umkreissuche für OpenGeoDB. Das hat dann wunderbar geklappt und mein Problem ist gelöst. Ich bin gerade dran, habe aber viel um die Ohren, sodass ich nicht vor Ende diesen des Moants fertig werde. Dieses Blog ist seit 2007 das Tagebuch und der digitale Zettelkasten von André Herdling, Mediengestalter aus Leidenschaft. In deren Wiki lassen sich auch fertige Lösungen für eben diese Aufgabenstellung der PLZ-Umkreissuche finden – allerdings alle unter Zuhilfenahme einer SQL-Datenbank. Deins und Manuels. Die Aktualität der Daten spielt hier vermutlich eine eher untergeordnete Rolle – so schnell ändern sich ja Postleitzahlengebiete nicht. "km"; ausgeben, Gute Idee André. Habe aber noch ne Anregung/Frage: Wie müsste man das Skript anpassen um die Distanz zwischen zwei PLZs zu erhalten? das wäre eine Möglichkeit, jedoch ist die bei der zu erwartenden Menge an ergebnissen einfach zu umständlich. Mein Dank geht an Manuel Hoppe, der mit ogdbDistance nicht nur die Code-Basis für mein Skript geliefert hat sondern auch so freunlich war, mein kleines Werk für die Postleitzahl-Umkreissuche einem kurzen Review zu unterziehen und mir nützliche Tipps zu liefern. Hallo André! Vielen Dank. Denke deine große Anzahl Postleitzahlen lässt sich auch auf dieses Problem zurückführen. Bei kleinen Radien (die man bei einer Umkreissuche in der Regel verwendet) liefert das kleine PHP-Skript aber brauchbare Ergebnisse. Danke dafür und für den sehr freundlichen Kontakt. ich glaube die Art der Datenverarbeitung ist nicht geeignet, um das gewünschte Ergebnis in einem Durchgang zu ermitteln. enthält. 10.000 Orte. Ich habe anhand dieser Anleitung (die genau das zeigt was ich vorhabe) als nächstes eine Zwischentabelle „zip_coordinates“ erstellt, die nur Postleitzahlen und Latitude+Longitude enthält. Oder mir nen Ansatz geben? Ich versuche im Prinzip eine, hoffentlich ganz einfache, Sache zu realisieren. Bevor jemand fragt: Die OpenGeoDB enthält neben den Daten für Deutschland auch Daten aus Österreich, Belgien, Schweiz und Lichtenstein. or TrackBack to 'Eine PLZ-Umkreissuche in PHP'. Wenn ich das Script einmal mit 10 und einmal mit 20 suchen lasse bekomme ich die 10 KM Suchergebnisse ebenfalls bei den 20KM. Hallo, super Script vielen Dank dafür. Allerdings muss ich jede einzelne PLZ eintragen. ersteinmal danke für das tolle Script. Die einfachste Lösung die mir in den Sinn kam war eine Geo-Datenbank zu nutzen, in der deutsche Postleitzahlen und deren Latitude+Longitude hinterlegt sind. Ohne das objektiv gemessen zu haben, ist das Durchwühlen einer Datei im Dateisystem vermutlich weniger flott als die auf opengeodb.org vorgeschlage SQL-gestützte Variante. Ein Beispiel dazu findest Du im mitgelieferten Beispiel-Skript ganz unten. Ich wollte jedoch eine sehr schlanke Lösung, die auch ohne Datenbank auskommt. Ich habe darauf geachtet, die Rückgabewerte der neuen Bibliothek identisch gegenüber der alten zu halten – bestehende Implementierungen können somit einfach durch Austausch der Bibliothek von dem neuen Verfahren profitieren. Hat jemand das Script schon mal unter WordPress zum laufen bekommen und kann mir sagen worauf ich achten muss? Ich gebe Dir gern Tipps dazu, bin aber jetzt und die nächsten Tage unterwegs, nur mit Smartphone als Kommunikator. Geo-Tool für europäische Postleitzahlen. vektorkneter.de – Blog über Mediengestaltung und Nerd-Kram. Umkreissuche Um den Suchmittelpunkt festzulegen wird ein Ort benötigt (dann "Suchen") oder er wird über die Karte per Klick festgelegt! Wie schaut es aus mit einer Lösung in MongoDB? Wenn Du bei Deinem Auftraggeber dahingehend kein gutes Gefühl hast, dann nutze lieber eine exaktere Datenbasis z.B. Ich hoffe Du findest eine Lösung. Chef hat ein Kundentermin bei Fa. Aber da es, wie im Artikel beschrieben, technisch bedingt eine gewisse Unschärfe in der Genauigkeit gibt (Betrachtung der Luftlinie ohne tatsächliche Straßenführung, ganze Postleitzahlengebiete mit einer einzigen Koordinate adressiert), muss man halt abwägen ob das im jeweiligen Projekt akzeptabel ist oder nicht. Welches Tool gibt es hierfür? Ursprünglich hatte ich natürlich im Blick, einfach alle Postleitzahlen in der Postleitzahl-Koordinaten-Datei (PLZ.tab) zu durchlaufen und mittels Manuel Hoppes OgdbDistance-Skript die Entfernungen zur Basis-Postleitzahl zu ermitteln. Subscribe to comments with RSS API wird später auf meiner Seite veröffentlich und ein Bereich für Bug-Report und Änderungsvorschläge im Git eingerichtet. Hast du diesbezüglich schon negative Erfahrungen sammeln können? Hallo Michael Du möchtest wahrscheinlich so vorgehen : 1. der Benutzer gibt bei dir eine PLZ ein. Mir wird immer wieder die Fehlermeldung „ABBRUCH: konnte Daten nicht laden (http://fa-technik.adfc.de/code/opengeodb/PLZ.tab)“ angezeigt. In Sachen Performance konnte ich keine signifikante Verschlechterung durch den Einsatz der neuen Bibliothek ogdbPLZnearby2.lib.php feststellen – Computer können halt einfach sehr gut und sehr schnell rechnen. Aber Du könntest das Skript intern zweimal ausführen, erst für 20 km Umkreis (Ergebnis dann in Array speichern) und dann für 10 km Umkreis (Ergebnis in einem zweiten Array speichern). Ja klar, gern. Bitte beachten: Die Entfernungsangaben sind nur ganz grobe Schätzungen und können bisweilen erheblich von der Realität abweichen! Ich meine damit die Akualität der Daten?! Das PHP-Skript nimmt im Wesentlichen einen Postleitzahl und eine Entfernung in Kilometer entgegen, errechnet aus den Koordinaten der übergebenen Postleitzahl und der Entfernung die Maximal- und Minimal-Koordinaten für alle Postleitzahlen innerhalb des damit eingegrenzten Gebietes und durchläuft mit diesen Angaben die gesamte Postleitzahl-Koordinaten-Datei (PLZ.tab). Genau das, was ich suche. Bei meiner Recherche wie ich die Daten eingrenzen kann, bin ich auf opengeodb und darüber auf dieses Skript gestoßen. 4. Adressfelder für die Registrierung neuer Accounts und im Profil. Dein Script funktioniert bisher super. ovema.de informiert die Besucher über Themen wie Cazare Vama VECHE und Vama VECHE. Um Konflikte mit den deutschen PLZs zu vermeiden müsste dann im Umkreissuche-Formular auf der Site eine Auswahl zwischen Deutschland und Österreich ermöglicht werden und im Skript dann eine Weiche, die – je nach Auswahl – die PLZ.tab (für Deutschland) oder die AT.tab (Österreich) verarbeitet. Und weil die Entfernung nun einmal berechnet wird, lässt diese sich nun auch durch einen zusätzlichen Parameter im Funktionsaufruf in das Ergebnis-Array übernehmen um sie später weiter zu verwenden – oder, wie in meinem Fall, in einer Trefferliste anzuzeigen. Ob das auf hochfrequentierten Websites immernoch so gut funktioniert? In diesem Fall muß die PLZ.tab händisch herunter geladen und im Ordner des Skripts abgelegt werden. Datenbank habe. das Skript macht genau das was Du suchst und wenn Du in der Lage warst einen XAMPP auf zu setzen, dürftest Du damit klar kommen. Das war es eigentlich schon. Nur komme ich hier nicht weiter: wie bzw. : $distance = ogdbDistance(47443,47058);. Ein Freund hat mir gestern noch erklärt, dass ich nur in der php datei den Radius und die PLZ ändern muss um mein gewünschten Ergebnis zu bekommen. Weil ich brauch erstmal nur die PLZs für die Abfrage der WP-DB. Firma X möchte nun diese Kunden kontaktieren, aber nur diejenigen die in 35km Umkreis um eine seiner 42 Filialen wohnen. Eine Umkreissuche, die anhand von PLZ und einem Suchstring, der nach passenden Benutzernamen sucht. Hat das mit der changes.sql mal jemand hinbekommen, bzw. , Super verständliche Lösung. Aufgabe 2 war doch etwas schwieriger als gedacht: Den Datenbank-Dump zu importieren in meine MySQL-Datenbank und in ein Format zu bekommen das ich benutzen kann. 28-02-2006 Logowettbewerb. Hallo, gibt es irgendeine Möglichkeit einer Umkreissuche? In meinem Anwendungsfall funktioniert das Skript allerdings ohne merkliche Latenzen und kommt dabei komplett ohne Datenbank aus. Bitte beachten Sie, daß alle unsere Beispiele Abstände in Kilometern errechnen. Beides liefert die OpenGeoDB, praktischerweise sogar unter Public Domain Lizenz. Möchtest Du nur Entfernungen zwischen zwei PLZs bestimmen, nimm das von Manuel Hoppe. Das Skript ist nach besten Wissen getestet und erfüllt in meinem Szenario die gewünschten Anforderungen. ich selber habe das noch nicht umgesetzt, sollte aber prinzipiell so funktionieren: Die vom Skript genutzte PLZ.tab enthält ja nur die Daten für Deutschland. Herausforderung: Ermittlung der naheliegendste Orte von (0,01 bis max. Ist es möglich das ich auch angeben kann das es mir nur im Rahmen von 10-20 km radius sucht? Da in diesem Zusammenhang die meisten Fragen und Probleme auftauchen, soll im folgenden exemplarisch erläutert werden, wie eine … Das ablegen der Datei ins Stammverzeichnis hat sehr gut funktioniert. Dieses macht genau das was Du brauchst – nämlich Entfernungen zwischen zwei PLZ zu berechnen. Ein Shortcode für die Integration einer entsprechenden Karte. Das Skript schaut nämlich immer zuerst nach, ob die Datei bereits lokal auf dem Server vorliegt und versucht erst wenn dem nicht so ist, die PLZ.tab aus dem Internet zu laden. Klappt alles wunderbar. PLZ > PLZ neu lon neu lat neu Ort neu Grund/Kommentar 5351 : 06184 > 06184 : 12.091675 : 51.4375 : Kabelsketal : Die Einheitsgemeinde Kabelsketal wurde 2004 aus dem Zusammenschluss der Gemeinden Dieskau, Dölbau, Gröbers und Großkugel gegründet. Du brauchst also nicht mein Skript umschreiben sondern verwendest einfach das OgdbDistance-Skript. Hier schreibe ich in absolut unregelmäßigen Abständen über Themen die mich interessieren und beschäftigen. Um das sinnvoll zu nutzen, muss es ja noch in die eigene Anwendung integriert werden, um die zurückgegebenen Postleitzahlen gegen andere Einträge auf der Website zu „matchen“. Jedoch wird jeder Kommentar von mir geprüft, bevor er freigeschalten wird. The Journalist template by Lucian E. Marin — Built for WordPress, Aktueller Stand von PHP 7: Deutlich geringerer Arbeitsspeicherverbrauch, Erstaunlich langsam beim Kopieren einer Datei auf ein NFS-Share, http://www.thewebhatesme.com/allgemein/umkreissuche-in-php-teil-1/, http://www.plz-umkreis.com/plz-umkreissuche. Im Formular sind "PLZ und Umkreis (10, 20, 30, 50, 100, 200 km)" zu finden. Mit einem Trick könnt ihr in Google Maps einen Radius zeichnen. Das ganze gibts auch als Online Tool mit aktuellen Daten: http://www.plz-umkreis.com/plz-umkreissuche, Super Lösung. Hallo, super Script, genau danach habe ich gesucht :) Manuel Hoppes OgdbDistance-Skript mit der Datei DE.tab hat einen kleinen Test in meiner Umgebung leider nicht ganz bestanden, da ein paar Ergebnisse gefehlt haben. Diese Prüfung könntest Du so erweitern, dass sie zusätzlich mit größer-als auf eine zweite Entfernung prüft. Keine Ahnung, probiert es aus. Nutze es, um Prozessbeobachter über neue Termine zu informieren: http://www.marchert.info/gericht/, Kann man OpenGeoDB denn bedenkenlos in einem ernsten Projekt verbauen? Anschließend könntest Du die PHP-Funktion array_diff() verwenden, um beide Arrays zu vergleichen. Aus der Liste mit den gegebenen 42 Postleitzahlen kam eine Liste mit 3028 Postleitzahlen heraus, die ich dann gegen die Kundendatenbank habe laufen lassen, und schon wusste ich wie viele und welche Kunden im 35km Umkreis der 42 Filialen wohnen. Ist aber nur gemutmaßt – müsste ich mir wie gesagt genauer anschauen. 2. du rufst damit den geonames web service auf und erhälst alle PLZ im Umkreis darum. Bitte beachten: Die Entfernungsangaben sind nur ganz grobe Schätzungen und können bisweilen erheblich von der Realität abweichen! 3. Ist es ja quasi ne doppelte Distanzabfrage gewesen…. Möchtest Du eine Umkreissuche (optional mit Angabe der Entfernung zum „Suchtreffer“) dann verwende mein Skript. Wird es da Plugin auch für WordPress geben? . factory-outlets.org hilft dir dabei, Schnäppchen in deiner Nähe zu finden. Wenn ich in Zeile 56 der ogdbPLZnearby2.lib.php $origin == $fileRow[1] auf $origin == $fileRow[4] setze funktioniert die Filterung für Städte mit nur einem Eintrag. Und wie du schon erkannt hast lassen sich die SQLs ohne weiteres nicht in aktuelle MySQL Versionen importieren. Damit müsste das ganze äquivalent möglich sein. Das ist also so, als ob man mit einer Telefonnummer rechnet. Die Ergebnisse der Umkreissuche können Sie für weitere Tools wie zum Beispiel dem Keyword Combination Tool verwenden. Ich bekam vor ein paar Tagen folgende kleine Programmieraufgabe: Gegeben ist eine große Datenbank mit > 300.000 Kunden, worin jeder Kunde eine Postleitzahl hinterlegt hat. Über factory-outlets.org Viele Marken-Hersteller verkaufen Mode mit kleinen Schönheitsfehlern und Waren aus der Vorsaison in eigenen Outlets, Fabrikverkäufen oder Werksverkäufen besonders preiswert. Werden auch Sie einem der Tausenden zufriedenen Besucher, die Informationen zu Futterhaus und Cazare Vama VECHE erhielten.Diese Domain steht zum Verkauf! ogdbPLZnearby() liefert als Ergbenis ein Array mit den Postleitzahlen im Umkreis zurück – auf Wunsch auch mit dem Namen der Stadt. 2. Dennoch erfolgt die Nutzung des auf eigene Gefahr! Schritt 2: Senden Sie uns bitte eine E-Mail an geo@cebus.net mit der Information, wo auf Ihrer Seite der Link zu finden ist. Was die Umkreissuche langsam macht ist, dass bei der Kreisberechnung schlecht ein Index der Datenbank benutzt werden kann. Du kannst das aber auch einfach umgehen: Lade Dir dazu zunächst die PLZ.tab manuell von http://fa-technik.adfc.de/code/opengeodb/PLZ.tab herunter und lege diese im Root-Verzeichnis Deiner WordPress-Site ab. in dem Umkreis von 50 KM zu der genannten PLZ liegen. auf opengeodb.org vorgeschlage SQL-gestützte Variante, http://www.fa-technik.adfc.de/code/opengeodb/CH.tab, http://www.fa-technik.adfc.de/code/opengeodb/, http://fa-technik.adfc.de/code/opengeodb/PLZ.tab, Kurz notiert: Pi-hole auf einem Raspberry Pi einrichten, Freigegebene Google Kalender auf iPhone und Mac anzeigen. sorry, das kann ich leider nicht beantworten. Die Doku ist leider wirklich nicht up tp date. Habe es noch nicht getestet, werde mich aber gleich mal ran machen und dann ein Feedback geben wie genau dieser Code-Snippet ist. Dafür erhalten Sie von CEBUS die Zugangsdaten für Ihre unlimitierte Version. Irgendwie war mir unwohl bei der bisherigen Lösung. ich versuche mich gerade an einer Umkreissuche, komme aber nicht wirklich weiter - vielleicht habt Ihr eine Idee. Auf unserer Website möchten wir für unseren Newsletterversand nicht nur Deutschland, sondern auch Österreich und die Schweiz in die Umkreissuche mit einbeziehen. Dem Projekt OpenGeoDB fehlt derzeit ein Logo, unter dem man es sofort erkennen kann. Werde ich so machen. Also da, wo die wp-config.php liegt (alternativ kannst Du in der ogdbPLZnearby2.lib.php des Umkreissuche-Skripts auch durch Ändern der Konstante OGDB_LOCAL_DATA_FILE einen anderen Pfad angeben). Diese Daten müsstest Du dann zunächst in eine Form bringen, analog der PLZ.tab. Als Parameter werden der Funktion die Ausgangspostleitzahl und der Umkreis (in Kilometer) übergeben. Die letzten Einträge auf der Seite sind von 2012. Sie wissen, aus dem Ort "A" kommen die besten Aufträge. Meine Daten liegen in einer EXCEL-Tabelle vor. Grüß Dich, tolles Script. Man mag sich in diesem Zusammenhang fragen, warum die Dateien von fa-technik.adfc.de abgerufen werden und nicht von opengeodb.org. Am Ende filtere ich noch die doppelten raus, fertig. Was liegt also näher, als alle Konsumenten oder Unternehmen anzuschreiben, die in unmittelbarer Nähe wohnen bzw. den ersten nimmt? 2-Faktor-Authentifizierung mit dem Google Authenticator, X-Frame-Options Header gegen ClickJacking, Ersetzen von „TYPE=InnoDB“ durch „ENGINE=InnoDB“, da ich eine MySQL 5.6. 100km Umkreis, max 20 Orte) zu einem Objekt (Berg, Park..). Um genau zu sein: Meine Lösung ist eigentlich keine Umkreissuche, sondern vielmehr eine „Um-Quadrat-Suche“ da der Zielbereich quadratisch abgesteckt wird. Für dieses Gesamtvorhaben benutze ich zur Zeit zwei Skripte: require_once(„tools/ogdbPLZnearby2.lib.php“); require_once(„tools/ogdbDistance.lib.php“); Weil ich kann mir zwar mit ogdbPLZnearby2 die Distanzen zu den NachbarPLZ anzeigen lassen aber das nützt mir an der Stelle nichts. Es gibt diverse online-Tools, die sowas anbieten. vielen lieben Dank für deine schnelle Antwort. Habe eine DB inkl PLZ für jeden Eintrag und würde gerne eine Umkreissuche ergänzen. super Sache! Ja also es ist so: Ich habe in WP eine Liste mit CPTs (Golfplätze). Nur wie bekomm ich es hin das er bei mehreren Einträgen z.B. über die Google Maps API. Danke nochmal http://www.fa-technik.adfc.de/code/opengeodb/CH.tab. später könntest du auch alle Einträge in deiner Datenbank mit Lat/Lng versehen. In der hier beschriebenen Form macht das allein als WordPress-Plugin auch wenig Sinn – das Skript liefert ja nur die Postleitzahlen samt Entfernung im angegeben Umkreis. Die Frage stellt sich mir wie genau die PLZ Suche denn ist. Dann durchlaufe ich die gegebenen 42 Postleitzahlen der Filialen und berechne jeweils die Distanz zu allen 17052 Postleitzahlen die es in Deutschland gibt. Oft sind diverse Postleitzahlen mit den selben Koordinaten versehen (manchmal ganze Städte). Ich habe die zip datei lokal gespeichert und entpackt und per xampp konnte ich auch die php dateien öffnen. Deine Antwort war mir irgendwie zu schwammig. Download unserer "PLZ Datenbanken" und erstellen Sie für Ihre Website / Software eine PLZ Umkreissuche.Alle unsere Datenbanken enthalten Längengrad und Breitengrad für jede PLZ + gratis Beispiel Scripte für PHP/ MySQL und ASP / MS SQL-Server. Firma X möchte nun diese Kunden kontaktieren, aber nur diejenigen die in 35km Umkreis um eine seiner 42 Filialen wohnen. Wir nutzen Cookies und andere Technologien. Eine PLZ Umkreissuche in PHP, dazu benötigen wir: Eine Geo DB mit Long und LAT sowie PLZ (am besten von opengeodb auf sourceforge) Einen brauchbaren Umkreissuchen-Script; Etwas Zeit; Bei meinen Versuchen hat sich herausgestellt, dass ich die meiste Zeit damit verbracht habe, eine brauchbare Datenbank zu finden und zu formatieren. Also ich übergebe einer Funktion zwei PLZs und bekomme die Distanz in KM zurück. Verwendet man dann einfach so, z.B. Daher habe ich eine eigene kleine Umkreissuche auf Basis von Postleitzahlen geschrieben; als Grundlage und Inspiration diente mir dabei das OgdbDistance-Skript von Manuel Hoppe. Dazu müsste ich die von Dir beschriebene Änderung auch mal vornehmen und mir das Ergebnis etwas genauer anschauen – aber dafür fehlt mir leider im Moment die Zeit. Die OpenGeoDB ist relativ groß da sie viele Daten zu Städten, Landkreisen, Postleitzahlen usw. Hab natürlich ordentlich gegoogelt und auch was brauchbares gefunden: Umkreissuche mit der OpenGeoDB. Folgendes kleines Script lieferte mir dann die Ergebnisse, die ich haben wollte: Den etwas komplizierteren SQL-Query habe ich aus dem besagten Wiki-Artikel, den hätte ich selbst nur schwerlich erstellen können in kurzer Zeit. Auf etlichen (Shared)-Servern ist der Download externer Quellen über diese Funktion jedoch via allow_url_fopen=off unterbunden. Leider bekomme ich es in WordPress nicht in mein Theme integriert. Möchte oder kann man keine Google Karte anzeigen, darfst du auch die PLZ-Lat/Lng-Ergebnisse nicht nutzen. Wenn Du mein Skript verwendest, kannst Du durch setzten des vierten Wertes in der Function ogdbPLZnearby() auf true die Entfernung zu den jeweils ermittelten PLZ zurückgeben lassen. Ich möchte eine Umkreissuche realisieren um nach plz in einem gewissen umkreis zu suchen die bestimmte Kriterien erfüllen. Firma X möchte nun diese Kunden kontaktieren, aber nur diejenigen die in 35km Umkreis um eine seiner 42 Filialen wohnen. Wenn ich mir aber die CSV anschaue ergibt sich ja schon das Problem das man mehrere PLZ für ein und den selben Ortsnamen hat. Lustigerweise war Umkreissuche einer der ersten Dinge, über die ich gebloggt habt. Bitte informieren Sie uns, wenn sich dieser Link ändern sollte. Um die OpenGeoDB in meine MySQL zu importieren musste ich leider nicht nur einen SQL-Dump importieren, sondern ein paar Schritte beachten, die aber nach etwas Suche im Wiki beschrieben sind. Danke schon mal und viele Grüße, Jerry Noch dazu gibt es Berge und Täler. http://www.thewebhatesme.com/allgemein/umkreissuche-in-php-teil-1/. Das kann praktisch sein, wenn man alles innerhalb eines bestimmten Umkreises.. Noch ein Hinweis: Da die Entfernungsbestimmung auf Basis eines Koordinatenpaares je Postleitzahl erfolgt und dabei nicht die tatsächliche Verkehrsführung berücksichtigt wird, kann die ermittelte Entfernung insbesondere im ländlichen Raum (große PLZ-Gebiete, geringe Straßendichte) durchaus größere Differenzen zur realen (Auto-)Entfernung aufweisen.