Saturday, February 7, 2015

Driveby System - Work on open source mapping without need for live internet access

One of the biggest complaints I have about using my own "Driveby System" that maps the noise floor of various frequencies in order to locate sources of Power Line Noise is that currently it relies on Google Maps API.  This means that in order to view the maps from the collected data the system requires a live internet connection.  

This is fine in practice, because the data being collected is stored permanently on an attached SSD Drive.  Driveby has the ability to 'review' previous drive tests currently.  So when I return home and once again have an internet connection the mapping works just fine.


Also I have setup the networking to work both with a USB or Bluetooth connected internet connection via a smartphone or tablet capable of sharing it's internet connection.  However, in tests so far this has been problematic.  Loss of cellular internet connection seems to occur regularly (at least around here).  


This forces me to have to mentally remember all the streets I've drive tested in town.  And well....at 52 my memory isn't as good as it used to be.  


SOOOOO.....


I'm looking at trying to use a mapping system that allows the user to download locally the map-tiles that it requires.  Say within a 20 mile radius of the drive test area. (or more depending on the space available on the system).


I think that something like OpenStreetMap might be something I can use.  I've read that it's possible to save locally the map tiles.  


Another option is to use Google Earth (installed) and convert my map/noisefloor data to KML.


I'm still reviewing the best options at this point.  I like Google Earth, as I've done A LOT with KML in the past 10 years.  So that's fairly familiar.  There are also some nice features in GE that could be leveraged in the future.  However, because this is fairly bulky app to install and kind of hogs memory when it's running....I think it'd be a good idea to keep searching.


I've seen some really nice heatmap's done on OpenStreetMap but I've never used this system before so there's likely to be a learning curve there.  


Anyway, I just wanted to share some thoughts on what I'm thinking about doing AFTER the first release of the "Driveby System" code.



Update

So looks like so far that I can't get OSM to install properly on either the TK1 or the Odroid XU3.  SO most likely OpenStreetMap is 'out' as a candidate.

UGH....so now to try to get Google Earth using KML to work.  Trouble is I think GE is semi-tied to having internet access too...blah!


Update 2015-02-13



Today I was able to get a OSM tile server up and running locally on my laptop using this.

Now I'm looking further into how to use OSM with this new mapping tile server. (again this is setup so that mapping would be possible WITHOUT an Internet connection.


The Tile server serves up maps on a web-server that would be running locally on my laptop and I hope to be able to provide coordinates to it to get back a zoomed in map to within a few miles of my location similar to how I'm doing with Google Maps API at currently.


Then the next phase is to work on adding a layer that would be like the 'heatmap' API in Google Maps.



SUCCESS!  Using OSM and OpenLayers I have a completely standalone 'tile server' that can map for me without Internet Access to the outside world.


This process requires A LOT of patience working through the URL noted in the 2015-02-13 Update above.  However, IT DOES WORK, and it actually works WONDERFULLY for so far.

I am now working on setting up HEATMAPS with the OpenLayers v3 API Once all of this is completed, I'll also update the recently released GIT HUB code for the Driveby System. (see other posts about that on this blog).

This is going to be awesome!  I can already feel like this will work really really well.  The API and the setup noted above all seem to work as directed and specified in their respective documentation.  (a rare thing in this world!)