One thing I've found hard to find in Go is a library equivalent to GEOS/JTS; looks like there are some nice geometric operations bundled under https://github.com/tidwall/geojson
This is definitely a cool product. I've been thinking of building something like this for use in a game server backend.
Do you plan on adding height-support? I'm sure some clients in the professional space would like to know "what room/floor in this building are you in?"
That's really cool! The only other optimization that I wanted to try and do was to use GPU acceleration to support huge numbers of shapes and entities. Something similar to what's described here [0]. I think it would really help for very very large numbers of entities or large complex geometry.
I think JB originally added Z for zoom level for map tile zoom level, but (having done exactly this for some internal demos) you can totally abuse it for what you want and it works well. Tile38 is a really excellent geospatial database and a lovely codebase.
As for integrating GPU - look at Gorgonia's CU package by Xuanyi Chew that will give you ahead start from using CUDA from Go. Good luck.
GPS gives you a 3D fix (lat/lon/height). A common use case in aviation, particularly drones, is avoiding controlled airspace. The height of controlled airspace varies with location - for example a rural area might be 7500ft while near an airport traffic zone it might be only 1000ft or lower.
GPS isn't too great in skyscrapers. In most current gen smartphones GPS can only really pin you to a 16ft resolution on a current gen smartphone in ideal conditions [0]. This gets worse indoors and if the target is moving.
For airspace it doesn't matter too much. Allowable Mode-C accuracy is something more than 100 feet (I think) to allow for poor sensors, and controllers simply add a buffer.
If I worked in the advertisement space I'd probably install WiFi networks that could broadcast SSIDs at known mac addresses that are coded to a height. I could install apps on user phones that could read that and pull out height & building name data.
I am just now digging a bit into IFTTT like event driven api pipelines (OS of course) and so the "Automated Events" section on tile38.com hit my attention - niiice!
and this seems to be a great fit! Very nice toolset!
NO, I am not affiliated, I just liked it. I tried several different things, Flogo seems to have hit a nice spot between "general, but not too generic tool" with easy extensibility but still good usability for gui experiences.
Adding an event capable mapping server to the toolbox triggers exciting ideas!
Thank you very much for making this fantastic project a present to the world! Great!
It's nothing too special, we collect positional information from several devices and feed it into Tile38 which then processes the geofences and delivers the enter/exit/inside notifications trough webhooks.