Re: [Talk-de] Eigene OSM-Karte mit Overpass
Liebe OL- und Overpass-Spezialisten, gibt es hier jemanden, der das HowTo ergänzen kann? oder ist das Forum die bessere Anlaufstelle? Vielleicht können wir ja zusammen das OL-HowTo http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden so ergänzen, dass der Benutzer mit einer Overpass-Abfrage einen individuellen Layer hinzufügen kann :-) Die Idee ist gut, aber das sollte jemand machen, der sich gut mit Openlayers auskennt. Wir könnten ja auch schrittweise vorgehen: einer schreibt, wie man die Daten aus Overpass holt und speichert, einer erklärt, wie man sie mit OL anzeigt, und gemeinsam schreiben wir alles ins Wiki... Mit herzlichem Gruss, Markus ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Markus, http://lau-net.de/baerlocher/osm/vvh-baenke/vvh-baenke.html Was soll man da sehen? Also ich sehe dort keine Bänke, Kreise oder irgendwas außer der normalen Karte?! Firebug zeigt mir weder Fehler noch irgendwelche Requests an. Für die Gemeinde Schleusegrund und Wanderwege habe ich testweise mal was ähnliches gebaut [1], läuft aber unter leaflet und hole die Daten live per Overpass und hatte bisher noch nicht ein Quota. [1]: http://osm.haraldhartmann.de/schleusegrund/ Viele Grüße, Harald Hartmann ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Am 10.05.2015 um 14:06 schrieb Markus: Vielleicht können wir ja zusammen das OL-HowTo http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden so ergänzen, dass der Benutzer mit einer Overpass-Abfrage einen individuellen Layer hinzufügen kann :-) Die Idee ist gut, aber das sollte jemand machen, der sich gut mit Openlayers auskennt. Ich habe mir meine Layer-Definition aus verschiedenen Beispielen zusammen gestöpselt ohne alles zu verstehen, nach dem Motto Hauptsache es funktioniert. ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Rainer, Vielleicht können wir ja zusammen das OL-HowTo http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden so ergänzen, dass der Benutzer mit einer Overpass-Abfrage einen individuellen Layer hinzufügen kann :-) Die Idee ist gut, aber das sollte jemand machen, der sich gut mit Openlayers auskennt. Ja, so eine Anleitung wäre für viele sicher sehr hilfreich. @ Harald: Der Link zeigt den aktuellen Stand laut Wiki-Anleitung. Jetzt müssten wir noch ein HowTo für die Einbindung von Overpass-Daten schreiben... Mit herzlichem Gruss, Markus ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hallo Robert, danke für deine generelle Maßnahmen, werde davon sicherlich einige noch auf meiner Recycling-Map [1] einbauen, in der ich jetzt wie wild umeinander herscrollen musste um einen 429er zu provozieren. Ich glaube ich baue zusätzlich auch noch ein, dass man während eine Abfrage mit Sanduhr bis zum Timeout läuft auch das wegscrollen verbietet. Habe aber noch eine Frage: Was verstehst du unter - Requests serialisieren [1] http://osm.haraldhartmann.de/recycling Viele Grüße, Harald Hartmann -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQEcBAEBAgAGBQJVUP3IAAoJEIuLcq40+VqtpxIIAMfteBvfJidPLX+YUWvK38ck uNsOE5F4iRY8Ul3Yfhy6AEQmQrtKNb4QoZEpMfZPmFtDIclZVrj0BezwWvyvqig6 xGpF4XmWI3xuvzjC4ynWi5tvDmsS0V+9Ti4lwrlaLyvljIQG3SiIRQrdH+tFE4eO DCbXlMZoODuMskSP/iS1NJxE8WhKgZUnyA8g7ENJSzQLNNh/TQwg+lFhZzuuIfK3 211vnA5TOMe2XzDYACQrTDUZw6DGDDEdPR6LcSq9G6PwFQwh6cbM25yebki4yuAC 7VKG2GBl4HjIDrTUqGA2tkhA3mxzlH+QOyCQt1N1Q6WSBZNPkJ/BxsO0DWtJoQg= =dENm -END PGP SIGNATURE- ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Roland, Harald, Am 11.05.2015 um 19:01 schrieb Roland Olbricht: Es sieht eher danach aus, als wenn Briefkästen dann nicht gefunden werden. Es scheint mir beim Drüberschauen vielleicht doch ein Problem der briefkastenkarte.de zu sein, weil das Problem auf der Beispielseite des Leaflet-Plugins nicht auftritt. Ich meine mich zu erinnern, dass diese Leaflet-Beispielseite noch auf die rambler.ru-Instanz zugreift und dort diese Limitierung (noch) nicht greift. Am 11.05.2015 um 21:06 schrieb Harald Hartmann: danke für deine generelle Maßnahmen, werde davon sicherlich einige noch auf meiner Recycling-Map [1] einbauen, in der ich jetzt wie wild umeinander herscrollen musste um einen 429er zu provozieren. Am einfachsten lässt sich der Unterschied z.B. mit Firebug in Firefox (oder auch den Entwicklertools in Chrome) nachvollziehen: Während deine Recycling-Karte für die BBox genau eine Abfrage absetzt, teilt die Briefkastenkarte die BBox in viele kleine Unterabschnitte auf und setzt für jeden dieser Abschnitte einen eigenen Request ab. Das meinte ich eingangs mit fluten. Serialisieren würde hier bedeuten, immer nur genau einen Request gleichzeitig abzusetzen. Ich glaube ich baue zusätzlich auch noch ein, dass man während eine Abfrage mit Sanduhr bis zum Timeout läuft auch das wegscrollen verbietet. Alternativ wäre auch ein /api/kill_my_queries beim Scrollen der Seite machbar. Dadurch werden noch ausstehende Queries auf dem Server einfach abgebrochen. Gruß, mmd ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo, ist vielleicht die Briefkastenkarte sowas was du suchst: http://briefkastenkarte.de/ erst einmal freut es mich, dass jemand die Seite herausgesucht hat. Ich finde sie von der Idee her sehr gut. Man sollte da technische Details nicht zu hoch hängen. Im Blog dazu gibt es auch eine gute Anleitung wie sie gemacht wurde: http://blog.briefkastenkarte.de/ Mit der neuen Quota-Regel für die Overpass API [2] werden inzwischen auch etliche Abfragen mit einem Fehler abgewiesen (429 Too Many Requests). Ob dadurch Briefkästen nicht angezeigt werden oder einfach eine neue Abfrage abgesetzt wird, habe ich mir allerdings nicht mehr genau angesehen. Es sieht eher danach aus, als wenn Briefkästen dann nicht gefunden werden. Es scheint mir beim Drüberschauen vielleicht doch ein Problem der briefkastenkarte.de zu sein, weil das Problem auf der Beispielseite des Leaflet-Plugins nicht auftritt. Falls auch OpenLayers geht, was meistens der Fall ist, möchte ich gerne auch auf die Seiten http://overpass-api.de/open_layers_mashup.html und speziell http://overpass-api.de/open_layers_multilayer.html hinweisen. Das sieht zwar nicht schön aus, aber zeigt die Abfragemechanik. Das wesentliche Detail ist hier der sehr kurze Timeout. Dies verringert das Risiko von 429ern, weil die Abfragen nicht noch auf dem Server nachlaufen, wenn der Benutzer schon weggescrollt hat. 5 Sekunden wären vermutlich auch OK, aber 180 Sekunden sind für diesem Einsatzzweck definitiv zuviel. Generell würde ich die folgenden Maßnahmen empfehlen: - max. 5 Sekunden Timeout - Anzeige einer unaufdringlichen Sanduhr, solange Requests laufen oder dafür pausiert wird, damit der Endnutzer noch keine Daten von leeres Suchergebnis unterscheiden kann - mit 429 zurückkehrende Requests nach 15 Sekunden wiederholen - Requests serialisieren Viele Grüße, Roland ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Rainer, Ich habe auch nach so etwas gesucht, aber für OpenLayers kein HowTo gefunden. Anhand diversen Einzelinformationen habe ich es dann doch geschafft. Vielleicht können wir ja zusammen das OL-HowTo http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden so ergänzen, dass der Benutzer mit einer Overpass-Abfrage einen individuellen Layer hinzufügen kann :-) Vielleicht einfach ein weiterer Tab 2. Layer? Dort könnte man folgendes darstellen: 1. wie erstelle ich eine passende Overpass-Abfrage 2. wo speichere ich die Ergebnisse? in welchem Format 3. wie zeige ich die Ergebnisse als Layer (Code für Copy und Paste) Beispiel: - Grenze einer bestimmten Gemeinde - alle Trinkwasserbrunnen, Sitzbänke, Restaurants, ... - alle Wanderwege Ich teste das grad mit der Gemeinde Simmelsdorf [1] und den Sitzbänken [2] Unklar ist mir, wie man das alles nun in ein layer.js schreibt, das Popup hübsch gestaltet, und alles in das HTML einbaut. Vielleicht können wir das als Beispiel im Tab 2. Layer detailliert beschreiben. Wir könnten auch Dein Beispiel nehmen: Entscheidend war, dass die Daten nicht als JSON sondern im OSM-XML-Format abgerufen werden. Den OL-Layer erzeuge ich so: var layer = new OpenLayers.Layer.Vector(layername, { protocol: new OpenLayers.Protocol.HTTP({ url: 'http://overpass-api.de/api/interpreter?data=[timeout:25];(node[amenity=bicycle_parking](42.327,1.72,42.942,3.26););out body;;out skel qt;', format: new OpenLayers.Format.OSM({ignoreExtraDims: true}), projection: new OpenLayers.Projection(EPSG:4326) }), strategies: [new OpenLayers.Strategy.Fixed()], projection: map.displayProjection, extractAttributes: true, styleMap: new OpenLayers.StyleMap({ default: new OpenLayers.Style({ externalGraphic: icon, graphicWidth:21, graphicHeight:25, graphicXOffset:-10, graphicYOffset:-25 , graphicZIndex: 1 }, OpenLayers.Feature.Vector.style[default]) }), }); Wenn ich das richtig verstanden habe, gibt es vier Möglichkeiten: a) Daten bei jedem Laden der Karte neu holen b) Daten einmal holen und speichern, und beim Laden der Karte nur den Speicherinhalt anzeigen c) Daten per Cron täglich holen und beim Laden der Karte den aktualisierten Speicherinhalt anzeigen d) beim Laden der Karte den aktualisierten Speicherinhalt anzeigen plus ein Button zum händischen aktualisieren der Daten die von Benjamin angesprochene Lösung mit Cron sinnvoll. In diesem Fall ersetzt man den Url der Overpass-Abfrage mit dem Url der per Cron erzeugten Datei. Mit herzlichem Gruss, Markus [1] Simmelsdorf: http://lau-net.de/baerlocher/osm/vvh-baenke/vvh-baenke.html [2] Overpass-Turbo: /* This has been generated by the overpass-turbo wizard. The original search was: “amenity= bench in Simmelsdorf” */ [out:json][timeout:25]; // fetch area “Simmelsdorf” to search in {{geocodeArea:Simmelsdorf}}-.searchArea; // gather results ( // query part for: “boundary=administrative and name=Simmelsdorf” relation[boundary=administrative][name=Simmelsdorf]; // query part for: “amenity=bench” node[amenity=bench](area.searchArea); way[amenity=bench](area.searchArea); relation[amenity=bench](area.searchArea); ); // print results out body; ; out skel qt; ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Markus, Am 09.05.2015 um 20:38 schrieb Markus: Nun suche ich dort noch das Howto zum Ausführen einer Overpass-Abfrage und Einbinden der Ergebnisse in die Karte. Ich habe auch nach so etwas gesucht, aber für OpenLayers kein HowTo gefunden. Anhand diversen Einzelinformationen habe ich es dann doch geschafft. Entscheidend war, dass die Daten nicht als JSON sondern im OSM-XML-Format abgerufen werden. Den OL-Layer erzeuge ich so: var layer = new OpenLayers.Layer.Vector(layername, { protocol: new OpenLayers.Protocol.HTTP({ url: 'http://overpass-api.de/api/interpreter?data=[timeout:25];(node[amenity=bicycle_parking](42.327,1.72,42.942,3.26););out body;;out skel qt;', format: new OpenLayers.Format.OSM({ignoreExtraDims: true}), projection: new OpenLayers.Projection(EPSG:4326) }), strategies: [new OpenLayers.Strategy.Fixed()], projection: map.displayProjection, extractAttributes: true, styleMap: new OpenLayers.StyleMap({ default: new OpenLayers.Style({ externalGraphic: icon, graphicWidth:21, graphicHeight:25, graphicXOffset:-10, graphicYOffset:-25 , graphicZIndex: 1 }, OpenLayers.Feature.Vector.style[default]) }), }); Ich halte allerdings auch die von Benjamin angesprochene Lösung mit Cron für sinnvoll. In diesem Fall ersetzt man den Url der Overpass-Abfrage mit dem Url der per Cron erzeugten Datei. Grüße Rainer ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo Markus, ist vielleicht die Briefkastenkarte sowas was du suchst: http://briefkastenkarte.de/ Im Blog dazu gibt es auch eine gute Anleitung wie sie gemacht wurde: http://blog.briefkastenkarte.de/ Liebe Grüße Benjamin On 09.05.2015 20:38, Markus wrote: Liebe Spezialisten, mich fragte jemand, wie man eine OSM-Karte als Slippymap mit OL in die eigene Website einbinden, und darauf die Ergebnisse einer Overpass-Abfrage anzeigen kann. Dachte, ich schicke ihm einfach einen Link :-) Gefunden habe ich: http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden Funktioniert soweit. Nun suche ich dort noch das Howto zum Ausführen einer Overpass-Abfrage und Einbinden der Ergebnisse in die Karte. Wer kann helfen? Gruss, Markus ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de signature.asc Description: OpenPGP digital signature ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo mmd, leider kann ich diese Karte zur Zeit nur eingeschränkt weiterempfehlen, da sie die Overpass API regelrecht mit Anfragen flutet. Mit der neuen Quota-Regel für die Overpass API [2] werden inzwischen auch etliche Abfragen mit einem Fehler abgewiesen (429 Too Many Requests). Ob dadurch Briefkästen nicht angezeigt werden oder einfach eine neue Abfrage abgesetzt wird, habe ich mir allerdings nicht mehr genau angesehen. bei meiner eigenen Karte www.veggiekarte.de, hole ich per cronjob nur jede Stunde einmal neue Daten via overpass und selbst da bekomme ich ab und zu die too many requests-Meldung. Aber kommt nur ganz selten vor. Finde ich persönlich aber angenehmer als bei briefkastenkarte.de, weil der Browser so die Daten nur einmal rendern muss. Liebe Grüße Benjamin signature.asc Description: OpenPGP digital signature ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Versuche auch mal mit umap.openstreetmap.fr: http://umap.openstreetmap.fr/nl/map/1001-bomen-voor-leuven_30815#13/50.8788/4.7076 http://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(node[natural=tree]({south},{west},{north},{east}););out meta qt; http://umap.openstreetmap.fr/nl/map/openbaar-vervoer-rond-leuven_30737#13/50.8767/4.7128 http://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(relation[route=bus][ref=1]({south},{west},{north},{east}););out body;;out meta qt; Grüsse, Polyglot 2015-05-09 20:38 GMT+02:00 Markus liste12a4...@gmx.de: Liebe Spezialisten, mich fragte jemand, wie man eine OSM-Karte als Slippymap mit OL in die eigene Website einbinden, und darauf die Ergebnisse einer Overpass-Abfrage anzeigen kann. Dachte, ich schicke ihm einfach einen Link :-) Gefunden habe ich: http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden Funktioniert soweit. Nun suche ich dort noch das Howto zum Ausführen einer Overpass-Abfrage und Einbinden der Ergebnisse in die Karte. Wer kann helfen? Gruss, Markus ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
Hallo, Am 09.05.2015 um 22:13 schrieb Benjamin Grimm-Lebsanft: Hallo Markus, ist vielleicht die Briefkastenkarte sowas was du suchst: http://briefkastenkarte.de/ Im Blog dazu gibt es auch eine gute Anleitung wie sie gemacht wurde: http://blog.briefkastenkarte.de/ leider kann ich diese Karte zur Zeit nur eingeschränkt weiterempfehlen, da sie die Overpass API regelrecht mit Anfragen flutet. Mit der neuen Quota-Regel für die Overpass API [2] werden inzwischen auch etliche Abfragen mit einem Fehler abgewiesen (429 Too Many Requests). Ob dadurch Briefkästen nicht angezeigt werden oder einfach eine neue Abfrage abgesetzt wird, habe ich mir allerdings nicht mehr genau angesehen. Ich kann mir gut vorstellen, dass die Karte selbst unschuldig ist und leaflet-layer-overpass [3] im Hintergrund für die vielen Abfragen sorgt. Das müsste sich vielleicht jemand mal in Ruhe im Gesamtkontext zu Gemüte führen. Ein Github-Ticket findet sich übrigens unter [1]. Ansonsten würde ich mir auch mal uMap ansehen, die lässt sich bestimmt auch gut in andere Seiten einbetten. Gruß, mmd [1] https://github.com/dbretschneider/briefkastenkarte.de/issues/8 [2] https://lists.openstreetmap.org/pipermail/talk/2015-April/072661.html [3] https://github.com/kartenkarsten/leaflet-layer-overpass ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Eigene OSM-Karte mit Overpass
On Sat, 09 May 2015 20:38:57 +0200, Markus wrote: Liebe Spezialisten, mich fragte jemand, wie man eine OSM-Karte als Slippymap mit OL in die eigene Website einbinden, und darauf die Ergebnisse einer Overpass-Abfrage anzeigen kann. Dachte, ich schicke ihm einfach einen Link :-) Weil es meine erste Wahl für deinen Fall gewesen wäre und auch andere umap schon erwähnt haben: http://www.mappa-mercia.org/2014/09/creating-an-always-up-to-date-map.html hth Thomas ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de
[Talk-de] Eigene OSM-Karte mit Overpass
Liebe Spezialisten, mich fragte jemand, wie man eine OSM-Karte als Slippymap mit OL in die eigene Website einbinden, und darauf die Ergebnisse einer Overpass-Abfrage anzeigen kann. Dachte, ich schicke ihm einfach einen Link :-) Gefunden habe ich: http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden Funktioniert soweit. Nun suche ich dort noch das Howto zum Ausführen einer Overpass-Abfrage und Einbinden der Ergebnisse in die Karte. Wer kann helfen? Gruss, Markus ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de