Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Am 10.11.10 08:56, schrieb Frederik Ramm: Hallo, On 11/10/2010 08:06 AM, André Joost wrote: Ist das in der osm2pgsql.exe festgelegt, oder in der Style-xml (somit vom Selbstrenderer beeinflussbar)? Das ist fest im Programm drin. Schade. In der hier: http://tile.openstreetmap.org/osm2pgsql.zip ist es aber noch nicht eingebaut. Liegt die neue Windows-exe schon irgendwo zum runterladen? Gruß, André Joost ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
2010/11/7 Adjuva: An der Grenze zwischen Deutschland und Österreich ist aufgefallen, dass diese Grenze anders gerendert wird, als andere Grenzen. [...] Über die Ursache dafür wurde hier bisher kaum ein Wort verloren (man macht lieber seine Späßchen). [...] Schauen wir doch einfach mal nach. Der folgende Text ist ein wenig ausführlicher und erklärender als zur Beschreibung der Ursache notwendig, damit auch Leute, die sich noch nicht mit dem Rendering mit Mapnik beschäftigt haben, auch noch etwas verstehen. [... es folgt viel Arbeit ...] Super Analyse, danke! War sicher ne Menge Arbeit! Was mich jetzt aber wirklich etwas verstört ist, dass hier 2 Tage lang NIEMAND dazu ein Wort rausbringt. Adjuva spricht ein konkretes (Rendering von Grenzen) aber auch generelles (Renderer vs. Aufbereitung) Problem an und kein Kommentar? Ist die Analyse falsch? Gibt es das Problem nicht (wenn ich mir die Karte ansehe eher ja). Interessiert's keinen? Oder vielleicht bin ich ja nur falsch in der Annahme, dass hier das richtige Forum dazu ist. Denn wenn ich mir so die Threads der letzten Tage durchlese, scheint das Tagging von dead drops, Tongruben und Häuserdächern _wesentlich_ wichtiger zu sein. Auch jeder noch so kleine _Anschein_ eines Lizenzverstoßes ruft sofort den Blockwart auf den Plan. Aber wenn die Karte daneben ist: pah, wen interessiert das schon. Wir mappen ja nicht für die Renderer. Und überhaupt: auf dem neuen, tollen OSM Portal hat eine Karte sowieso nix verloren. Da pappen wir dann vielleicht lieber ein Buchcover zur Graphentheorie hin. Denn _darum_ geht's ja bei OSM: Knoten, Kanten und Attribute. Damit kann man ALLES machen: Hemden bügeln, Pizza backen und ein paar ewiggestrige OSMler machen daraus sogenannte K a r t e n (was auch immer das ist). Ach ja Tags: wenn dann jemand eine allgemeine Diskussion zum Thema Taggingregeln starten will, sind wir 2 replies später beim aber bitte der Radweg in Kleinwurschtersdorf ist doch nur 1.2m und nicht 1.19m breit! Zum eigentlichen Thema wie man eine semantisch halbwegs konsistente Datenbasis (und Unterstützung für Anfänger) hinbekommt war (fast) nichts zu lesen. Da kommen nur so hilfreiche Kommentare wie die Vorlagen in den Editoren sind alle falsch, interessieren mich nicht, ich tagge wie ich will und das ist super! *kopfschüttel* lG, Georg PS: so, das musste ich mal loswerden. ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Hallo, On 11/09/2010 09:00 AM, Fichtennadel wrote: Was mich jetzt aber wirklich etwas verstört ist, dass hier 2 Tage lang NIEMAND dazu ein Wort rausbringt. Adjuva spricht ein konkretes (Rendering von Grenzen) aber auch generelles (Renderer vs. Aufbereitung) Problem an und kein Kommentar? Ja, sorry, ich habe ganz vergessen, das zu kommentieren. Auch von mir Dank fuer die Recherche-Arbeit. Ich habe daraufhin bereits am Sonntag abend das osm2pgsql dahingehend abgeaendert, dass Relationen mit type=multipolygon und boundary=xxx gleich behandelt werden wie Relationen mit type=boundary. Dass das osm2pgsql da eine Fallunterscheidung hatte, war mir nie aufgefallen. Ist die Analyse falsch? Gibt es das Problem nicht (wenn ich mir die Karte ansehe eher ja). Interessiert's keinen? Ich sag mal so: Ich persoenlich finde das Problem nicht so gravierend, weil die Behandlung von halbdurchsichtigen Linien in Mapnik sowieso schlecht geloest ist. Ein idealer Renderer sollte halbdurchsichtige Linien zuerst auf eine Zwischenebene Zeichnen und diese dann halbdurchsichtig auf den Rest aufblenden. Denn sonst kommt es zu dem Effekt, dass an den Stellen, wo zwei halbdurchsichtige Linien sind, ein dunklerer Bereich gezeichnet wird. Wenn das erstmal in Mapnik gefixt ist, dann braucht man sich um diese Dinge keine Sorgen mehr zu machen. Wir mappen ja nicht für die Renderer. Ja, deshalb hab ich das jetzt auch in osm2pgsql gefixt, damit die Leute nicht anfangen, lauter Relationen umzutaggen ;) bis das allerdings in Produktion ist, koennen noch ein paar Wochen vergehen. Und überhaupt: auf dem neuen, tollen OSM Portal hat eine Karte sowieso nix verloren. Da pappen wir dann vielleicht lieber ein Buchcover zur Graphentheorie hin. Denn _darum_ geht's ja bei OSM: Knoten, Kanten und Attribute. Damit kann man ALLES machen: Hemden bügeln, Pizza backen und ein paar ewiggestrige OSMler machen daraus sogenannte K a r t e n (was auch immer das ist). Ich finde, Kartographie ist etwas sehr spannendes und keineswegs ewiggestrig. Das heisst aber nicht zwingend, dass Kartographie das zentrale Thema von OSM ist. Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Am 09.11.2010 09:00, schrieb Fichtennadel: Super Analyse, danke! War sicher ne Menge Arbeit! Was mich jetzt aber wirklich etwas verstört ist, dass hier 2 Tage lang NIEMAND dazu ein Wort rausbringt. Adjuva spricht ein konkretes (Rendering von Grenzen) aber auch generelles (Renderer vs. Aufbereitung) Problem an und kein Kommentar? Ich denke, das Problem ist, dass nur ganz wenige Leute mit der Materie so vertraut sind, hier mitreden zu können, geschweige denn eine Lösung parat haben. Ok, Frederik hat es schon geregelt... Ich habe auch erst feststellen müssen, dass osm2psql eigentlich nicht versucht, die Relationen möglichst ohne Verlust in die DB zu bringen, sondern eigentlich fürs Rendern optimiert. Gruß, Stefan ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
On 09.11.10 09:35, Frederik Ramm wrote: Ja, sorry, ich habe ganz vergessen, das zu kommentieren. Auch von mir Dank fuer die Recherche-Arbeit. Ich habe daraufhin bereits am Sonntag abend das osm2pgsql dahingehend abgeaendert, dass Relationen mit type=multipolygon und boundary=xxx gleich behandelt werden wie Relationen mit type=boundary. Dass das osm2pgsql da eine Fallunterscheidung hatte, war mir nie aufgefallen. Darf ich laienhaft fragen: wird das automatisch im Build-Prozess für die Mapnik Karte übernommen? Oder muss man dazu etwas anstossen? Ich sag mal so: Ich persoenlich finde das Problem nicht so gravierend, weil die Behandlung von halbdurchsichtigen Linien in Mapnik sowieso schlecht geloest ist. Ein idealer Renderer sollte halbdurchsichtige Linien zuerst auf eine Zwischenebene Zeichnen und diese dann halbdurchsichtig auf den Rest aufblenden. Denn sonst kommt es zu dem Effekt, dass an den Stellen, wo zwei halbdurchsichtige Linien sind, ein dunklerer Bereich gezeichnet wird. Wenn das erstmal in Mapnik gefixt ist, dann braucht man sich um diese Dinge keine Sorgen mehr zu machen. Ist das auch irgendwie kommuniziert? Ja, deshalb hab ich das jetzt auch in osm2pgsql gefixt, damit die Leute nicht anfangen, lauter Relationen umzutaggen ;) bis das allerdings in Produktion ist, koennen noch ein paar Wochen vergehen. Das beantwortet meine erste Frage ja wohl, offenbar muß da noch jemand eingreifen... Servus, Andreas ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Hallo, On 11/09/2010 10:14 AM, Andreas Labres wrote: Ja, deshalb hab ich das jetzt auch in osm2pgsql gefixt, damit die Leute nicht anfangen, lauter Relationen umzutaggen ;) bis das allerdings in Produktion ist, koennen noch ein paar Wochen vergehen. Das beantwortet meine erste Frage ja wohl, offenbar muß da noch jemand eingreifen... Vorallem wird das ja erst beim naechsten Vollimport wirksam, und diese Vollimporte werden nicht so regelmaessig gemacht (weil dadurch das automatische Rendern von geaenderten Kacheln fuer einige Tage unterbrochen wird). Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
2010/11/9 Frederik Ramm: [...] Ja, deshalb hab ich das jetzt auch in osm2pgsql gefixt, damit die Leute nicht anfangen, lauter Relationen umzutaggen ;) bis das allerdings in Produktion ist, koennen noch ein paar Wochen vergehen. [...] Dankeschön! Und fein, dass meine etwas freche mail zur Antwort provoziert hat ;-) [...] Das heisst aber nicht zwingend, dass Kartographie das zentrale Thema von OSM ist. +1. Aber eine (ich schreibe bewusst nicht die) Karte ist nun mal das Aushängeschild und IMHO zumindest im Moment auch die Hauptanwendung für die OSM Daten. lG, Georg ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Am 09.11.10 09:35, schrieb Frederik Ramm: Hallo, On 11/09/2010 09:00 AM, Fichtennadel wrote: Was mich jetzt aber wirklich etwas verstört ist, dass hier 2 Tage lang NIEMAND dazu ein Wort rausbringt. Adjuva spricht ein konkretes (Rendering von Grenzen) aber auch generelles (Renderer vs. Aufbereitung) Problem an und kein Kommentar? Ja, sorry, ich habe ganz vergessen, das zu kommentieren. Auch von mir Dank fuer die Recherche-Arbeit. Ich habe daraufhin bereits am Sonntag abend das osm2pgsql dahingehend abgeaendert, dass Relationen mit type=multipolygon und boundary=xxx gleich behandelt werden wie Relationen mit type=boundary. Dass das osm2pgsql da eine Fallunterscheidung hatte, war mir nie aufgefallen. Ist das in der osm2pgsql.exe festgelegt, oder in der Style-xml (somit vom Selbstrenderer beeinflussbar)? Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Hallo, On 11/10/2010 08:06 AM, André Joost wrote: Ist das in der osm2pgsql.exe festgelegt, oder in der Style-xml (somit vom Selbstrenderer beeinflussbar)? Das ist fest im Programm drin. Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
[Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?
Hallo! An der Grenze zwischen Deutschland und Österreich ist aufgefallen, dass diese Grenze anders gerendert wird, als andere Grenzen. Am Dreiländereck im Bodensee kann man das ganz gut sehen: http://www.openstreetmap.org/browse/node/45072653 Über die Ursache dafür wurde hier bisher kaum ein Wort verloren (man macht lieber seine Späßchen). Am nächsten dran war bisher Andreas Labres: http://lists.openstreetmap.org/pipermail/talk-de/2010-October/078441.html http://lists.openstreetmap.org/pipermail/talk-de/2010-November/078935.html Seine Vermutung ist, dass der Mapnik-Style die Relationen type=multipolygon und type=boundary unterschiedlich behandelt. Schauen wir doch einfach mal nach. Der folgende Text ist ein wenig ausführlicher und erklärender als zur Beschreibung der Ursache notwendig, damit auch Leute, die sich noch nicht mit dem Rendering mit Mapnik beschäftigt haben, auch noch etwas verstehen. Der Mapnik-Style liegt in http://trac.openstreetmap.org/browser/applications/rendering/mapnik Unter 'Revision Log' oben rechts gibt es eine Versionsgeschichte. Der eigentliche Style ist die Datei http://svn.openstreetmap.org/applications/rendering/mapnik/osm.xml Das Rendern der Grenzen ist eine Include-Datei ausgegliedert http://svn.openstreetmap.org/applications/rendering/mapnik/inc/layer-admin.xml.inc Hier stellen wir folgendes fest: ++ Das alles ist ziemlich übersichtlich. ++ Von type=multipolygon oder type=boundary sieht man hier nichts. Hier kann der Unterschied nicht liegen. Er muss von woanders kommen. ++ Die Geometrie stammt aus der PostGIS-Tabelle prefix_roads. Dies ist eine Teilmenge der Tabelle prefix_line. Diese beiden Tabellen enthalten nur Linien. Die Tabelle prefix_polygon, die alle Flächen enthält, wird nicht erwähnt. Ebenso nicht die Tabelle prefix_point mit allen Punkten. - Alle Grenzen werden mit sehr geringer Deckkraft (opacity) zwischen 0.1 und 0.3 gezeichnet. - Die Grenzen werden als lila Linien unterschiedlicher Breite gezeichnet. Sie sehen wie folgt aus: - admin_level=2 (Staat) wird durchgezogen, sehr breit - admin_level=4 (Land, Kanton) wird gleichmäßig gestichelt, breit - admin_level=5 (Regierungsbezirk) wird gestrichelt (lang, kurz, kurz) - admin_level=6 (Kreis, Bezirk) wird gestrichelt (lang, kurz) - admin_level=8 (Gemeinde) wird gleichmäßig gestrichelt, schmal - Die SQL-Anfragen, Layer und Rules sind so angelegt, dass jeder Weg in prefix_roads höchstens einmal gezeichnet wird. Eine erste Vermutung ist, dass ausschließlich Wege mit boundary=administrative und admin_level=* gerendert werden. Relationen spielen also keine Rolle. Dafür spricht z. B. die folgende Stelle: http://www.openstreetmap.org/?lat=50.74158lon=7.24558zoom=15layers=M Besser sieht man es hier: http://toolserver.org/~osm/styles/?lat=50.74158lon=7.24558zoom=15layers=000BF0FFF0FF00 Der Bach (Pleisbach) bildet die Grenzen zwischen Hennef (im Nord-Osten, Relation 36042) und Königswinter (im Süden, Relation 173113). In den beiden Grenzrelationen (type=multipolygon, beide vollständig) ist nur der waterway=river als outer eingetragen. Ein Weg mit boundary=administrative und admin_level=8 fehlt hier. Überall sonst im Rhein-Sieg-Kreis sind Wege mit diesen Tags an den anderen Grenzen vorhanden. Wir sehen also: Eine Multipolygon-Relation alleine reicht nicht aus, damit sie als Grenze gerendert wird. Ein Blick auf die gerenderten Karten (Beispiel Bodensee) zeigt, dass die letzten beiden Punkte obiger Liste sich irgendwie widersprechen: Im Bodensee entspricht die Grenze Schweiz-Deutschland keinem der oben beschriebenen Aussehen. Vielmehr scheint hier das Aussehen von admin_level=2 und admin_level=4 übereinander gelegt worden zu sein. Tatsächlich liegen hier zwei Relationen mit type=boundary und dem passendem admin_level (2=Schweiß, 4=Thurgau) übereinander. An der Grenze Österreich-Deutschland ist das genau so – nur werden hier Relationen mit type=multipolygon benutzt. Die Vermutung ist also, dass irgendwie übereinander liegende Linien mit unterschiedlichem admin_level in die Tabelle prefix=roads eingetragen werden, die aus Relationen mit type=boundary stammen. Die genannten Tabellen werden vom Programm osm2psql erzeugt. Der Quelltext liegt hier: http://trac.openstreetmap.org/browser/applications/utils/export/osm2pgsql Das Programm nimmt OSM-Dateien bzw. Differenzen von OSM-Dateien und trägt diese in eine Postgres-Datenbank mit PostGIS-Erweiterung ein. Nodes kommen in die Tabelle prefix_point; Wege, die Linien und kleine Flächen sind, nach Tabelle prefix_line und ggf. als Kopie nach Tabelle prefix_roads und Wege, die Flächen sind, nach Tabelle prefix_polygon. Bei diesen Schritten werden die OSM-Daten so gut wie gar nicht bearbeitet, sondern Geometrie und Tags unverändert übernommen. In die Tabelle prefix_roads kommen Wege mit boundary=adminstrative, railway=* oder highway=(motoway|trunk|primary|secondary|)(_link)?. Die Tabelle