User:Tatata/memo/Mapnik

From OpenStreetMap Wiki
Jump to navigation Jump to search

general

  • 公式サイト http://mapnik.org/
  • OSMのページ Mapnik
  • User:Tatata/Mapnik-Win32 — Mapnik win32 binariesのインストール時に気が付いたことなどをメモしたもの。
  • User:Tatata/Mapnik — Windows XPのPCにVMwareとLinux (Ubuntu)をインストールし、Mapnikのソースをビルド/インストールした時の手順。

osm2pgsql

Rule for rendering

http://svn.openstreetmap.org/applications/rendering/mapnik/osm.xml

条件判断の例

Filter

あるキーが存在する場合にそれを描画する。

※式で使用する不等号は文字参照(?)で記述。< > (← &は実際には半角の&)


  <Style name="text">

...

    <Rule>
      <Filter>[leisure] <> '' or [landuse] <> '' </Filter>
      <MaxScaleDenominator>20000</MaxScaleDenominator>
      <TextSymbolizer name="name" face_name="DejaVu Sans Book" size="10" fill="#000" halo_radius="2" wrap_width="10"/>
    </Rule>

...

    <Rule>
      <Filter>[tourism] <> ''</Filter>
      <MaxScaleDenominator>10000</MaxScaleDenominator>
      <TextSymbolizer name="name" face_name="DejaVu Sans Book" size="10" fill="#660033" halo_radius="2" wrap_width="10"/>
    </Rule>

...

  </Style>

ElseFilter


  <Style name="admin">

...

    <Rule>
      <Filter>[boundary] = 'administrative' and ([admin_level]='10' or [admin_level]='9')</Filter>
      <MaxScaleDenominator>100000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">purple</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
	  <CssParameter name="stroke-dasharray">2,3</CssParameter>
        <CssParameter name="stroke-opacity">0.3</CssParameter>
      </LineSymbolizer>
    </Rule>
   <Rule>
      <ElseFilter/>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">purple</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-opacity">0.2</CssParameter>
      </LineSymbolizer>
    </Rule> 
 </Style>

MapnikViewer