madrid-atlas
v1.0.0
Published
Pre-built TopoJSON from the Madrid City Council
Downloads
10
Maintainers
Readme
Madrid Atlas TopoJSON
This repository provides a simple script to generate TopoJSON files from the Madrid City Council's Statistics portal vector data.
Usage
In a browser (using d3-geo and Canvas):
<!DOCTYPE html>
<canvas width="960" height="600"></canvas>
<script src="https://d3js.org/d3.v5.min.js"></script>
<script src="https://d3js.org/topojson.v3.min.js"></script>
<script>
var context = d3.select("canvas").node().getContext("2d"),
path = d3.geoPath().context(context);
d3.json("https://unpkg.com/[email protected]/madrid/census_tracts.json", function(error, madrid) {
if (error) throw error;
context.beginPath();
path(topojson.mesh(madrid));
context.stroke();
});
</script>
In Node (using d3-geo and node-canvas):
var fs = require("fs"),
d3 = require("d3-geo"),
topojson = require("topojson-client"),
Canvas = require("canvas"),
madrid = require("./node_modules/madrid-atlas/madrid/census_tracts.json");
var canvas = new Canvas(960, 600),
context = canvas.getContext("2d"),
path = d3.geoPath().context(context);
context.beginPath();
path(topojson.mesh(madrid));
context.stroke();
canvas.pngStream().pipe(fs.createWriteStream("preview.png"));
Generating the files
Clone or download the repo, start a terminal and run npm install
in the folder. This command will run the script and move the generated files to the mad
folder.
If you need to make further adjustments (simplification, quantization) you can change the prepublish
script and run npm install
again.
File Reference
# madrid/census_tracts.json <>
A preprojected TopoJSON (EPSG:3042) which contains five objects: census tracts, neighborhoods, districts and city. Every tract, neighborhood and district has its corresponding identifier, so it's easy to get started.
# madrid.objects.census_tracts
# madrid.objects.neighborhoods
# madrid.objects.districts
# madrid.objects.city
Inspiration
The original idea and implementation comes from Mike Bostock’s us-atlas and world-atlas.
Check out es-atlas and barcelona-atlas, which provide other Spanish administrative divisions with the same format.