[Talk-de] OSM: Scheller geht nicht!
Genauso so muss es sein, die Welt verändert sich und es gibt ein Kartenwerk, welches diese Veränderungen sofort präsentiert. Das kann momentan nur eins: OpenStreetMap! ... https://geoobserver.wordpress.com/2015/05/11/osm-scheller-geht-nicht/ Der geoObserver. ___ 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] nominatim ortsangaben
Moin, Am 09.05.2015 um 19:24 schrieb Sarah Hoffmann: In OSM wäre es schön wenn wir uns auf ein einheitliches Tagging für solche Eingemeindungnen einigen könnten. Ich habe schon alles gesehen für das Tagging der place-Nodes: village, hamlet, suburg, isolated_dwelling. Das macht es schwierig, einigermassen allgemeingültige Regeln für die Berechnung der Adressen aufzustellen. das Problem ergibt sich aber aus der Realität: (Getrennte) Siedlungsplätze sind nunmal unterschiedlich in der Größe (village, hamlet, isolated_dwelling) und sollen ja auch entsprechend ihrer Größe / Population getaggt werden. Und sie können nunmal allesamt Ortsteile einer Gemeinde sein - ob nun seit jeher oder eben durch Eingemeindung. suburb wiederum ist ja keine Größenangabe sondern eher eine Zugehörigkeitsangabe - und ist laut Wiki ja eigentlich für ineinanderübergehende Bebauung gedacht. Langfristig ist die Definition von Flächen auf jeden Fall die bessere Lösung, weil die Auswertung der Nodes immer ungenau ist. Ich persönlich beführtworte da ein doppeltes Tagging: Relationen für die Stadtfläche und einen place-Node für die Markierung des Ortskerns. Aber es gibt auch Gegner, die das als Redundanz ansehen. Ich zumindest nicht. ;-) Relationen sind aber bei vielen kleineren Siedlungsplätzen ziemlich schwere Geschütze, zumal oft keine echten Grenzlinien existieren. Willkürliche place-Polygone würden oft ausreichen - und für die Plazierung des Labels bei diesen kleinen Flächen auch oft genügen. Andererseits sollte man vielleicht die derzeitige Wiki-Empfehlung, dass suburb am besten durch einen node getaggt wird, mal überdenken - und überarbeiten? Ausserdem gibt es stimmen, die sagen, dass addr:*-Tags nicht an die Strasse gehören, weil Strassen keine Adressen haben. Hier allerdings +1. Zudem soll es Straßen geben, die links und rechts unterschiedliche Ortsteile haben (Hörensagen ohne konkretes Beispiel). Gruß Georg ___ Talk-de mailing list Talk-de@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-de