GIS without GIS Servers

My bandmate, Sheldon McGee, and I presented at AGIC 2014 on how to serve up vector data in Google Maps without using some crazy GIS Server type software. Just a little node.js and some PostGIS is all one needs. You can view the presentation by clicking this link and view the code on Github which is a fork of Mano Marks’ fork of Bill Dollins’ original code.

Some of our goals with this project are to extend the Node.js to work with SQL Server and possibly Oracle1. Possibly even write spatial objects to PostGIS from the app2. We used Google Maps for this demo but I think the sweet spot is TileMill generated background tiles with Leaflet.js.

  1. I might need beer for that ↩︎

  2. Oddly that was a big question from the audience after our presentation ↩︎

September 8, 2014 agic node.js postgis Thoughts






Hangouts with James Fee:: 10 Years of Steve Coast

Back at it with the hangouts. Steve Coast joins me to talk about the first 10 years of OpenStreetMap and what the future might bring.

August 14, 2014 Thoughts






Hangouts with James Fee:: 10 Years of Steve Coast

Back at it with the hangouts. Steve Coast joins me to talk about the first 10 years of OpenStreetMap and what the future might bring.

August 14, 2014 Thoughts






Prior Art

I’m trying to remember if there has ever been such a tool1.  Google’s patent is for Updating map data using satellite imagery:

Map data are overlaid on satellite imagery. A road segment within the map data is identified, and the satellite imagery indicates that the road segment is at a different geographic position than a geographic position indicated by the map data. The endpoints of the road segment in the map data are aligned with the corresponding positions of the endpoints in the satellite imagery. A road template is applied at an endpoint of the road segment in the satellite imagery, and the angle of the road template that matches the angle of the road segment indicated by the satellite imagery is determined by optimizing a cost function. The road template is iteratively shifted along the road segment in the satellite imagery. The geographic position of the road segment within the map data is updated responsive to the positions and angles of the road template.

Now before you get your pitchforks lets look at exactly what Google is proposing here.  This is a computer automated process and not one that most GIS people have ever done.  Read the claims section to learn more about what exactly this process is.  It is interesting that they use TIGER as an example of a dataset that could be improved.

Or…

They could simply donate their map updates to OSM.  Right my bad, TIGER is a great example of a dataset that doesn’t line up with satellite imagery.

  1. No sarcasm ↩︎

June 11, 2014 patents satellite imagery Thoughts






Prior Art

I’m trying to remember if there has ever been such a tool1.  Google’s patent is for Updating map data using satellite imagery:

Map data are overlaid on satellite imagery. A road segment within the map data is identified, and the satellite imagery indicates that the road segment is at a different geographic position than a geographic position indicated by the map data. The endpoints of the road segment in the map data are aligned with the corresponding positions of the endpoints in the satellite imagery. A road template is applied at an endpoint of the road segment in the satellite imagery, and the angle of the road template that matches the angle of the road segment indicated by the satellite imagery is determined by optimizing a cost function. The road template is iteratively shifted along the road segment in the satellite imagery. The geographic position of the road segment within the map data is updated responsive to the positions and angles of the road template.

Now before you get your pitchforks lets look at exactly what Google is proposing here.  This is a computer automated process and not one that most GIS people have ever done.  Read the claims section to learn more about what exactly this process is.  It is interesting that they use TIGER as an example of a dataset that could be improved.

Or…

They could simply donate their map updates to OSM.  Right my bad, TIGER is a great example of a dataset that doesn’t line up with satellite imagery.

  1. No sarcasm ↩︎

June 11, 2014 patents satellite imagery Thoughts






JavaScript instead of Python

As a long time Mac user I’ve used AppleScript to automate many work flows. Now AppleScript is pretty powerful but it unique (Well I’ve always thought it was like HyperTalk but that’s pretty unique too).

Well Apple is looking at allowing JavaScript to be used for automation instead of AppleScript with the next version of Mac OS X Yosemite.  So I mused on Twitter this morning:

https://twitter.com/jamesmfee/status/476382675251367938

Now let’s be honest, GIS and Python have a huge love affair going right now.  But I really think despite all of JavaScript’s issues” (as everyone continues to point out it has floating point error issues) there are some great workarounds.   JavaScript being used both on the server and front end of applications seems so simple and logical that Python becomes almost niche like FORTRAN was in the 1990s.

I’m not sure I would tell anyone in GIS not to learn Python because it is critically important to day and most likely will be for years.  Just that you should be putting as much time into JavaScript at Python and be ready for the jump really soon.  You’ll be talking about Python in a couple years like I do about Perl.

June 10, 2014 applescript python Thoughts