D3 in Depth has dedicated a chapter to rendering geographic information.
D3’s approach differs to so called raster methods such as Leaflet and Google Maps. Typically D3 requests vector geographic information in the form of GeoJSON and renders this to SVG or Canvas in the browser.
TopoJSON is an extension of GeoJSON that encodes topology. Rather than representing geometries discretely, geometries in TopoJSON files are stitched together from shared line segments called arcs.
TopoJSON eliminates redundancy, allowing related geometries to be stored efficiently in the same file. For example, the shared boundary between California and Nevada is represented only once, rather than being duplicated for both states. A single TopoJSON file can contain multiple feature collections without duplication, such as states and counties. Or, a TopoJSON file can efficiently represent both polygons (for fill) and boundaries (for stroke) as two feature collections that share the same arc mesh.
A converter to convert your GeoJSON to TopoJSON is available 🙂
Baseball fans may not list which team they favor on the census, but millions of them do make their preferences public on Facebook. Using aggregated data provided by the company, we were able to create an unprecedented look at the geography of baseball fandom
Built using Google Maps. Also saw some GeoJSON fly by over XHR.
Conversion result implemented in Google Maps, using data of my hometown Deinze, Belgium
After installation, you can use ogr2ogr to do the actual conversion.