If you need file size or topology, use TopoJSON. If you don't care about this, use GeoJSON for simplicity.
The main advantage of TopoJSON is its size. Eliminating redundancy and using more efficient integer coordinate coding with fixed precision, TopoJSON files are often an order of magnitude smaller than GeoJSON files. The second advantage of TopoJSON files is that topology coding has useful applications, such as simplification of topology simplification (similar to MapShaper ) and automatic meshing (as in state-state bounds in this choropleth example ).
These benefits bring value: a more complex file format. In JavaScript, for example, youd typically uses the TopoJSON client library to convert TopoJSON to GeoJSON for use with standard tools like d3.geoPath . (In Python, you can use topojson.py . Also, the integer TopoJSON format requires coordinate quantization, which means that it can introduce a rounding error if you're not careful. (See the documentation for topojson -q .)
For server-side processing of geometries that do not require topology, GeoJSON is probably an easier choice. Otherwise, if you need a topology or you want to send geometry by wire to a client, use TopoJSON.
mbostock Feb 08 '13 at 3:41
source share