You are not logged in.

Announcement

*** NOTICE: CONTENT MIGRATION PENDING! Read More about the import. Bug? Post them here***

#1 2014-04-16 11:09:34

softcake
Member
Registered: 2009-05-01
Posts: 214

Mkgmap-Styles und die substring-Funktion

Hallo,

ich bekomme die substring-Funktion einfach nicht zum laufen. Beispiel:

#bike_route_ref ist "ROUTE-XYZ"
bike_route_ref=* { name '[${bike_route_ref]' }

funktioniert einwandfrei. Eine Bike-Route wird als [ROUTE-XYZ] angezeigt. bike_route_ref ist im Style-File 'relations' definiert.

Nun möchte ich z.B. nur die ersten drei Zeichen anzeigen lassen ("ROU"). Die Anweisung

bike_route_ref=* { name '[${bike_route_ref|substring:0:3}]' }

bringt aber leider einen Mkgmap-Fehler "java.lang.StringIndexOutOfBoundsException: String index out of range: 3...". Mkgmap scheint keine Zeichenketten handlen zu können, die kürzer sind als die geforderten drei Stellen.
Ich ging davon aus, dass 'substring' die Zeichenkette bis zum letzten Zeichen zurückliefert, auch wenn die Zeichenkette kürzer ist, als der End-Index.

In der Dokumentation konnte ich leider auch keine Hilfe finden.

Hat jemand eine Idee?

Danke & Gruß

T.

Offline

#2 2014-04-16 11:23:53

couchmapper
Member
Registered: 2013-02-17
Posts: 462

Re: Mkgmap-Styles und die substring-Funktion

Offline

#3 2014-04-16 21:06:20

softcake
Member
Registered: 2009-05-01
Posts: 214

Re: Mkgmap-Styles und die substring-Funktion

Hi,

mit workaround funktioniert es im Prinzip. Schade, dass die substring-Funktion das nicht von sich aus kann.

Danke & Gruß

T.

Offline

#4 2014-04-16 21:47:11

couchmapper
Member
Registered: 2013-02-17
Posts: 462

Re: Mkgmap-Styles und die substring-Funktion

Alternativ wäre ein subst mit regulärem Ausdruck statt substring evtl. eine Option. Laut Style Guide muss man für reguläre Ausdrücke den Operator ~> verweden. Dahinter steckt dann auch nur ein String.replaceAll aus Java (siehe Link 1, Link 2).

Suchpattern wäre dann so etwas wie (.{0,3}).* 
Ersetzen mit: $1

Ungetestet: ${name|subst:(.{0,3}).*~>$1}

Last edited by couchmapper (2014-04-16 21:47:44)

Offline

Board footer

Powered by FluxBB