Re: [Talk-de] Grenz-Relationen mit type=boundary oder mit type=multipolygon?

2010-11-10 Diskussionsfäden André Joost

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-09 Diskussionsfäden Fichtennadel
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?

2010-11-09 Diskussionsfäden 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 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?

2010-11-09 Diskussionsfäden Stefan Dettenhofer (StefanDausR)

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?

2010-11-09 Diskussionsfäden Andreas Labres
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?

2010-11-09 Diskussionsfäden Frederik Ramm

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-09 Diskussionsfäden Fichtennadel
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?

2010-11-09 Diskussionsfäden André Joost

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?

2010-11-09 Diskussionsfäden 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.

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?

2010-11-07 Diskussionsfäden Adjuva

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