diff --git a/mapnik/cities-halomask.mml b/mapnik/cities-halomask.mml index 3a6ed45..bf7a02d 100644 --- a/mapnik/cities-halomask.mml +++ b/mapnik/cities-halomask.mml @@ -21,7 +21,19 @@ */ Map { map-bgcolor: #fff; } - + + #labels-high[zoom=11][population>0] name, + #labels-high[zoom=11][place=city] name, + #labels-high[zoom=11][place=town] name + { + text-face-name: "PT Sans Narrow Regular"; + text-fill: #fff; + } + + #labels-high[font_size=18] name { text-size: 18; } + #labels-high[font_size=24] name { text-size: 24; } + #labels-high[font_size=32] name { text-size: 32; } + .labels name, #green-areas name { @@ -135,6 +147,32 @@ + + + postgis + &osm_host; + &osm_port; + &osm_user; + &osm_pass; + &osm_name; + false + &epsg900913_extent; + = 250000 THEN 32 + WHEN population >= 50000 THEN 24 + WHEN place IN ('city', 'town') THEN 24 + ELSE 18 + END) AS font_size + FROM places_osm_point + WHERE place IN ('city', 'town', 'village', 'hamlet') + ORDER BY population DESC + ) AS labels + ]]> + + + diff --git a/mapnik/style.mml b/mapnik/style.mml index 51ba0ab..2e21c47 100644 --- a/mapnik/style.mml +++ b/mapnik/style.mml @@ -306,7 +306,7 @@ - + postgis &osm_host; @@ -317,10 +317,18 @@ false &epsg900913_extent; + ( + SELECT place, name, COALESCE(population, 0) AS population, way, + (CASE WHEN population >= 250000 THEN 32 + WHEN population >= 50000 THEN 24 + WHEN place IN ('city', 'town') THEN 24 + ELSE 18 + END) AS font_size + FROM places_osm_point + WHERE place IN ('city', 'town', 'village', 'hamlet') + ORDER BY population DESC + ) AS labels + ]]> diff --git a/mapnik/stylesheet.mss b/mapnik/stylesheet.mss index cdaefe4..0e1d4fd 100644 --- a/mapnik/stylesheet.mss +++ b/mapnik/stylesheet.mss @@ -625,13 +625,25 @@ Map { /*//////// Labels! */ -#place-names[zoom>=10] name +#place-names[zoom>=11][zoom<15][population>0] name, +#place-names[zoom>=11][zoom<15][place=city] name, +#place-names[zoom>=11][zoom<15][place=town] name, +#place-names[zoom>=15][zoom<17] name { text-face-name: "PT Sans Narrow Regular"; text-fill: #000; - text-size: 14; } +#place-names[zoom>=12][zoom<17] name +{ + text-halo-fill: #f7f7e6; + text-halo-radius: 2; +} + +#place-names[font_size=18] name { text-size: 18; } +#place-names[font_size=24] name { text-size: 24; } +#place-names[font_size=32] name { text-size: 32; } + /* #airports[zoom=2][natlscale>148], #airports[zoom=3][natlscale>74],