Punkte aus Datenbank holen und mit OpenLayers anzeigen

Meine Feuerwehrmänner speichern Hydranten in die Datenbank. Sinnvollerweise werden diese von den Renderern nicht dargestellt. Jetzt möchten wir: alle Hydranten, die sich in einem geschlossenen Polygon befinden (Grenze) aus der Datenbank auslesen und als Marker mit Openlayers in der Karte anzeigen. Wie geht das? Gruss, Markus

Hallo Markus, ist ja interessant… Du Tread dazu kennst du ja sicher? http://forum.openstreetmap.org/viewtopic.php?id=762&p=1 Würde mich mal interesssieren zu welcher Einigung ihr gekommen seit. Denn im o.g. wurden einige Ideen besprochen aber eine Lösung die allgemeine Zustimmung fand gab es m.E. bisher noch nicht. Wie macht ihr es denn? Link? Georg

Hallo Georg,

Auch hier stosse ich wieder auf dasselbe OSM-Problem wie so oft: Die Menschen sind interessiert bis begeistert (hier die Feuerwehrmänner), sehen Anwendungsmöglichkeiten, fragen wie es geht - und keiner hier weiss Genaueres… Also “erkläre” ich ihnen: das ist halt Opensource - da müsst ihr halt selbst… Das verstehen sie zwar, sie sind ja auch die Fachleute für Hydranten - aber sie möchten zumindest wissen, wie denn das DB-Schema funktioniert. Aber ihre Frage an mich ist erfolglos, sie erinnert mich nur daran, dass ich mit denselben Fragen hier genauso erfolglos blieb. Was ist eigentlich aus den Ideen der hierarchischen Schlüsseln geworden? Und in der Zwischenzeit, bis sie sich ein System ausgedacht haben, - versuche ich schon mal abzuklären, wie man denn (falls man irgendwann soweit ist und die Daten in der DB hat) die Daten wieder aus der DB rauskriegt und mit Openlayers anzeigt? Das Ganze ist aber so nervig, dass ich bald überhaupt keine Lust mehr auf OSM habe: Mangels Dokumentation frage ich hier und in der Mailingliste. Meine Frage in der Mailingliste wurde an die englische OL-Liste verwiesen, und dort begegne ich ziemlich unverständlichen Haltungen, die mir empfehlen, doch Code lesen und programmieren zu lernen… Ich fürchte, so wird aus OSM nie etwas Brauchbares… Gruss, Markus PS: das hatte ich vor Wochen mal aufgesetzt, weil es gewünscht wurde: DE:Fire_hydrant Kannst Du gern mit Hydrant zusammenschmeissen.

Hmm interessante Aufgabenstellung. Knackpunkt meiner Ansicht nach ist das Auslesen aus der OSM Datenbank. Ist die Frage möchtest du das einmalig machen (Daten an einer seperaten Stelle speichern) oder jedesmal beim Aufruf der Seite? [Mutmaßung] Bin zwar nicht wirklich fit was Php angeht aber mal rein ins blaue geschossen müsste man eine Anfrage oder mehrer Anfragen an die Api(http://wiki.openstreetmap.org/index.php/Osmxapi) formulieren die dir nur die Hydranten ausgibt. Das soltle eigentlich via PHP machbar sein. Danach kann man die zurückgegebenn Daten entsprechend mit den xml Funktionen von PHP parsen um die entsprechenden Marker zu erstellen. Ich denke wenn die xml Daten erstmal vorliegen dann sollte das für den durchscnittlichen PHP Programmierer kein grösseres Problem mehr sein [/Mutmaßung] Gruß Martin

Tach, Schau mal unter http://www.faveve.uni-stuttgart.de/~troll/OSM/ Dort kann man OSM-POIs auf einer Karte anzeigen lassen und auch als GPX-File runterladen. Suchst Du ungefähr sowas? Dann bin ich gerne für weitere Fragen offen. Grüße, Tobi-Wan

markus, ich versteh nicht ganz was dich jetzt so deprimiert? deinem post nach zu urteilen hast du ja verstanden wie das alles hier in etwa abläuft … sogar schon selbst ein tagging schema ausgedacht. ich würde dann einfach anfangen die teile zu taggen, der auszug aus der db stellt auch kein größeres problem dar (siehe post über mir). läuft doch alles, warum so deprimiert? das man in einem software/datensammel projekt als jemand der wenig/nicht programmieren kann etwas länger braucht um dinge zu erreichen versteht sich denke ich von selbst. genau als wenn ich jetzt deinen feuerwehrlern neue hydrantenhandhaberegeln schmackhaft machen will (ok an den haaren herbeigezogen, aber so prinzipiell :wink: )

Hallo Markus, hier auch noch ein weiteres Beispiel von Marius Rieder: http://lab.openstreetmap.ch/?zoom=14&mlat=47.11447&mlon=9.15511&layers=0B0T Gruss zapfen

Hi Markus B, ich hab’ die Diskussion um die hierarchischen Schluessel mitverfolgt. Mal unbeachtet meiner Meinung dazu. Von welchen Zeitraeumen bei einem Projekt wie OSM gehst du da aus, wenn es um die Implementierung geht? Wenn ich ein 99% backing seitens der gesamten OSM- Community unterstelle, dann reden wir da von mehreren Mo- naten, wenn nicht gar Jahren. Vielleicht solltest du da den Feuerwehrmaennern nicht zu viel versprechen… Ein anderer Punkt ist tatsaechlich, dass es bei solchen Open Source Projekten halt zu einem grossen Teil um das Doing, also das Coding, geht. Viele Indianer, wenige Haeuptlinge. Wenn du also das Projekt in Richtung ‘hierarchische Keys’ kriegen willst, dann brauchst du nen Programmierer, der mit Code zeigt, dass es funktionieren kann. Dann, und nur dann, kannst du bei solchen Projekten ein echtes Momentum in Gang setzen. Aber dann kann echt die Post abgehen. :sunglasses: Zu einem letzten Punkt von dir, den du vermutlich aus einer gewissen Frustration heraus geschrieben hast: Ich finde schon jetzt, dass OSM fuer viele Anwendungen brauchbar ist — aber ok: Ich heisse nicht Grisu und bin keiner Feuerwehrmann. An- dererseits weiss ich dank OSM mittlerweile, was ein Unterflur- hydrant ist… :wink: just my .05USD, knottytom Edit: typo

Mit Query-to-map kann man sich die hydranten (amenity=fire_hydrant) anzeigen lassen. Allerding sind dort keine Kombinationen von Tags möglich, und es werden bei den POIs auch nicht die zusätzlichen Tags angezeigt. Wenn mir jemand sagen kann, wie man mit PHP bestimmte POIs, die aus einer kombination von Tags bestehen, aus OSM auslesen kann, dann kann ich da vielleicht was draus basteln. Kann man nicht direkt mit einem MySQL-Query Daten aus der OSM-Datenbank holen? Wenn ich die API richtig verstehe, dann kann man dort immer nur ein Tag angeben, um die Elemente aus der Datenbank zu ziehen. Dann müsste man halt mit PHP die XML-Daten so selektieren, dass die gewünschten Objekte richtig dargestellt werden. Leider kenn ich mich mit dem Parsen von XML mit PHP nicht besonders aus. Da müsste ich mich mal schlau machen. Aber grundsätzlich sollte das problemlos möglich sein. Das Thema mit den hirarchischen Schlüsseln ist leider hängengeblieben. Um das ganze Umsetzbar zu machen bräuchten wir jemanden, der tiefer in den Aufbau der Datenstruktur von OSM involviert ist.

Hallo Tobi,

Das sieht vielversprechend aus! Übertragen auf die Bedürfnisse der Feuerwehr hiesse das: - zeige alle Objekte “firehydrant” als Icon - bei Klick auf Icon zeige Info aus Datensatz Ich habe von dem was ich schon habe eine Doku und eine ToDo-Liste erstellt. Vielleicht kannst Du ja dort auf der Disku ein paar Codeschnipsel mit hilfreicher Erklärung hinschreiben? Und ich versuch dann, was ich damit anstellen kann… Gruss, Markus

Hallo Zapfen,

Dort gibts Icons für Bushaltestellen, die bei Klick Infos anzeigen, die beim nächsten Klick wieder verschwindet. Kannst Du mir erklären, wie das genau funktioniert? Ich habe von dem was ich schon habe eine Doku und eine ToDo-Liste erstellt. Vielleicht kannst Du ja dort auf der Disku ein paar Codeschnipsel mit hilfreicher Erklärung hinschreiben? Und ich versuch dann, was ich damit anstellen kann… Gruss, Markus

Hallo Markus B, Ich habe Dir hier einen Link und ein Beispiel eingebaut. http://wiki.openstreetmap.org/index.php/DE_talk:OSM_in_Website_f%C3%BCr_Gemeinde#Marker_aus_Liste_in_Layer_einbinden Es wird ein zusätzlicher Layer namens: My Points mit location eingebaut. Der Rest funktioniert dann automatisch, es gibt auch die Möglichkeit von Bildern. Könntest Du mir noch schnell sagen wie ich für diese Seite: http://wiki.openstreetmap.org/index.php/Openlayers_POI_layer_example eine Übersetzung in Deutsch einbaue? Danke und Gruss Zapfen

OK, jetzt verstehe ich, was Du meinst. Die Chose funktioniert seit gestern nicht mehr :rage::mad::mad: Die Infos wurden prinzipiell schon angezeigt, sofern sie vorhanden waren.

Da kann ich gerne was machen, frühestens aber am WE. Den Code des Serverseitigen Scripts kann ich auch gerne veröffentlichen, muss ihn aber vorher nochmal genau auf die Netzwerksicherheit untersuchen. Grüße, Tobi-Wan

OK, ich weiß nicht, ob’s gestern Abend funktioniert hat, aber im Moment scheint es Probleme mit http://www.informationfreeway.org zu geben, daher wird auch nix eingeblendet :frowning:

Herzlichen Dank! Bin mir noch nicht klar, wie man das mit der Datenhaltung am besten macht: a) alles in die OSM-DB, und dann von dort selektiv in den Layer auslesen b) alles in ein eigenen Datei (ginge da auch XLS statt TXT?) ad a): gibt es eigentlich einen Schlüssel für “Popuptext”? Oder andersrum: gibt es ein Format dafür, wie im Popuptext die Werte einzelner Schlüssel aus der DB dargestellt werden können?

Schreibe den deutschen Text hier: DE:Openlayers_POI_layer_example Bezüglich Internationalisierung findet grad ein kleiner “Kulturwandel” statt, das ganze OSM-Wiki wird in Sprachversionen aufgetrennt. Das Sprachmenü ist frühestens nächste Woche anwendbar. Bis dahin mach einfach in jede Version einen Link zur anderen. Gruss, Markus

Hallo, ich würde gerne bestimmte Wanderrouten (relations) auf der Karte anzeigen lassen. Es gibt ja Beispiele wie sich .gpx-Dateien darstellen lassen, allerdings müsste man dann ja jede Routen-Relation in eine .gpx-Relation umwandeln. Oder gibt es da noch andere Möglichkeiten? Die Wanderwege sollten natürlich in unterschiedlichen Farben angezeigt werden und zumindest den Namen irgendwo stehen haben. Mit XML umwandeln habe ich bisher so gut wie keine Erfahrung, vielleicht weiß da ja zumindest jemand einen Ansatz in php oder Java, oder auch in anderen Sprachen (dann aber fertig benutzbar). Ich will damit zunächst erstmal auf übersichtliche Art und Weise überprüfen welche Routen wo schon fertig eingetragen sind. Und natürlich kann es sicher auch nützlich sein, um die fertigen Daten (auch andere Arten von Routen) anzeigen zu lassen. Gruß

Query-to-map kann Objekte (auch Relationen) direkt aus der Datenbank auf einer Karte anzeigen. (http://toolserver.org/~kolossos/osm/index.php) Wie das ganze funktioniert würde mich aber auch mal interessieren. Laut http://wiki.openstreetmap.org/index.php/Query-to-map wird dort über die xapi die OSM-Datei geholt, und daraus dann eine KML gemacht…

Hallo, dies ist in wenigen Sekunden zu erledigen mit dem Relation-Analyzer: http://betaplace.emaitie.de/webapps.relation-analyzer/ Einfach die Relation-ID (wird z. b. in JOSM angezeigt) eintippen und “Analyze” klicken und schon erscheint ein “Download as gpx”-Button für die Route. Das Beispiel wie diese gpx-Datei mit Openlayers dargestellt wird hast Du anscheinend schon gefunden: http://wiki.openstreetmap.org/index.php/DE:Openlayers_Track_example Gruß Thomas

Hab grad das hier im “Questions and Answers”-Forum gefunden: http://lists.openstreetmap.org/pipermail/dev/2008-October/011998.html Wenn ich alles richtig verstanden habe, dann übersetzt das Teil OSM-Dateien direkt in Openlayer-Textdateien. Die Beispiele sehen interessant aus …

Neue Seite: Daten aus Datenbank filtern Gruss, Markus