mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import * as mapnik from "mapnik";
|
|
import * as fs from "fs";
|
|
import * as path from "path";
|
|
|
|
mapnik.register_default_fonts();
|
|
mapnik.register_default_input_plugins();
|
|
|
|
const map: mapnik.Map = new mapnik.Map(256, 256);
|
|
map.load('./test/stylesheet.xml', function xx(err: Error, map: mapnik.Map) {
|
|
if (err) throw err;
|
|
map.zoomAll();
|
|
const im: mapnik.Image = new mapnik.Image(256, 256);
|
|
map.render(im, function xxx(err: Error, im: mapnik.Image) {
|
|
if (err) throw err;
|
|
im.encode('png', function xxxx(err: Error, buffer: Buffer) {
|
|
if (err) throw err;
|
|
fs.writeFile('map.png', buffer, function xxxxx(err: Error | null) {
|
|
if (err) throw err;
|
|
console.log('saved map image to map.png');
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
// new mapnik.Image.open("xxx").save("xx");
|
|
|
|
mapnik.register_datasource(path.join(mapnik.settings.paths.input_plugins, 'shape.input'));
|
|
const ds: mapnik.Datasource = new mapnik.Datasource({type: 'shape', file: 'test/data/world_merc.shp'});
|
|
const featureset: mapnik.Featureset = ds.featureset();
|
|
const geojson: any = {
|
|
type: "FeatureCollection",
|
|
features: [
|
|
]
|
|
};
|
|
let feat: mapnik.FeaturesetNext = featureset.next();
|
|
while (feat) {
|
|
geojson.features.push(JSON.parse(feat.toJSON()));
|
|
feat = featureset.next();
|
|
}
|
|
fs.writeFileSync("output.geojson", JSON.stringify(geojson, null, 2));
|