[Talk-de] [patch] Breite von Flüssen XSL

Christian Koerner misk at gmx.net
Mo Jul 7 15:43:20 UTC 2008


Ich verlagere mal die Diskussion (Flussbreite fuer osmarender.xsl [1])
mit hier her...

On Sun, 6 Jul 2008 21:12:03 +0000 (UTC)
Sven Geggus <lists at fuchsschwanzdomain.de> wrote:

> Sven Geggus <lists at fuchsschwanzdomain.de> wrote:> OK Leute, nachdem
> Raphael zurecht darauf hingewiesen hat, dass das Teil stinklangsam
> geworden ist hab ich nochmal drüber geschaut und das Problem zusammen
> mit Matthias Merz, der deutlich besser perl kann als ich gelöst!
> 

Fuer die XSL-Version habe ich die Angabe honorWidth in die Regeldatei
verlegt (also in osm-map-features-z*.xml)

----8<----
<rule e="way" k="waterway" v="river">
   <line class="waterway-casing waterway-river-casing"
honor-width="yes" />
</rule>
<rule e="way" k="waterway" v="river">
   <line class="waterway-core waterway-river-core" honor-width="yes" />
</rule>
---->8----

Das beschraenkt den XSL-Code auf eine einzige Abfrage

----8<----
     <xsl:choose>
        <xsl:when test="$instruction/@honor-width='yes'">

            <!-- zeichne Pfade mit Breitenangabe -->

        </xsl:when>
        <xsl:otherwise>

            <!-- zeichne Pfade ohne Breitenangabe -->

        </xsl:otherwise>
     </xsl:choose>
---->8----

... statt dem Aufsplitten des 'class'-Strings, dem Pruefen ob fuer
$class die Breitenangabe Verwendung findet, etc. .

Gleiche Vorteile gelten natuerlich auch fuer or/p.


<REQUEST_FOR_COMMENT>

-- Namen die ich ersetzt habe:

minLineWidth => minimumWayWidth
maxLineWidth => maximumWayWidth 

meter2pixel => meter2pixelFactor

Warum 'minimum/maximum'? Es existiert schon 'minimumMapWidth' und
'minimumMapHeight', also einfach um eine gewisse Namenskonvention zu
haben.


-- Warum auf drawPathWithSmartLinecaps Funktion beschraenken?

Ob SmartLinecaps oder nicht wird ja in der Regeldatei angegeben. Wenn
der Benutzer nun fuer waterway="river" aber smart-linecap="no" in
der Regeldatei angibt, kann er nicht mehr das Flussbreite-Feature
genieszen.

Und spaeter will man sicher die Breite auch fuer andere Ways haben, also
gleich mit in drawPath() einbauen! Spricht was dagegen?

-- Verwendung von Breitenangaben in Europa (Tagwatch):

"width"     -> 9623

"est_width" -> 489
"est width" -> 68
"width_est" -> 16


Via Script 'est_width' & Co. in 'width' aendern und nur 'width'-Angaben
beruecksichten?

</REQUEST_FOR_COMMENT>


Bitte mal diese Sachen noch klaeren, dann folgt der Osmarender-Patch :)


Beste Gruesze
    Christian

[1] Flussbreite fuer osmarender.xsl
- http://lists.openstreetmap.org/pipermail/talk-de/2008-July/015624.html
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20080707/dd34411b/attachment.sig>


Mehr Informationen über die Mailingliste Talk-de