@mapbox/geojson-mapnikify
transform geojson with simplestyle-spec into mapnik xml
Last updated 4 months ago by mapbox-npm-02 .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @mapbox/geojson-mapnikify 
SYNC missed versions from official npm registry.

Build Status Coverage Status Code Climate

geojson-mapnikify

Transform GeoJSON objects into Mapnik XML stylesheets with embedded GeoJSON data and simplestyle-spec-derived styles.

install

As a dependency:

npm install --save @mapbox/geojson-mapnikify

As a binary:

npm install -g @mapbox/geojson-mapnikify

api

Assumptions:

  • GeoJSON is valid, and in EPSG:4326
  • Styles, if any, are expressed in simplestyle-spec
  • Mapnik 3.x is the rendering engine

binary

If you install -g, you can use geojson-mapnikify as a binary that takes a single GeoJSON file as an argument and writes a Mapnik XML stylesheet to stdout.

$ geojson-mapnikify test/data/point-retina.geojson > stylesheet.xml
$ geojson-mapnikify test/data/point-retina.geojson retina > stylesheet-retina.xml

mapnikify(geojson, retina, callback)

Transform GeoJSON into Mapnik XML.

  • geojson is a GeoJSON object.
  • retina is true or false for whether the style should be optimized for 2x rendering.
  • callback called with (err, xml) where xml is a string

url markers

If your GeoJSON object has one or more features with a marker-url property, mapnikify() will write the images found at the url into a file in a temporary directory and use that path in the Mapnik XML. This uses the needle library to handle the http file fetching.

By default the request will attempt to fetch binary data from the specified url. Mapnikify will use agentkeepalive to speed up requesting multiple images. There is also a default timeout of 5 seconds.

You can customize the defaults passed to needle() . Simply set a custom wrapper defined with needle.defaults . See needle's documentation on defaults for more information. For a quick example, this will set a longer timeout:

var mapnikify = require('mapnikify');
var myRequest = require('needle').defaults({
  timeout: 10000,
  followRedirect: false
});
mapnikify.setRequestClient(myRequest);

mapnikify(geojson, retina, callback);

mapnikify.setRequestClient(null); // return to mapnikify defaults

Current Tags

  • 3.0.2-dev                                ...           latest (4 months ago)

13 Versions

  • 3.0.2-dev                                ...           4 months ago
  • 3.0.1                                ...           5 months ago
  • 3.0.1-dev.1                                ...           5 months ago
  • 3.0.1-dev.0                                ...           5 months ago
  • 3.0.0                                ...           5 months ago
  • 2.1.1                                ...           8 months ago
  • 2.1.0                                ...           a year ago
  • 2.0.0                                ...           2 years ago
  • 1.1.1-0                                ...           2 years ago
  • 1.1.0                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
  • 0.8.0                                ...           3 years ago
  • 0.7.2                                ...           3 years ago

Copyright 2014 - 2016 © taobao.org |