Modify

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#11980 closed defect (othersoftware)

MapCSS: icon-width and icon-height are sometimes ignored if ~= is used

Reported by: Nakaner Owned by: team
Priority: normal Milestone:
Component: Core mappaint Version: tested
Keywords: template_report, MapCSS, icon, icon size Cc:

Description (last modified by Klumbumbus)

If I specify the icon size in a different rule than the icon itself and use the list operator (key~=value), nodes which match multiple rules get icons with doubled width and height. Following MapCSS has the bug. (The code is minimal working example based on OpenRailwayMap Maxspeed Style)

I have attached a ZIP file which contains a minimium working example (OSM file, MapCSS style, icons).

node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=~/^(3|4)0$/]
{
        z-index: eval(95 + tag("railway:signal:speed_limit_distant:speed")/2);
        icon-width: 22;
        icon-height: 19;
        allow-overlap: true;
}

node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"=~/^(3|4)0$/]
{
        z-index: eval(95 + tag("railway:signal:speed_limit_distant:speed")/2);
        icon-width: 14;
        icon-height: 19;
        allow-overlap: true;
}
node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=30]
{
        icon-image: "icons/de/zs3v-30-sign-down-44.png";
}
node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"~=30]
{
        icon-image: "icons/de/zs3v-30-light-38.png";
}
node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=40]
{
        icon-image: "icons/de/zs3v-40-sign-down-44.png";
}
node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"~=40]
{
        icon-image: "icons/de/zs3v-40-light-38.png";
}
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2015-09-28 01:32:03
Last Changed Author: simon04
Revision: 8800
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Relative URL: ^/trunk
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2015-09-27 22:11:06 +0200 (Sun, 27 Sep 2015)
Last Changed Rev: 8800

Identification: JOSM/1.5 (8800 de) Linux Arch Linux
Memory Usage: 339 MB / 1746 MB (162 MB allocated, but free)
Java version: 1.7.0_85, Oracle Corporation, OpenJDK 64-Bit Server VM
VM arguments: [-Djosm.restart=true]

Plugins:
- buildings_tools (31603)
- reverter (31603)
- utilsplugin2 (31603)

Last errors/warnings: # These erorrs are not related to this maxspeed style which causes the problem.
- W: Could not get presets icon museum.png
- E: Fehler beim Laden des Bildes 'industrial.png'
- W: Could not get presets icon industrial.png
- E: Fehler beim Laden des Bildes 'gate.png'
- W: Could not get presets icon gate.png

Attachments (1)

mwe-different-iconsize.zip (12.5 KB ) - added by Nakaner 9 years ago.
minimum working example

Download all attachments as: .zip

Change History (8)

by Nakaner, 9 years ago

Attachment: mwe-different-iconsize.zip added

minimum working example

comment:1 by Nakaner, 9 years ago

If I modify the style, the icons are rendered with the correct size.

node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=~/^(3|4)0$/]
{
        z-index: eval(95 + tag("railway:signal:speed_limit_distant:speed")/2);
        icon-width: 22;
        icon-height: 19;
        allow-overlap: true;
}

node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"=~/^(3|4)0$/]
{
        z-index: eval(95 + tag("railway:signal:speed_limit_distant:speed")/2);
        icon-width: 14;
        icon-height: 19;
        allow-overlap: true;
}
node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=30]
{
        icon-image: "icons/de/zs3v-30-sign-down-44.png";
}
node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"~=30]
{
        icon-image: "icons/de/zs3v-30-light-38.png";
        icon-width: 14;
        icon-height: 19;
}
node["railway:signal:speed_limit_distant:form"=sign]["railway:signal:speed_limit_distant:speed"=40]
{
        icon-image: "icons/de/zs3v-40-sign-down-44.png";
}
node["railway:signal:speed_limit_distant:form"=light]["railway:signal:speed_limit_distant:speed"~=40]
{
        icon-image: "icons/de/zs3v-40-light-38.png";
        icon-width: 14;
        icon-height: 19;
}

Last edited 9 years ago by Klumbumbus (previous) (diff)

comment:2 by Klumbumbus, 9 years ago

Description: modified (diff)

comment:3 by Dakon, 9 years ago

The interesting question is: do those signals where you had the problems have more than one state? I.e. *:speed=40;50 would match the latter rule, but not the former, so the icon dimensions were not set. In those case the image dimensions would probably be used, which are IIRC retina things for OpenRailwayMap.

comment:4 by Nakaner, 9 years ago

Resolution: othersoftware
Status: newclosed

It looks as a bug in my stylesheed, not in JOSM.

comment:5 by Klumbumbus, 9 years ago

offtopic: I fixed one missing icon link https://josm.openstreetmap.de/wiki/Presets/Access_Mapping_Indonesia?action=diff&version=14

Can you please share, which presets you use and post the full list of missing icons from the console?

comment:6 by Nakaner, 9 years ago

@Klumbumbus:

All of them are missing icons in OpenRailwayMap presets. They caused these issues.

Fehler: Fehler beim Laden des Bildes 'de:sk-signals.png'
WARNUNG: Could not get presets icon de:sk-signals.png
Fehler: Fehler beim Laden des Bildes 'de-sk-combined.png'
WARNUNG: Could not get presets icon de-sk-combined.png
Fehler: Fehler beim Laden des Bildes 'de-sk-main.png'
WARNUNG: Could not get presets icon de-sk-main.png
Fehler: Fehler beim Laden des Bildes 'de-sk-distant.png'
WARNUNG: Could not get presets icon de-sk-distant.png
Fehler: Fehler beim Laden des Bildes 'de-bue3-57.png'
WARNUNG: Could not get presets icon de-bue3-57.png
Fehler: Fehler beim Laden des Bildes 'de-bue3-57.png'
WARNUNG: Could not get presets icon de-bue3-57.png
Fehler: Fehler beim Laden des Bildes 'de-humping.png'
WARNUNG: Could not get presets icon de-humping.png
Fehler: Fehler beim Laden des Bildes 'de-zs8.png'
WARNUNG: Could not get presets icon de-zs8.png
Fehler: Fehler beim Laden des Bildes 'de-radio.png'
WARNUNG: Could not get presets icon de-radio.png
Fehler: Fehler beim Laden des Bildes 'narrowgauge.png'
WARNUNG: Could not get presets icon narrowgauge.png
Fehler: Fehler beim Laden des Bildes 'preserved.png'
WARNUNG: Could not get presets icon preserved.png
Fehler: Fehler beim Laden des Bildes 'miniature.png'
WARNUNG: Could not get presets icon miniature.png
Fehler: Fehler beim Laden des Bildes 'tram.png'
WARNUNG: Could not get presets icon tram.png
Fehler: Fehler beim Laden des Bildes 'light-rail.png'
WARNUNG: Could not get presets icon light-rail.png
Fehler: Fehler beim Laden des Bildes 'construction.png'
WARNUNG: Could not get presets icon construction.png
Fehler: Fehler beim Laden des Bildes 'railway-crossing.png'
WARNUNG: Could not get presets icon railway-crossing.png
Fehler: Fehler beim Laden des Bildes 'derail.png'
WARNUNG: Could not get presets icon derail.png
Fehler: Fehler beim Laden des Bildes 'vacancy-detection.png'
WARNUNG: Could not get presets icon vacancy-detection.png
Fehler: Fehler beim Laden des Bildes 'facilities.png'
WARNUNG: Could not get presets icon facilities.png
Fehler: Fehler beim Laden des Bildes 'station.png'
WARNUNG: Could not get presets icon station.png
Fehler: Fehler beim Laden des Bildes 'halt.png'
WARNUNG: Could not get presets icon halt.png
Fehler: Fehler beim Laden des Bildes 'service-station.png'
WARNUNG: Could not get presets icon service-station.png
Fehler: Fehler beim Laden des Bildes 'site.png'
WARNUNG: Could not get presets icon site.png
Fehler: Fehler beim Laden des Bildes 'stop.png'
WARNUNG: Could not get presets icon stop.png
Fehler: Fehler beim Laden des Bildes 'landuse.png'
WARNUNG: Could not get presets icon landuse.png
Fehler: Fehler beim Laden des Bildes 'facility.png'
WARNUNG: Could not get presets icon facility.png
Fehler: Fehler beim Laden des Bildes 'tracks.png'
WARNUNG: Could not get presets icon tracks.png
Fehler: Fehler beim Laden des Bildes 'route.png'
WARNUNG: Could not get presets icon route.png
Fehler: Fehler beim Laden des Bildes 'line.png'
WARNUNG: Could not get presets icon line.png
Fehler: Fehler beim Laden des Bildes 'line.png'
WARNUNG: Could not get presets icon line.png
Fehler: Fehler beim Laden des Bildes 'de-crossing.png'
WARNUNG: Could not get presets icon de-crossing.png
Fehler: Fehler beim Laden des Bildes 'platform.png'
WARNUNG: Could not get presets icon platform.png
Fehler: Fehler beim Laden des Bildes 'ticketshop.png'
WARNUNG: Could not get presets icon ticketshop.png
Fehler: Fehler beim Laden des Bildes 'landuse.png'
WARNUNG: Could not get presets icon landuse.png
Fehler: Fehler beim Laden des Bildes 'train-station.png'
WARNUNG: Could not get presets icon train-station.png
Fehler: Fehler beim Laden des Bildes 'landuse.png'
WARNUNG: Could not get presets icon landuse.png
Fehler: Fehler beim Laden des Bildes 'systemswitch.png'
WARNUNG: Could not get presets icon systemswitch.png
Fehler: Fehler beim Laden des Bildes 'radio.png'
WARNUNG: Could not get presets icon radio.png
Fehler: Fehler beim Laden des Bildes 'supply.png'
WARNUNG: Could not get presets icon supply.png
Fehler: Fehler beim Laden des Bildes 'fuel.png'
WARNUNG: Could not get presets icon fuel.png
Fehler: Fehler beim Laden des Bildes 'water-crane.png'
WARNUNG: Could not get presets icon water-crane.png
Fehler: Fehler beim Laden des Bildes 'watertower.png'
WARNUNG: Could not get presets icon watertower.png
Fehler: Fehler beim Laden des Bildes 'coaling.png'
WARNUNG: Could not get presets icon coaling.png
Fehler: Fehler beim Laden des Bildes 'wash.png'
WARNUNG: Could not get presets icon wash.png
Fehler: Fehler beim Laden des Bildes 'pit.png'
WARNUNG: Could not get presets icon pit.png
Fehler: Fehler beim Laden des Bildes 'engine-shed.png'
WARNUNG: Could not get presets icon engine-shed.png
Fehler: Fehler beim Laden des Bildes 'workshop.png'
WARNUNG: Could not get presets icon workshop.png
Fehler: Fehler beim Laden des Bildes 'loading.png'
WARNUNG: Could not get presets icon loading.png
Fehler: Fehler beim Laden des Bildes 'scale.png'
WARNUNG: Could not get presets icon scale.png
Fehler: Fehler beim Laden des Bildes 'crane.png'
WARNUNG: Could not get presets icon crane.png
Fehler: Fehler beim Laden des Bildes 'loading-gauge.png'
WARNUNG: Could not get presets icon loading-gauge.png
Fehler: Fehler beim Laden des Bildes 'loading-ramp.png'
WARNUNG: Could not get presets icon loading-ramp.png
Fehler: Fehler beim Laden des Bildes 'ferry-terminal.png'
WARNUNG: Could not get presets icon ferry-terminal.png
Fehler: Fehler beim Laden des Bildes 'ferry-way.png'
WARNUNG: Could not get presets icon ferry-way.png
Fehler: Fehler beim Laden des Bildes 'ferry-line.png'
WARNUNG: Could not get presets icon ferry-line.png
Fehler: Fehler beim Laden des Bildes 'containerterminal.png'
WARNUNG: Could not get presets icon containerterminal.png
Fehler: Fehler beim Laden des Bildes 'carrier-truck-pit.png'
WARNUNG: Could not get presets icon carrier-truck-pit.png
Fehler: Fehler beim Laden des Bildes 'rolling-highway.png'
WARNUNG: Could not get presets icon rolling-highway.png
Fehler: Fehler beim Laden des Bildes 'carshuttle.png'
WARNUNG: Could not get presets icon carshuttle.png
Fehler: Fehler beim Laden des Bildes 'turntable.png'
WARNUNG: Could not get presets icon turntable.png
Fehler: Fehler beim Laden des Bildes 'traverser.png'
WARNUNG: Could not get presets icon traverser.png
Fehler: Fehler beim Laden des Bildes 'hump-yard.png'
WARNUNG: Could not get presets icon hump-yard.png
Fehler: Fehler beim Laden des Bildes 'rail-brake.png'
WARNUNG: Could not get presets icon rail-brake.png
Fehler: Fehler beim Laden des Bildes 'gauge-conversion.png'
WARNUNG: Could not get presets icon gauge-conversion.png
Fehler: Fehler beim Laden des Bildes 'museum.png'
WARNUNG: Could not get presets icon museum.png
Fehler: Fehler beim Laden des Bildes 'industrial.png'
WARNUNG: Could not get presets icon industrial.png
Fehler: Fehler beim Laden des Bildes 'gate.png'
WARNUNG: Could not get presets icon gate.png

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.