1.1.1 • Published 8 years ago

mapnik-style-parser v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

Mapnik Style Parser

Parse JSON data to XML Mapnik Style.

Installation

Install using the NPM:

npm install -S mapnik-style-parser

Usage Example

A simple use case:

import StyleParser from 'mapnik-style-parser';

StyleParser.toXML({
  attributes: [
    { name: 'background-color', value: 'blue' },
    { name: 'srs', value: '+init=epsg:4326' }
  ],
  styles: [{
    attributes: [{ name: 'name', value: 'My Style' }],
    rules: [{
      name: 'PolygonSymbolizer',
      parameters: [{ name: 'fill', value: '#F2EFF9' }]
    }, {
      name: 'LineSymbolizer',
      parameters: [
        { name: 'stroke', value: 'RGB(50%, 50%, 50%)' },
        { name: 'stroke-width', value: '0.1' }
      ]
    }]
  }],
  layers: [{
    attributes: [
      { name: 'name', value: 'world' },
      { name: 'srs', value: '+init=epsg:4326' }
    ],
    styles: ['My Style'],
    datasource: {
      parameters: [
        { name: 'type', value: 'shape' },
        { name: 'file', value: 'path/to/shapefile.shp' }
      ]
    }
  }]
});

Will produce the XML:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE Map>
<Map background-color="blue" srs="+init=epsg:4326">
  <Style name="My Style">
    <Rule>
      <PolygonSymbolizer>
        <CssParameter name="fill">#F2EFF9</CssParameter>
      </PolygonSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">RGB(50%, 50%, 50%)</CssParameter>
        <CssParameter name="stroke-width">0.1</CssParameter>
      </LineSymbolizer>
    </Rule>
  </Style>
  <Layer name="world" srs="+init=epsg:4326">
    <StyleName>My Style</StyleName>
    <Datasource>
      <Parameter name="type">shape</Parameter>
      <Parameter name="file">path/to/shapefile.shp</Parameter>
    </Datasource>
  </Layer>
</Map>

License

MIT