There are four concepts behind working with geospatial data: Shape files, GDAL, GeoJSON and TopoJSON
The first one of these are shape files. Shape files is a geospatial vector format used by most of the GIS software packages.Basically, It is a type of data format used to actually draw things. Shape files can be used for many different things, but primarily, it’s all about drawing maps. This is a format that cartographers have come together on and standardized around, so that we can share this information for any type of mapping application.
GDAL is the geospatial data abstraction library. It has two kinds of formats, raster and vector formats. So if you’re familiar with graphics on the web, those are the two different ways that this can actually take shape files and other things and generate these formats to draw maps. This is the most commonly used platform for actually working with shape files and working with different format data to generate the actual maps that we use. It allow us to take a shape file and spit out the GeoJSON format.
It’s a format for encoding a variety of different geographic structures. Now it represents discrete geometry objects here. It has feature collections inside of there. These are usually set up with name value pairs just like arrays and other pieces of data you’re used to using in JSON format.
It is an extension of GeoJSON. It’s almost the sibling of GeoJSON. It actually encodes the topology. So it’s more than just the geometry itself. It actually has different layers to it, and you can add a lot of things on top of it. It has the topology encoding, and it has this thing called shared line segments, commonly referred as arcs. What that does is that eliminates the redundancy.
So if you have two countries or two states let’s say in a country that are bordering each other, in the GeoJSON file, you’re going to be drawing both shapes and just kind of smashing them together. In TopoJSON, you would actually eliminate that need to draw that border twice, and you would only draw it once. So what that means is it typically results in about an 80% reduced file size. And of course, on the web, we love small file sizes so we can render things much faster.
GeoJSON and TopoJSON are both inter-related. These are both different file formats that are JSON files. So they’re used on the web. They’re also supported by D3 library.