According to switchfromshapefile.org, there is no way to describe topological relations in a shapefile. I am aware that this can be done using a Geodatabase and I have heard of TopoJSON.

If there are any other alternatives which GIS Software works with them?


2 Answers 2


You can run the ArcGIS Tool Polygon_Neighbors on a Polygon Shapefile. The output is a Table that lists the neighbors to each Polygon. There is also an option to analyse Overlaps. This tool works with any license level. This ArcGIS functionality seems to contradict your statement, "there is no way to describe topological relations in a shapefile".

  • 1
    That doesn't contradict the statement; that tool just creates a separate output. Commented Feb 7, 2019 at 19:56
  • @richard law - the table can be joined back to the Shapefile on FID.
    – klewis
    Commented Feb 7, 2019 at 20:31
  • 4
    Sure, but that's not part of the Shapefile specification, and has no semantic meaning. Commented Feb 8, 2019 at 1:00

For the coding inclined you could consider Mapbox's Geobuf format. It's basically a binary representation of GeoJSON/TopoJSON data (protocol buffers for those who want the technical details).

There's a Python version here. I haven't found a good, open source, Python library to generate TopoJSON from geometries yet (at least for server side work). But you can use QGIS or PostGIS to create topogolies.

The format's main shortcoming is that no desktop app will open it directly (but that's to be expected from something brand new and not yet stable). You would need to write your own JavaScript/Python code to decompress the data and then create the geometry objects. So, for example, you could write some Python code in QGIS and open it there.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.