Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
@langa/mapnik
Advanced tools
Render a map from a stylesheet:
var mapnik = require('mapnik');
var fs = require('fs');
// register fonts and datasource plugins
mapnik.register_default_fonts();
mapnik.register_default_input_plugins();
var map = new mapnik.Map(256, 256);
map.load('./test/stylesheet.xml', function(err,map) {
if (err) throw err;
map.zoomAll();
var im = new mapnik.Image(256, 256);
map.render(im, function(err,im) {
if (err) throw err;
im.encode('png', function(err,buffer) {
if (err) throw err;
fs.writeFile('map.png',buffer, function(err) {
if (err) throw err;
console.log('saved map image to map.png');
});
});
});
});
Convert a jpeg image to a png:
var mapnik = require('mapnik');
new mapnik.Image.open('input.jpg').save('output.png');
Convert a shapefile to GeoJSON:
var mapnik = require('mapnik');
mapnik.register_datasource(path.join(mapnik.settings.paths.input_plugins,'shape.input'));
var ds = new mapnik.Datasource({type:'shape',file:'test/data/world_merc.shp'});
var featureset = ds.featureset()
var geojson = {
"type": "FeatureCollection",
"features": [
]
}
var feat = featureset.next();
while (feat) {
geojson.features.push(JSON.parse(feat.toJSON()));
feat = featureset.next();
}
fs.writeFileSync("output.geojson",JSON.stringify(geojson,null,2));
For more sample code see the tests and sample code.
If you hit an error like:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found
This means your Linux distributions libstdc++ library is too old (for example you are running Ubuntu Precise rather than Trusty). To work around this upgrade libstdc++:
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -q
sudo apt-get install -y libstdc++6
To upgrade libstdc++ on travis (without sudo) you can do:
language: cpp
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libstdc++6 # upgrade libstdc++ on linux to support C++11
Just do:
npm install mapnik@3.x
Note: This will install the latest node-mapnik 3.x series, which is recommended. There is also an 1.x series which maintains API compatibility with Mapnik 2.3.x and 2.2.x and a v0.7.x series which is not recommended unless you need to support Mapnik 2.1 or older.
By default, binaries are provided for:
On those platforms no external dependencies are needed.
Other platforms will fall back to a source compile: see Source Build for details.
Binaries started being provided at node-mapnik >= 1.4.2 for OSX and Linux and at 1.4.8 for Windows.
NOTE: Windows binaries for the 3.x series require the Visual C++ Redistributable Packages for Visual Studio 2015:
See https://github.com/mapnik/node-mapnik/wiki/WindowsBinaries for more details.
The 1.x series require the Visual C++ Redistributable Packages for Visual Studio 2013:
To build from source you need:
Install Mapnik using the instructions at: https://github.com/mapnik/mapnik/wiki/Mapnik-Installation
Confirm that the mapnik-config
program is available and on your ${PATH}
.
Then run (within the cloned node-mapnik
directory:
npm install --build-from-source
Windows builds are maintained in https://github.com/mapbox/windows-builds
To require node-mapnik as a dependency of another package put in your package.json:
"dependencies" : { "mapnik":"*" } // replace * with a given semver version string
To run the tests do:
npm test
BSD, see LICENSE.txt
FAQs
Tile rendering library for node
The npm package @langa/mapnik receives a total of 6 weekly downloads. As such, @langa/mapnik popularity was classified as not popular.
We found that @langa/mapnik demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.