I've been looking over the GeoJSON/TopoJSON specs (as best I understand it TopoJSON is an extended GeoJSON standard which uses 'arcs' to combine features into topography rather than have each polygon as a discreet object, please set me straight if I've missed something core...)

3.1.1 states that:

Altitude or elevation MAY be included as an optional third element.

Which leads me to believe that GeoJSON should be able to cope with representing Topography (Side note - took me too long to work out topo-graphy != topo-logy, urgh greek!). So assuming we can do mountain ranges with it with contours as features...

What about caving systems? Can we do GeoJSON/TopoJSON cave maps - guess these would need to be similar altitude based contour poly slices. But I can't seem to find any good examples - which usually means this is a stupid idea for a reason I can't find.

Anyone got an insight? Or are caves beyond the scope of these JSON standards and better represented in alternative formats?

  • What do you mean by represented?
    – nmtoken
    Oct 3, 2016 at 17:59
  • When i ask are caves better represented by other formats, I guess I mean 3d models or volumes that could be overlayed on a map (a la Google Maps way of plopping buildings on their elevation map)... I could imagine a way of defining it with GeoJSON (imagine a large circular polygon/feature with elevation 1, then a different sized on at elevation -1, new polygon at -2 etc - planes could be stacked to create a representative map of cave volume) - do people do this?
    – Huw
    Oct 6, 2016 at 9:49

1 Answer 1


My understanding is the GeoJSON Topo is for Topology not Topography, but the definition of 'arcs' is braindead - the first point in an arc is its location, but for reasons only known to someone else, the rest of the points in arc is defined by deltas from the previous point.

This means that you can have true vertical topology -

Points A [xo,y0], B[x1,y1], C [x2,y2]

Arc A1 = [A,B]
Arc A2 = [B,C]
Arc A3 = [C,A]

Triangle T1 = [A1,A2,A3]
  • There are good reasons for using delta-encoding (and scaling) in topojson - small deltas rather then large coordinates plus quantisation mean you need fewer digits, which is a space saving, which, together with the fact that topojson stores boundaries between regions only once (unlike geoJSON which stores them twice), means that topoJSON files can be less than half the size of the geoJSO version, with no loss of precision.
    – Spacedman
    Mar 20, 2017 at 7:57
  • But you lose the basis for true topology. Mar 21, 2017 at 6:39
  • Why is that @BeachDefender? Are the deltas only in one dimension? Why can't I use this to do vertical/horizontal contour lines?
    – Huw
    Mar 23, 2017 at 10:06
  • Hi Huw, I think we might be at cross purposes. When I talk about 'vertical' topology its not a reference to 3D, but the way in which points, line or polygons (any shape really) can be defined in terms of each other. Mar 24, 2017 at 11:50

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.