Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
#!/usr/bin/env node
// This example shows how to use node-mapnik with the
// connect http server to serve map tiles to polymaps
// client. Also logs tile render speed
//
// expected output at zoom 0: http://goo.gl/cyGwo
var mapnik = require('mapnik')
, mercator = require('../../utils/sphericalmercator')
, mappool = require('../../utils/pool.js')
, http = require('http')
, parseXYZ = require('../../utils/tile.js').parseXYZ;
// register shapefile plugin
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
var TMS_SCHEME = false;
// create a pool of 5 maps to manage concurrency under load
var maps = mappool.create_pool(5);
var usage = 'usage: app.js \ndemo: app.js ../../stylesheet.xml 8000';
var stylesheet = process.argv[2];
if (!stylesheet) {
console.log(usage);
process.exit(1);
}
var port = process.argv[3];
var usage = 'usage: render.js <img>';
var stylesheet = process.argv[2];
if (!stylesheet) {
console.log(usage);
process.exit(1);
}
var image = process.argv[3];
if (!image) {
console.log(usage);
process.exit(1);
}
// register shapefile plugin
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
var map = new mapnik.Map(600, 400);
map.loadSync(stylesheet);
map.zoomAll();
map.renderFileSync(image);
console.log('rendered map to ' + image);
if (process.argv.indexOf('--no-open') == -1) {
child_process.exec('open ' + image);
}
#!/usr/bin/env node
var http = require('http');
var mapnik = require('mapnik');
var mappool = require('../utils/pool.js');
var url = require('url');
var port = 8000;
var pool_size = 10;
var usage = 'usage: wms.js ';
// register datasource plugins
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
var stylesheet = process.argv[2];
if (!stylesheet) {
console.log(usage);
process.exit(1);
}
var port = process.argv[3];
if (!port) {
console.log(usage);
process.exit(1);
}
var maps = mappool.create_pool(10);
var fs = require('fs'),
path = require('path'),
sphericalMerc = new (require('sphericalmercator')),
invalid = require('./invalid'),
srs = require('srs'),
gdal = require('gdal'),
mapnik = require('mapnik');
// Register datasource plugins
mapnik.register_default_input_plugins();
/**
* Initializes the module
* @param file (filepath)
* @param filesize
* @param filetype
* @returns metadata {filesize, projection, filename, center, extent, json, minzoom, maxzoom, layers, dstype, filetype}
*/
function init(file, filesize, filetype, callback) {
getDatasourceConfigs(file, filesize, filetype, function(err, configs) {
if (err) return callback(err);
return callback(null, configs);
});
}
/**
* Obtains metadata depending on file type
// This example shows how to use node-mapnik with the
// express web development framework (http://expressjs.com/)
//
// expected output: http://goo.gl/cyGwo
var mapnik = require('mapnik');
var express = require('express');
var path = require('path');
// register shapefile plugin
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
var app = express();
var port = 8000;
app.get('/', function(req, res) {
var map = new mapnik.Map(256, 256);
map.loadSync(path.join(__dirname, '../stylesheet.xml'));
map.zoomAll();
var im = new mapnik.Image(map.width, map.height);
map.render(im, function(err,im) {
if (err) {
res.contentType('.txt');
res.send(err.message);
} else {
res.send(im.encodeSync('png'), {'Content-Type': 'image/png'});
}
var mapnik = require('mapnik'),
mapnikPool = require('mapnik-pool')(mapnik),
mercator = new(require('sphericalmercator'))(),
nfs = require('node-fs'),
request = require('request'),
path = require('path'),
fs = require('fs');
mapnik.register_default_input_plugins();
// register geojson as a datasource in mapnik
mapnik.register_datasource(path.join(mapnik.settings.paths.input_plugins,'geojson.input'));
// create a space to hold pools of maps for repeat referencing
mapnik.pools = {};
var Tiles = function( koop ){
this.mapnikHeader = '<map>';
this.mapnikFooter = '</map>';
this.buildTableQuery = function( table, fields ){
var select = "(Select geom, ";
var list = [];
#!/usr/bin/env node
var fs = require('fs');
var mapnik = require('mapnik');
var path = require('path');
var merc = require('../utils/sphericalmercator').proj4;
// register shapefile plugin
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
// map with just a style
// eventually the api will support adding styles in javascript
var s = '<map>';
s += '</map>
#!/usr/bin/env node
// This example shows how to use node-mapnik with the
// basic node http server
//
// expected output: http://goo.gl/cyGwo
var mapnik = require('mapnik');
var http = require('http');
var path = require('path');
var port = 8000;
var stylesheet = path.join(__dirname, '../stylesheet.xml');
// register shapefile plugin
if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
http.createServer(function(req, res) {
res.writeHead(500, {'Content-Type': 'text/plain'});
var map = new mapnik.Map(256, 256);
map.load(stylesheet, function(err,map) {
if (err) {
return res.end(err.message);
}
map.zoomAll();
var im = new mapnik.Image(256, 256);
map.render(im, function(err,im) {
if (err) {
res.end(err.message);
} else {
im.encode('png', function(err,buffer) {
if (err) {
"use strict"
const fs = require('fs');
const path = require('path');
const d3 = require('d3-queue');
var mapnik = require('mapnik');
mapnik.register_default_input_plugins();
mapnik.register_default_fonts()
//console.log(mapnik.fonts());
const find = (dir) =>
fs.readdirSync(dir)
.reduce((files, file) =>
fs.statSync(path.join(dir, file)).isDirectory() ?
files.concat(find(path.join(dir, file))) :
files.concat(path.join(dir, file)),
[]);
function makemappng(basefile, routefile, callback) {
var stylesheet = `
const mapnik = require("mapnik");
const mercator = require("./utils/sphericalmercator");
const config = require("./config");
mapnik.register_default_input_plugins()
const mercatorProj4 = `+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs`;
const xmlConfig = `
<map>
postgis
${config.db.host}
${config.db.port}
${config.db.database}
${config.db.user}
${config.db.password}
true
`;
const xmlConfigTail = `
false</map>