node package manager

world-atlas

Pre-built TopoJSON from Natural Earth.

World Atlas TopoJSON

This repository provides a convenient mechanism for generating TopoJSON files from Natural Earth’s vector data, version 2.0.0.

In a browser (using d3-geo and Canvas), bl.ocks.org/3783604:

<!DOCTYPE html>
<canvas width="960" height="500"></canvas>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/topojson.v2.min.js"></script>
<script>
 
var context = d3.select("canvas").node().getContext("2d"),
    path = d3.geoPath(d3.geoOrthographic(), context);
 
d3.json("https://d3js.org/world-110m.v1.json", function(error, world) {
  if (error) throw error;
 
  context.beginPath();
  path(topojson.mesh(world));
  context.stroke();
});
 
</script> 

In Node (using d3-geo and node-canvas), bl.ocks.org/885fffe88d72b2a25c090e0bbbef382f:

var fs = require("fs"),
    d3 = require("d3-geo"),
    topojson = require("topojson-client"),
    Canvas = require("canvas"),
    world = require("./node_modules/world-atlas/world/110m.json");
 
var canvas = new Canvas(960, 500),
    context = canvas.getContext("2d"),
    path = d3.geoPath(d3.geoOrthographic(), context);
 
context.beginPath();
path(topojson.mesh(world));
context.stroke();
 
canvas.pngStream().pipe(fs.createWriteStream("preview.png"));

# world/110m.json <>

A TopoJSON topology containing two geometry collections: countries and land. The geometry is quantized, but not projected; it is in spherical coordinates, decimal degrees. This topology is derived from the Natural Earth’s Admin 0 country boundaries, 1:110m small scale, version 2.0.0. The land boundary is computed by merging countries, ensuring a consistent topology.

# world.objects.countries

# world.objects.land

# world/50m.json <>

Equivalent to world/110m.json, but at 1:50m medium scale.

# world.objects.countries

# world.objects.land