`
it_liuyong
  • 浏览: 100548 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mapnik配置文件

 
阅读更多
Mapnik 地图配置文件描述


u  PointSymbolizer :点符号

parameter

value

default

file

图片文件名路径

none

width

图片显示像素宽度 px

4

height

图片显示像素高度 px

4

type

图片类型 (png 或 tiff)

none

allow_overlap

是否容许压盖 true/false

false

opacity

符号透明度( 0.0 - 1.0 )

1.0

样例

<PointSymbolizer file="/tmp/pub.png" width="16" height="16" type="png" />

u  LineSymbolizer :线符号

parameter

value

description

unit

default

stroke

CSS colour

颜色值 A Color value such as 'green' or #A3D979

-

"black"

stroke-width

0.0 - n

线宽 Width of line

pixels

1.0

stroke-opacity

0.0 - 1.0

颜色透明度 1 is fully opaque while zero is fully transparent and .5 would be 50% transparent

transparency

1.0

stroke-linejoin

miter, round, bevel

线接头类型

See http://www.w3.org/TR/SVG/painting.html#propdef-stroke-linejoin for an example for each value

-

miter

stroke-linecap

round, butt, square

线头类型

See http://www.w3.org/TR/SVG/painting.html#propdef-stroke-linecap for an example for each value

-

butt

stroke-dasharray

0.0 - n,0.0 - n

间断线间隔数组设置

A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two values are supported as well (e.g. to start the line not with a stroke, but with a gap).

pixels

none

样例

<LineSymbolizer stroke="rgb(171,158,137)" stroke-width="4" stroke-linejoin="round" stroke-linecap="round"/>

u  LinePatternSymbolizer :线图案符号

parameter

value

default

file

文件路径 path to image file

none

base

base path where to search for file

none

width

图片显示像素宽度 px

4

height

图片显示像素高度 px

4

type

图片类型 (png 或 tiff)

none

样例

<LinePatternSymbolizer width="16" height="16" type="png" file="/path/to/icon.png"/>

u  PolygonSymbolizer :面填充符号

parameter

value

default

fill

颜色值 CSS colour

"grey"

fill-opacity

透明度 0.0 - 1.0

1.0

gamma

伽马值 0.0 – 1.0

1.0

样例

<PolygonSymbolizer fill="rgb(100,255,100)"/ fill-opacity="0.5">

u  PolygonPatternSymbolizer :面图案填充符号

parameter

value

default

file

文件路径 path to image file

none

width

图片显示像素宽度 px

4

height

图片显示像素高度 px

4

type

图片类型 (png 或 tiff)

none

样例

<PolygonPatternSymbolizer width="16" height="16" type="png" file="/path/to/icon.png"/>

u  MarkersSymbolizer :主要用于标记道路的方向

样例: <MarkersSymbolizer />

u  GlyphSymbolizer :字模符号,用于点显示一个字符

parameter

description

face_name

字体名字

allow_overlap

是否容许压盖

avoid_edges

是否避免边界

halo_fill

字体边线颜色

halo_radius

字体边线半径

value



angle

旋转角度

angle_mode

角度模式,方位角( AZIMUTH ),三角( trigonometric )

char

显示的字符

size

字体大小

RasterColorizer

栅格颜色表

样例

<Style name="arrows">

              <Rule>

                <Filter>([FEATCODE] ='2010302')</Filter>

                <GlyphSymbolizer

                     face_name="Microsoft YaHei Regular" allow_overlap="0"

                     avoid_edges="0" halo_fill="rgba(0%,0%,0%,9%)" halo_radius="1"

                     value="[value]"  angle="90"  angle_mode="trigonometric"

                     char="' 文 '"  size="12"

                >

                     <RasterColorizer>

                       <ColorBand value="0" color="#0044cc"/>

                       <ColorBand value="10" color="#00cc00"/>

                       <ColorBand value="20" color="#ffff00"/>

                     </RasterColorizer>

                </GlyphSymbolizer>

              </Rule>

       </Style>



u  RasterSymbolizer :用于栅格数据的一些设置,基本不用

parameter

value

description

opacity

0.0 - 1.0

1 is fully opaque while zero is fully transparent and .5 would be 50% transparent

mode

grain_merge, grain_merge2, multiply, multiply2, divide, divide2, screen, hard_light

Compositing/Merging effects with image below raster level (?). The formulas for combinding foreground (raster) and background are: grain_merge: bg + fg - 0.5, grain_merge2: bg + 2*fg - 1.0, multiply: fg * bg, multiply2: 2 * fg * bg, divide: bg / fg, divide2: 2*bg / fg, screen: (1-fg)*(1-bg), hardlight: see [http://docs.gimp.org/en/gimp-concepts-layer-modes.html#id2834930]

scaling

fast, bilinear, bilinear8

fast: nearest neighbour, bilinear: bilinear interpolation for all 4 channels (RGBA), bilinear8 like bilinear, but only one channel assumed

样例

<Style name="raster">

    <Rule>

        <RasterSymbolizer>

            <CssParameter name="opacity">0.5</CssParameter>

            <!--<CssParameter name="scaling">fast</CssParameter>-->

            <CssParameter name="scaling">bilinear</CssParameter>

            <!--<CssParameter name="scaling">bilinear8</CssParameter>-->



            <!--<CssParameter name="mode">grain_merge</CssParameter>-->

            <!--<CssParameter name="mode">grain_merge2</CssParameter>-->

            <!--<CssParameter name="mode">multiply</CssParameter>-->

            <CssParameter name="mode">multiply2</CssParameter>

            <!--<CssParameter name="mode">divide</CssParameter>-->

            <!--<CssParameter name="mode">divide2</CssParameter>-->

            <!--<CssParameter name="mode">screen</CssParameter>-->

            <!--<CssParameter name="mode">hard_light</CssParameter>-->

        </RasterSymbolizer>

    </Rule>

</Style>



u  BuildingSymbolizer :常用于模拟建筑的 3D 效果

parameter

value

default

fill

CSS colour 颜色

"FIXME"

fill-opacity

integer 透明度

"FIXME"

height

integer 阴影高度

“FIXME”

样例

  <Style name="test">

    <Rule>

      <BuildingSymbolizer>

        <CssParameter name="fill">yellow</CssParameter>

        <CssParameter name="fill-opacity">.7</CssParameter>

        <CssParameter name="height">30</CssParameter>

      </BuildingSymbolizer>

    </Rule>

  </Style>

u  TextSymbolizer :文本标注符号

name

This is the query field you want to use for the label text, e.g. "street_name"

文本标注使用的属性字段

face_name

Font name (see UsingCustomFonts) ,标注的字体名

fontset_name

? 使用的字体集

size

Font size 字体大小

text_ratio

? 文本旋转角度(点标注有效)

wrap_character

Use this character instead of a space to wrap long names (since r1254) 换行字符(点标注有效)

wrap_width

Length before wrapping long names   换行宽度(点标注有效)

text_convert

Allows conversion of text to lower or upper case before display. Values are "none" (default), "toupper", and "tolower". (since r1254)

字符转换,用于英文字符

line_spacing

Vertical spacing between lines of multiline labels (in pixels) (since r1254)

行间距(点标注有效,在多行文本下)

character_spacing

Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement. (since r1254)

字符间距

spacing

Space between repeated labels

周期标注的间隔宽度(线标注有效),当值大于线长度时,不再显示(可选,默认是在线的中心位置绘制一次)

label_position_tolerance

Allow labels to be moved from their point in line placement. Integer value representing distance along a line in line placement mode, defaults to 1/2 min_distance.

Force_odd_labels

Force an odd amount of labels to be generated. Defaults to false. 强制只显示奇数标注

max_char_angle_delta

Maximum angle (in degrees) between two consecutive characters in a label allowed (to stop placing labels around sharp corners) see r365 for more info

两个字符间最大相差角度(用于控制拐角 线拐角标注是否显示)

fill

Color of the text fill, e.g. #FFFFFF 字体颜色

halo_fill

Color of the text halo 字体边线颜色

halo_radius

Radius of the halo in whole pixels (fractional pixels are not accepted) 边线宽度

dx, dy

Displace label by fixed amount on either axis. Also see note at vertical_alignment

X 、 Y 方向的平移大小

avoid_edges

Boolean to avoid labeling near intersection edges

是否避免边界相交的标注(避免边界裁剪)

min_distance

Minimum distance between repeated labels such as street names or shield symbols (works across features, added in r490)

标注的容限距离(判断是在标注的基础上扩大这个距离后在做的判段)

allow_overlap

Allow labels to overlap other labels – Note: you can also clear the label collision cache at the LAYER level to promote more overlap. See ‘clear_label_cache’ at wiki:XMLConfigReference#Layer

是否容许压盖

placement

“line” to label along lines instead of by point

标注类型(点标注或者线标注)

vertical_alignment

Position of label relative to point position (“top” (label on top of point), “middle”, “bottom”) default is “middle” for dy=0, “bottom” for dy>0, “top” for dy<0 (since r1527, “middle” before that)

纵向放置方式, top 放置在点的上方、 middle

居中、 Bottom 放在下方

horizontal_alignment

(Default “middle”) 水平放置对其方式

justify_alignment 

(Default “middle”) 多行文本时的文本对齐方式

wrap_before

(Default “false”) ,换行优先级设置, true 为换行符优先

样例

<Style name="highway-label">

        <Rule>

                     <Filter>([FC]&lt;=4)</Filter>

            <TextSymbolizer name="[BYNAMEC]" face_name="Microsoft YaHei Regular" size="12" fill="rgb(0,0,255)" placement="line" halo_radius="1" halo_fill="rgb(255,255,200)" line_spacing="100"   avoid_edges="1" allow_overlap="1"  min_distance="50" max_char_angle_delta="60" />

        </Rule>

    </Style>

u  ShieldSymbolizer :图片与文本组号符号

继承于 TextSymbolizer ,具有 TextSymbolizer 的所有属性,并添加以下属性,常用于国道、省道的道路标注及同时带有图片及文本的点符号标注

height

The height of the shield file (Defaults to image’s height) 图片显示高度

width

The width of the shield file. (Defaults to image’s width) 图片显示宽度

file

The file to use for the shield background ,图片文件路径

opacity

(Default 1.0) 图片显示透明度

type

Type of the shield file, e.g. “png” 图片类型

no_text

(Default “false”) 是否不显示文本

unlock_image

(Default “false) 是否不锁定图片(用于点放置时,图片和文本是否同步对齐)

样例

<Style name="poi_lable">

      <Rule>

              <Filter>([FEATCODE]='2010302')</Filter>

              <ShieldSymbolizer name="[NAMEC]" face_name="Microsoft YaHei Regular" size="10" avoid_edges="1"   fill="rgb(255,0,0)" halo_fill="rgb(255,255,255)"  wrap_width="50" wrap_character="/" vertical_alignment="middle" horizontal_alignment="left" dx="-5" dy ="-3" justify_alignment="middle" file="sym_0.png" height="15" type="png" width="15" allow_overlap="0" unlock_image="1"/>

       </Rule>

u  Filter :用于符号显示的过滤条件,格式如下:

替换 : <variable> and <value>

<Filter>[<variable>] = '<value>'</Filter>

可以使用 and

<Filter>[CARTO] &gt;= 2 and [CARTO] &lt; 5</Filter>

也可以使用 not 或者 or

       <Filter>[waterway]='canal' and not ([tunnel] = 'yes' or [tunnel] ='true')</Filter>

另外也可以使用正则表达式,可用来表示 sql 语句中的 like

<Filter>[place] = 'town' and [population].match('[5-9]/d/d/d/d')</Filter>

u  ElseFilter :用于设定过滤条件之外的符号

rule 可包含多个 ElseFilter ,以表示不同显示比例下的不同符号显示效果,样例如下:

<Style name="contours">

  <Rule>

    <Filter>[major] = 1</Filter>

    <MaxScaleDenominator>25000</MaxScaleDenominator>

    <MinScaleDenominator>100</MinScaleDenominator>

    <LineSymbolizer>

      <CssParameter name="stroke">#fb9b67</CssParameter>

    </LineSymbolizer>

  </Rule>

  <Rule>

    <ElseFilter/>

    <MaxScaleDenominator>25000</MaxScaleDenominator>

    <MinScaleDenominator>5000</MinScaleDenominator>

    <LineSymbolizer>

      <CssParameter name="stroke">#f45906</CssParameter>

    </LineSymbolizer>

  </Rule>

  <Rule>

    <ElseFilter/>

    <MaxScaleDenominator>5000</MaxScaleDenominator>

    <MinScaleDenominator>100</MinScaleDenominator>

    <LineSymbolizer>

      <CssParameter name="stroke">#f4062A</CssParameter>

    </LineSymbolizer>

  </Rule>

</Style>

u  FontSet :字体集

字体的集合,样例如下

<FontSet name="my-fonts">

  <Font face_name="DejaVu Sans Book" />

  <Font face_name="TSC FMing S TT Regular" />

  </FontSet>

u  Datasource :数据源

样例如下:

       <Layer name="poi" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">

            <StyleName>poi_lable</StyleName>

        <Datasource>

            <Parameter name="encoding">GB2312</Parameter>

            <Parameter name="file">F:/Beijng/Poi13</Parameter>

            <Parameter name="type">shape</Parameter>

        </Datasource>

    </Layer>



u  备注:

当 xml 中含有中文字符时,需要设置 xml 文件编码为 gb2312

如 <?xml version="1.0" encoding="utf-8"?>

改成 <?xml version="1.0" encoding="gb2312"?
分享到:
评论

相关推荐

    mapnik简要介绍

    例如,下面的代码片段展示了一个简单的Mapnik配置文件,该文件仅包含了道路信息的渲染规则: ```xml (247,239,239)"&gt; ([NR]) (188,149,28)" stroke-width="7" stroke-linejoin="round" stroke-linecap=...

    Mapnik简介 说明 Mapnik是一套gis引擎

    从创建Map对象、加载配置文件、设置地理范围、创建渲染设备,到实际的渲染操作和结果保存,每一步都清晰明了,易于理解和实现。 总之,Mapnik凭借其强大的功能、丰富的特性以及灵活的扩展性,在地理信息系统领域...

    Ubuntu Mapnik、Python-Mapnik 安装

    官方指南包括了使用 Git 克隆 Mapnik 仓库、安装依赖库、配置编译参数等步骤。具体可参考 Mapnik 的官方文档。 ##### 2. 国内实践方案 考虑到网络限制,这里推荐一种在国内环境下较为可行的安装方法: ```bash # ...

    mapnik地图符号化

    1. **符号化说明文档**:这份文档可能详细介绍了如何创建和配置Mapnik的XML风格文件,包括各个元素和属性的解释,以及如何使用SLD(Styled Layer Descriptor)标准来设计地图样式。你可能会学习到如何定义符号化规则...

    mapnik&python生成离线地图瓦片

    接着,我们需要创建基于模板的配置文件。根据`World_boundaries`目录的配置,我们需要在下一步进行详细设置。 Mapnik为了提高渲染效率,将世界地图的底图以及level 9之前的大部分元素存储为磁盘文件,而非数据库中...

    invar:用于从 Mapnik 配置生成地图图像的命令行工具

    标题中的“invar”是一个命令行工具,专用于从Mapnik配置生成地图图像。Mapnik是一个开源的图形绘制引擎,广泛应用于地图渲染和地理信息系统的可视化。它允许开发者通过XML配置文件来定义地图的样式、图层、颜色、...

    mapnik&python的安装手册

    保持文件结构简单,避免多级目录,这有助于后续的配置和编译。 - 在解压缩后的目录中,运行 `./configure` 命令来检查系统是否满足所有依赖项。可能需要预先安装像 GDAL、Boost、proj、libpng、jpeg 等库。 - 接...

    GIS开发工具包 Mapnik.zip

    开发者可以通过配置文件灵活指定数据源,实现地图数据的动态加载。 3. **样式定义**:Mapnik使用XML文件定义地图样式,这种名为Mapnik风格的语言允许开发者详细控制地图的外观,包括颜色、线宽、符号化规则等。通过...

    mapnik-legendary:Mapnik样式表的图例生成器

    您可以在配置文件中描述想要图像的属性和缩放级别,然后读取样式表并吐出.png文件。 它使用ruby-mapnik绑定加载样式表并弄乱数据源,因此您实际上不需要任何shapefile或数据库连接即可完成此工作。 要求 &gt; = 0.2.0 ...

    PyPI 官网下载 | large-image-source-mapnik-1.8.7.dev7.tar.gz

    在压缩包子文件的文件名称列表中,只有一个条目"large-image-source-mapnik-1.8.7.dev7",这通常意味着解压后会得到一个包含该库源代码、文档、测试文件等的目录结构。Python库的结构通常包括`setup.py`(用于安装和...

    PyPI 官网下载 | large-image-source-mapnik-1.6.3.dev30.tar.gz

    在压缩包子文件的文件名称列表中,只列出了“large-image-source-mapnik-1.6.3.dev30”,这通常包括了源代码、文档、测试文件和其他相关资源。用户可以解压后通过Python的setuptools或pip工具进行安装和使用。源代码...

    离线地图_openstreetmap_postgresql_postgis_mapnik_osm2pgsql_osm数据——

    5. 安装并配置Mapnik,创建一个地图风格文件来定义地图的外观和感觉。 6. 使用Mapnik生成地图瓦片,这些瓦片通常按照特定的层级结构存储,以便在本地浏览器中高效地加载。 7. 将生成的瓦片和必要的JavaScript库...

    tilegarden:使用Mapnik和AWS Lambda生成无服务器栅格和矢量地图图块

    在地图配置文件中指定地图,然后将其放在 (您可以在其中找到现有的示例)。 在.env指定生产凭证和lambda函数设置。 需要以下变量: AWS_PROFILE :您要将项目部署为的AWS用户配置文件的名称。 您可能已经在环境...

    node-mapnik_issue-346:node-mapnik 问题 346 的数据

    5. 根据问题类型,可能需要更新`node-mapnik`的配置、依赖库或升级Mapnik版本以解决问题。 6. 在本地环境中重现问题,并验证修复方案的有效性。 7. 将修复的代码提交回GitHub,供社区审核和合并。 总之,`node-...

    srtm-stylesheets:用于处理 NASA SRTM DEM 数据的 Shell 脚本; 阴影地形图的 gdaldem 样式表; 用于轮廓的 Mapnik 样式表; 三明治的 TileStache 配置

    NASA SRTM DEM 数据的 shell 脚本、基于 gdaldem 的样式表,用于创建阴影浮雕和/或高光着色地图,用于制作等高线图的 Mapnik 样式表和用于夹层或合成阴影浮雕和等高线图的 TileStache 配置. 该项目的目标是为可视化...

    napick gis

    使用Mapnik,开发者可以创建自定义的地图样式,通过XML配置文件定义颜色、符号、标签等视觉元素。此外,Mapnik还集成了矢量和栅格处理功能,使得地图的细节和性能可以根据不同的需求进行调整。Mapnik与Napick GIS的...

    non-core-plugins:不在核心范围内的Mapnik插件

    4. 更新Mapnik配置,使它能够找到并使用新安装的插件。 5. 在应用程序中调用这些插件以实现特定功能。 总之,Mapnik的非核心插件系统提供了一种灵活的方式来扩展其功能,使得开发者可以根据项目需求选择和定制适合...

    go-vector-map-tile-server:在Go中实现的矢量地图图块服务器,使用vecamole和Mapnik渲染图块

    转到矢量地图图块服务器使用和从Mapnik数据源和配置中渲染矢量图块的图块服务器。安装首先,安装 。 那是唯一的困难。 从那时起,它应该很简单: go install github.com/zerebubuth/go-vector-map-tile-server运行它...

    magnacarto:Magnacarto是CartoCSS地图样式处理器,可生成Mapnik XML和MapServer地图文件

    Magnacarto是CartoCSS地图样式处理器,可生成Mapnik XML和MapServer地图文件。 它根据作为开源。 Magnacarto的发展是由赞助和发展将继续在资源许可。 如果您需要商业支持或需要特定功能,请与我们联系。 特征 易于...

    mssql-input-plugin:用于 mapnik 的 mssql 插件

    6. **安装与使用**: 要使用这个插件,开发者需要对C++编程、Mapnik API以及SQL Server有一定的了解,还需要进行编译、链接数据库,并配置相应的地图样式。 7. **数据集成与查询优化**: 通过这个插件,可以优化SQL ...

Global site tag (gtag.js) - Google Analytics