调整地图样式

作者

尼古拉斯 里博

目录

此页面介绍了如何使用MapServer/Basemaps项目调整地图样式。

在使用此版本的mapserver/basemaps之前,必须使用imposm工具将OSM地图数据导入PostGIS数据库。见 安装 了解如何轻松设置。

生成 Mapfile

根据makefile的设置,执行“make”命令,生成名为osm-u-stylemap的 Mapfile 。

生成文件

在makefile下可以配置以下参数:

  • OSM_PREFIX:

  • OSM_SRID: mapfile输出投影的epsg代码(lon、lat的公共值为4326,google mercator映射的公共值为900913)

  • ` osm_units`:对应osm_srid的mapserver单元(常用值:dd或meters)

  • OSM_DB_CONNECTION:

  • OSM_EXTENT: 在生成的 Mapfile 中使用的默认范围(与osm_srid在同一坐标系中)

  • STYLE:

生成样式.py脚本

这个 generate_style.py

vars default

接下来的“style”数组可用于定义自定义样式。自定义样式遵从默认样式的设置(来自vars数组),然后在“styles”数组中为该样式设置的所有值将覆盖默认值。这里提供了几个示例自定义样式作为示例(请参阅“支持的地图样式”一章)

Generate_Style.py中参数的结构

对于每个可配置的样式参数,该值可以是适用于所有比例尺地图的单个值(地图比例尺在文件顶部定义),也可以是键为相应比例的关联值数组,该值是适用于此比例的值也适用于跟踪到数组中下一个条目的所有比例。

例如。::

'stream_clr': '"#B3C6D4"',
'stream_font': "sc",

在这个例子中, stream_clrstream_font

'stream_width': {
   0:0,
   10:0.5,
   12:1,
   14:2
},

stream_width

支持的地图样式

这个 generate_styles.py

make styles_alias

例如,google样式由默认样式、轮廓样式和google基本样式的组合定义。

轮廓样式重载默认样式以添加自定义轮廓,而Google样式重载对象颜色的默认样式。

基本样式

以下基本样式在“generate_styles.py”中定义:

  • default:

  • outlined:

  • centerlined:

  • google:

  • googleosm2pgsql:

  • bing:

  • michelin:

  • grayscale:

  • symbols:

  • labels_only:

  • geoms_only:

  • symbols_only:

  • buildings:

示例最终样式

根据定义的基本样式,运行make命令生成 Mapfile 时,以下样式可用(显示样式别名和基本样式组合):

  • 默认:默认

  • 谷歌:默认,轮廓,谷歌

  • google osm2pgsql:默认,概述,google,osm2pgsql

  • Bing: 默认、轮廓、Bing

  • 米其林:默认、轮廓、中心线、米其林

  • 默认符号:默认,符号

  • 默认灰度:默认、轮廓、灰度

  • 谷歌建筑符号:默认、轮廓、谷歌、符号、建筑

  • 谷歌建筑符号灰度:默认、轮廓、谷歌、符号、建筑、灰度

  • 必应建筑符号:默认、轮廓、必应、符号、建筑

  • 必应建筑符号灰度:默认、轮廓、必应、符号、建筑、灰度

  • 米其林建筑符号:默认、轮廓、米其林、符号、建筑

  • 米其林建筑符号灰度:默认、轮廓、米其林、符号、建筑、灰度

  • Google无标签:默认、轮廓、Google、仅Geoms_、建筑物

  • Google无标签灰度:默认、轮廓、Google、仅限Geoms_、建筑物、灰度

  • 仅Google标签:默认、轮廓、Google、仅标签

  • 仅符号:符号,仅符号

谷歌风格

全彩默认样式基映射

../_images/default_style.png

全彩谷歌风格的地图

../_images/google_style.png

黑白谷歌风格的地图

../_images/google_style_bw.png

全彩Bing风格的地图

../_images/bing_style.png

全彩米其林风格的地图

../_images/michelin_style.png