[Talk-de] OSM: Scheller geht nicht!

2015-05-10 Diskussionsfäden Elstermann, Mike
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

2015-05-10 Diskussionsfäden Markus

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

2015-05-10 Diskussionsfäden rainerU

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

2015-05-10 Diskussionsfäden Georg Feddern

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