Skip to content

Commit

Permalink
update examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Dane Springmeyer committed Feb 24, 2011
1 parent 0b1ee1a commit 405e4f6
Show file tree
Hide file tree
Showing 10 changed files with 167 additions and 251 deletions.
6 changes: 3 additions & 3 deletions examples/render.js
Expand Up @@ -18,11 +18,11 @@ if (!image) {
process.exit(1);
}

var map = new mapnik.Map(600,400);
var map = new mapnik.Map(600, 400);

map.load(stylesheet);
map.zoom_all();
map.render_to_file(image);

console.log('rendered map to '+image);
child_process.exec('open ' + image);
console.log('rendered map to ' + image);
child_process.exec('open ' + image);
15 changes: 9 additions & 6 deletions examples/simple.js 100644 → 100755
@@ -1,18 +1,21 @@
#!/usr/bin/env node

var mapnik = require('mapnik');
var http = require('http');
var path = require('path');

var port = 8000;

http.createServer(function (req, res) {
var map = new mapnik.Map(256,256);
map.load("./examples/stylesheet.xml");
http.createServer(function(req, res) {
var map = new mapnik.Map(256, 256);
map.load(path.join(__dirname, './stylesheet.xml'));
map.zoom_all();
map.render(map.extent(),"png",function(err,buffer){
map.render(map.extent(), 'png', function(err,buffer) {
if (err) {
res.writeHead(500, {'Content-Type':'text/plain'});
res.writeHead(500, {'Content-Type': 'text/plain'});
res.end(err.message);
} else {
res.writeHead(200, {'Content-Type':'image/png'});
res.writeHead(200, {'Content-Type': 'image/png'});
res.end(buffer);
}
});
Expand Down
11 changes: 6 additions & 5 deletions examples/simple_express.js
Expand Up @@ -2,6 +2,7 @@

var mapnik = require('mapnik');
var express = require('express');
var path = require('path');

var ver = process.versions.node.split('.');

Expand All @@ -14,11 +15,11 @@ var app = express.createServer();

var port = 8000;

app.get('/', function(req, res){
var map = new mapnik.Map(256,256);
map.load("./examples/stylesheet.xml");
app.get('/', function(req, res) {
var map = new mapnik.Map(256, 256);
map.load(path.join(__dirname, './stylesheet.xml'));
map.zoom_all();
map.render(map.extent(),"png",function(err,buffer){
map.render(map.extent(), 'png', function(err,buffer) {
if (err) {
//res.send('Tile not found', 500);
res.contentType('.txt');
Expand All @@ -27,6 +28,6 @@ app.get('/', function(req, res){
res.send(buffer, {'Content-Type': 'image/png'});
}
});
})
});

app.listen(port);
31 changes: 16 additions & 15 deletions examples/simple_pool.js
Expand Up @@ -3,62 +3,63 @@
var http = require('http');
var mapnik = require('mapnik');
var mappool = require('mapnik/pool');
var path = require('path');

// create a pool of 10 maps
// this allows us to manage concurrency under high load
var maps = mappool.create(10);

var port = 8000;

var stylesheet = "./examples/stylesheet.xml";
var stylesheet = path.join(__dirname, './stylesheet.xml');

var aquire = function(id,options,callback) {
methods = {
create: function(cb) {
var obj = new mapnik.Map(options.width || 256, options.height || 256);
// catch problem loading map
try { obj.load(id) }
catch (err) { callback(err,null) };
if (options.buffer_size) obj.buffer_size(options.buffer_size)
catch (err) { callback(err, null) }
if (options.buffer_size) obj.buffer_size(options.buffer_size);
cb(obj);
},
destroy: function(obj) {
obj.clear();
delete obj;
}
}
maps.acquire( id,
};
maps.acquire(id,
methods,
function(obj) {
callback(null, obj);
}
);
}
};

http.createServer(function (req, res) {
http.createServer(function(req, res) {

aquire(stylesheet,{},function(err,map) {
aquire(stylesheet, {},function(err,map) {
if (err) {
res.writeHead(500, {
'Content-Type':'text/plain'
'Content-Type': 'text/plain'
});
res.end(err.message);
} else{
} else {
// zoom to full extent
map.zoom_all();
// real example we would pass a bbox
map.render(map.extent(),'png',function(err, buffer){
maps.release(stylesheet,map);
map.render(map.extent(), 'png', function(err, buffer) {
maps.release(stylesheet, map);
if (err) {
res.writeHead(500, {
'Content-Type':'text/plain'
'Content-Type': 'text/plain'
});
res.end(err.message);
} else {
res.writeHead(200, {
'Content-Type':'image/png'
'Content-Type': 'image/png'
});
res.end(buffer);
res.end(buffer);
}
});
}
Expand Down
48 changes: 24 additions & 24 deletions examples/tile/app.js
@@ -1,12 +1,12 @@
#!/usr/bin/env node

var mapnik = require('mapnik')
var mapnik = require('mapnik')
, mercator = require('mapnik/sphericalmercator')
, http = require('http')
, url = require('url')
, tile = 256
, img = 'google_point_8.png'
, path = require('path')
, http = require('http')
, url = require('url')
, tile = 256
, img = 'google_point_8.png'
, path = require('path')
, async_render = true;

var usage = 'usage: app.js <port>';
Expand All @@ -29,14 +29,14 @@ var merc = '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_
// to do this in pure javascript...

// map
var s = '<Map buffer_size="128" srs="' + merc + '">';
var s = '<Map buffer-size="128" srs="' + merc + '">';

// style
s += '<Style name="style">';
s += '<Rule>';
s += '<PointSymbolizer file="google_point_8.png" allow_overlap="true" />';
//s += '<PointSymbolizer file="point.svg" allow_overlap="true" />';
//s += '<MarkersSymbolizer type="ellipse" fill="red" allow_overlap="true" placement="point"/>';
s += '<PointSymbolizer file="point.png" allow-overlap="true" />';
//s += '<PointSymbolizer file="point.svg" allow-overlap="true" />';
//s += '<MarkersSymbolizer type="ellipse" fill="red" allow-overlap="true" placement="point"/>';
s += '</Rule>';
s += '</Style>';

Expand All @@ -58,55 +58,55 @@ ds += '<Parameter name="table">';
ds += table;
ds += '</Parameter>';
ds += '</Datasource>';

s += ds + '</Layer>';
s += '</Map>';


http.createServer(function (request, response) {
http.createServer(function(request, response) {

var query = url.parse(request.url,true).query;
var query = url.parse(request.url, true).query;

if (query &&
query.x !== undefined &&
query.y !== undefined &&
query.z !== undefined
) {

var map = new mapnik.Map(tile,tile);
var map = new mapnik.Map(tile, tile);

response.writeHead(200, {'Content-Type': 'image/png'});

var bbox = mercator.xyz_to_envelope(parseInt(query.x), parseInt(query.y), parseInt(query.z), false)
var bbox = mercator.xyz_to_envelope(parseInt(query.x), parseInt(query.y), parseInt(query.z), false);

map.from_string(s,path.join(__dirname,'./'))
map.from_string(s, path.join(__dirname, './'));
//map.load('../../examples/stylesheet.xml')
//console.log(map.to_string());

if (async_render) {
map.render(bbox,"png",function(err, image){
map.render(bbox, 'png', function(err, image) {
if (err) {
response.writeHead(500, {
'Content-Type':'text/plain'
'Content-Type': 'text/plain'
});
response.end(err.message);
} else {
response.end(image);
response.end(image);
}
});
}
else {
map.zoom_to_box(bbox);
response.end(map.render_to_string("png"));
response.end(map.render_to_string('png'));
}

} else {
response.writeHead(200, {
'Content-Type':'text/plain'
'Content-Type': 'text/plain'
});
response.end("no x,y,z provided");
response.end('no x,y,z provided');
}
}).listen(port);


console.log('Test server listening on port %d', port);
console.log('Test server listening on port %d', port);
File renamed without changes
87 changes: 0 additions & 87 deletions examples/tile/sphericalmercator.js

This file was deleted.

0 comments on commit 405e4f6

Please sign in to comment.