gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.54k stars 822 forks source link

Change pattern icon for landuse=quarry #1681

Closed kocio-pl closed 9 years ago

kocio-pl commented 9 years ago

I think we should change "q" pattern icon we use currently for quarries for something more universal, like pickaxe icon for example (here's standard 14 px icon - instead of just 7 px - on 30px pattern tile just for test rendering):

quarry-png-white-30

We could also convert all the pattern icons to SVG, but I was not able to make it work with SVG and it looks like polygon patterns can't have icon colors defined: not polygon-pattern-fill nor polygon-pattern-color did work in my test. Also all the examples I saw include just PNG icons.

matthijsmelissen commented 9 years ago

That pattern was supposed to denote a Q?

I like the idea of changing this, how do other maps represent quarries?

kocio-pl commented 9 years ago

Surprise, isn't it? :smile: Initially I thought it's a magnifying glass, but after I've checked it, it became obvious what it was supposed to be. However it's still not clear in general because it uses name in English to describe something universal.

Symbols can be made less contrast to not drag too much user's attention.

imagico commented 9 years ago

IMO not bad but the symbol is much too heavy and even when weaker it would not work well at the lower zooms - you would need to go without at least for z=10-12.

Instead of a single pick two crossed hammers/picks are also a common symbol for mines and could be used. See here for a few examples.

The standard pattern for quarries on German topographic maps is a brick pattern, like http://opentopomap.org/#map=14/50.91023/6.50876 - this however does not really work that well here due to the fairly broad meaning of landuse=quarry in OSM.

And you need a power of two for the pattern size which gives you additional constraints - but you do not necessarily have to use a square arrangement.

matthijsmelissen commented 9 years ago

Instead of a single pick two crossed hammers/picks are also a common symbol for mines and could be used.

+1

kocio-pl commented 9 years ago

Crossed tools are very common and even look surprisingly good at 7 px (the same size as "q"): quarry-x-7

I don't know how to change the pattern - I just made a substitution of a symbol. Does anybody know if SVG files are possible or we're bound to PNG in case of patterns? If we have no choice, I will make the PR very soon (given nobody objects against this version).

matthijsmelissen commented 9 years ago

Much better!

Does anybody know if SVG files are possible or we're bound to PNG in case of patterns?

I don't know, sorry.

HolgerJeromin commented 9 years ago

I remember svg requires mapnik version 3. But I am not sure.

imagico commented 9 years ago

Symbol looks good but still too strong IMO (strong meaning too much contrast between symbol color and background color). And with such a small symbol you could try a denser pattern.

You need to create a PNG, SVGs don't work (at least not with current mapnik).

I added a (somewhat experimental) function to jsdotpattern to generate regular grid patterns, try this example.

Note you can't produce a perfect triangular grid in a square pattern of course so it is always somewhat distorted.

kocio-pl commented 9 years ago

I agree that it's still too strong (probably because "q" sign has less pixels) and it should be lightened if the symbol will have similar thickness and pattern density.

Very nice tool! I took new quarry symbol directly from Commons because it's tagged as PD (there's also another similar symbol), so maybe you like them to be added to your symbol library? It would be probably useful for other people (including my experiments).

Some additional options as defining color, some clear place for entering custom symbols or exporting directly to PNG might be nice too, if you are willing to expand the code.

kocio-pl commented 9 years ago

Using second (thinner) symbol, 0.12 scaling factor and pattern size 128 with jsdotpattern the result looks like this: quarry-x2-012

and the same with double distance (60) and pattern size (256): x2-s012-d60

matkoniecz commented 9 years ago

First seems too dense, second too sparse. Is something in the middle possible?

Also, good catch with Q. I thought that this symbol was weird at first but later I accepted and stopped noticing it.

kocio-pl commented 9 years ago

Middle version (distance 45, pattern size 128): quarry-x2-s012-d45

What about the color? Make it paler (more gray) or leave it white?

matkoniecz commented 9 years ago

I like this version (though it may work worse than dense pattern on small areas). I am unsure about colour, I would need to see/make image comparisons.

kocio-pl commented 9 years ago

Hm, I have a strange problem with testing: when trying to check some big quarry, I did the export from the website and while the resulting map.osm file looks good in JOSM, TileMill omits landuses - but when I was importing PBF files from Metro Extracts no such problem ever appeared in TileMill. What could be the problem?

kocio-pl commented 9 years ago

Hm, seems like exporting takes too narrow box and I use continuous download plugin with JOSM in the background, so it was quietly expanded...

Big quarry test with the same pattern image: quarry-belchatow

kocio-pl commented 9 years ago

Grey 10% (I would use it): quarry-grey10

Grey 20%: quarry-grey20

pnorman commented 9 years ago

Hm, I have a strange problem with testing: when trying to check some big quarry, I did the export from the website and while the resulting map.osm file looks good in JOSM, TileMill omits landuses - but when I was importing PBF files from Metro Extracts no such problem ever appeared in TileMill. What could be the problem?

Make sure you're importing with --slim, see openstreetmap/osm2pgsql#151