Make GeoShapeData / GeoPointData more flexible to include additional geo data

Our current GeoShape/GeoPoint format is pretty terrible (or rather non-standard) and putting more data in it would make it worse. And that's not even considering the downstream effects. For example, pipelines that are expecting relatively small number of characters (e.g., for GeoPoint) now have to deal with strings of arbitrary length.

My initial reaction is that GeoJSON or the binary data widget would be better.

Use GeoJSON
I suggested GeoJSON because it solves the problem of the non-standard formats, but we've extended it a bit for Briefcase v1.13's export.

{
    "geometry": {
        "coordinates": [ 174.76902833333332, -41.267264999999995, 192.6 ],
        "type": "Point"
    },
    "properties": {
        "empty": "no",
        "field": "geopoint_widget_maps",
        "key": "uuid:0e910762-7ffd-4d9c-bb2b-9bab1455c44c"
    },
    "type": "Feature"
},

More at Add a GeoJSON export to Briefcase and Aggregate - #25 by ggalmazor.

Use the binary data widget
The XForms specification already supports a binary data type (we use this in with the file upload). You could have a binary question associated with your location questions that would have whatever data you want to include.

How this manifests in Collect might be a bit tricky as far as figuring out what the UI will look like, but the fundamentals are there.