[Talk-de] Spurzahl-Tagging statt Linienbündel (was: Details mappen in Dortmund)
qbert biker
qbert1 at gmx.de
Sa Apr 3 07:29:16 UTC 2010
-------- Original-Nachricht --------
> Datum: Fri, 02 Apr 2010 17:52:20 +0200
> Von: "Johann H. Addicks" <addicks at gmx.net>
> An: talk-de at openstreetmap.org
> Betreff: [Talk-de] Spurzahl-Tagging statt Linienbündel (was: Details mappen in Dortmund)
> qbert biker schrieb:
> > Und nochmal der Gegenbeweis:
> > http://img214.imageshack.us/img214/2618/bosmcrossing2.png
> >
> > Jede Koordinate in diesem Bild wurde aus den Basislinien
> > erstellt. Man muss dazu nichts per Hand parallel zeichnen,
> > das kann der Rechenknecht viel besser.
>
>
> Das ist doch wunderbar!
> Auch wenn sich's blöd anhört, aber ließe sich das irgendwie in Mapnick
> einbringen?
Ich weiss nicht, warum sich das blöd anhören sollte ;)
> Dann könnte die die Darstellung von einigen Autobahn- und
> Motorway-Kreuzen deutlich vereinfachen. Und sicher wird dann irgendwann
> auch mkgmap nachziehen und sinnvolle Garmin-Routinganweisungen daraus
> erstellen (statt wie derzeit Abbiegehinweise zum Befahren von
> Abbiegespuren zu geben)
Ich habe leider sehr wenig Ahnung von Mapnick und SVG und kann
deshalb nur ein wenig spekulieren.
Ich gehe davon aus, dass Mapnik mit Vektoren und Flächen, die
über Geokoordinaten definiert sind, etwas anfangen kann. Diese
Daten fallen in dem gezeigten Programm als Zwischenergebnis
an. Was ich mir vorstellen könnte ist eine art Proxy, der
das Teilnetz auswertet, die benötigten Koordinaten erstellt
und dann an Mapnik übergibt.
In meinem Beispiel ist die Darstellung ueber Qt mit normalen
Grafikprimitiven realisiert. Zuerst wird die graue Fläche als
Basis gezeichnet und dann an den Begrenzungen die weissen Linien.
Zuletzt kommen die gestrichelten Linien dran, die über die
graue Fläche gezeichnet werden.
Zur Realisierung: Die gegebenen Netzdaten werden in eine
Abbildung projeziert, die die Rechtwinkligkeit herstellt. Auch
wird auf Meter normiert so dass ich Befehle anwenden kann
wie: Erstelle eine Parallele zum Polygon in 3m Abstand zur
Basislinie. Diese Funktionen bauen ihrerseits auf einer
selbstgebastelten Geometrielib auf, die Geradengleichungen
nutzt, um an die benötigten Schnittpunkte zu kommen.
Die erstellten neuen Punkte können dann wieder zu
Geokoordinaten zurückgewandelt werden.
Im Grenzbereich zu den anderen Elementen werden dann noch
gemeinsame Punkte berechnet, um Darstellungsfehler zu
vermeiden. Deshalb braucht das Verfahren auch einen Netzbezug,
die auf einen Knoten grenzenden Links muessen also bekannt
sein.
Wie kann ich also helfen. Wenn Interesse besteht, kann ich
die Verfahren dokumentieren, so dass sie direkt in einem
Renderer umgesetzt werden können. Und/oder ich kann die
C/C++ Routinen zur Verfügung stellen, damit jemand den Proxy
bauen kann. Ich selber habe leider nur sehr begrenzte
(Zeit-)Ressourcen.
Gruesse Hubert
--
Sicherer, schneller und einfacher. Die aktuellen Internet-Browser -
jetzt kostenlos herunterladen! http://portal.gmx.net/de/go/chbrowser
Mehr Informationen über die Mailingliste Talk-de