[Interop-dev] NetJSON node positions

Nemesis (spam-protected)
Fri Jul 3 18:44:15 CEST 2015

On 06/28/2015 12:18 PM, Henning Rogge wrote:
> On Sat, Jun 27, 2015 at 9:16 PM, Nemesis <(spam-protected)> wrote:
>>> I wonder if it makes sense to add a 5th NetJSON object to our list,
>>> one that contains node positions (and some metadata)?
>> For positions you mean the geographical coordinates?
> Yes.
>>> I would like to keep this separated from Routes/Graph because it might
>>> come from a different source (not the routing protocol).
>> If we have two structures having completely different meanings, it makes
>> sense to have two separate objects.
>> If the meaning is similar, or even the same but with some additional
>> data, then we should definitely not define a new object.
> My idea would be "node_id" combined with two floating point variables
> that give you the x/y coordinate.
> Optionally maybe the unit for the coordinates as a "global" information.
>> More objects we define, more complex it will be to implement netjson.
>> The key to GeoJSON's success is simplicity and wide adoption. With
>> simplicity it is possible to have fast and wide adoption. More adoption
>> means more interoperability.
> Most Community Mesh Networks are stationary, so the content of the
> "position" netjson object will be always static.
> On the other side it could also be used for mobile networks with GPS onboard.

So if you want to list node geographic positions and keep this object
separate from a NetworkGraph object, you should definitely not define a
new standard but use GeoJSON, which is widely adopted and highly
interoperable (you can create a leaflet map from GeoJSON with very few
lines of code).

Nobody forbids to add the coordinates in custom attributes in the
NetworkGraph or DeviceConfiguration objects.
I would prefer to discuss again the geo issue after we have more
implementations and we have working real world solutions.

What do you think?


More information about the Interop-dev mailing list