Author: James

  • 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 

  • 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.

  • 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 

  • 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:

    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.

  • Mapbox GL for iOS

    So Apple Maps is still a disaster.  But:

    During WWDC Apple noted that there are no less than 680,000 apps in the App Store that use location data

    That’s a lot and most of them end up using Apple’s Map API mostly because it’s easy (or lazy, I would be lazy).  Last week Mapbox seems to have a solution ready to go though that might be easier than Apple’s and a whole lot better:

    We just released Mapbox GL — a new framework for live, responsive maps in every iOS app. Now developers can have the most detailed maps sourced from ever-updating OpenStreetMap data, as well as the ability to fully control the style and brand to design maps that perfectly match their app. This is all done using our new on-device vector renderer, which uses OpenGL ES 2.0 technology for pixel-perfect map design, from antialiased fonts to polygon blurring, all hardware-accelerated and optimized for mobile devices — and all on the fly.

    Of course it is open source and available on Github.  I’ve not had a chance to play with it yet but I hope to sit down with it soon.  It looks great, built on OSM and is released open source so no matter what happens to Mapbox1 I’ll still have access to the mapping library.  Really amazing stuff.

    1. Not that I know a thing, but it’s always a good question 

  • Indoor Positioning with Apple’s M7 processor

    Indoor positioning is hard.  The amount of effort that has been put into it since smartphones first started to take off has given us marginal results.  WiFi, LTE/3G, GPS gets close but it’s still not accurate enough to tell me that the butter is right in front of my face.  I’ve experienced Apple’s iBeacon technology in the Apple Store and at AT&T Park in San Francisco but that’s a tad proprietary.  Possibly Apple’s got a solution though (still proprietary but what do I care, I’m all iOS):

    In iOS 8, Apple is adding some new Core Location features that let app developers get precise indoor positioning data from an iOS device’s sensors and it’s even letting venues contribute by signing-up to get help enabling indoor positioning.

    Yea so it’s iOS only but get a load of this:

    Up until now, CoreLocation has been using a combination of Cellular, GPS, and WiFi technology in order to provide developers with location information from their users. Those technologies can get you within a city block or in some cases close to or inside a venue, but they aren’t enough to provide accurate positioning indoors or features like indoor navigation. That’s why with iOS 8, Apple is introducing new features for the CoreLocation API that will let developers tap into an iPhone’s M7 processor and motion sensors in order to get accurate indoor location, navigation, and floor numbers.

    It’s actually very interesting.  To save power once the location is determined GPS is turned off and Core Location uses the motion chip to figure out where you are walking and what’s near.  The drawback according to 9to5mac is that locations are going to be required to provide Apple with their floorplans and RF information.  Not exactly open…

  • “Big Player” give free helpings of ArcGIS Online to Kids

    via APB

    I can’t help but laugh at this news a bit.  I’m not educator but read up.

    The dominant player in the world of geographic information systems is making free accounts to its advanced mapping software available to an estimated 100,000 K-12 schools in the U.S.

    So free accounts of something that adults can’t even figure out how to use.  I’m sure that will work out great.  My son already thinks GIS is too complicated, now he might have to figure out how to manage Esri credits with ArcGIS Online?  I admit though, I’ve been really busy lately so I haven’t kept up on the cost of AGOL:

    In its release, Esri says the value of an account for the software is $10,000, leading to the $1 billion valuation for the entire donation ($10,000 X 100,000 U.S. K-12 schools.) 

    AGOL costs $10,000?  Oh, well played Esri! You’re a “big player”!

  • Come Work With Us

    I could drop a link to weather.gov1 and say living in Phoenix is simply wonderful. I could mention that we’re hiring developers with PostGIS experience2. I could mention we’re working in Node.js3. I could mention we’re working only in Leaflet.js4. Actually I could mention a lot of things but the bottom line is if you want to work with PostGIS/Node.js/Leaflet on projects around the world and enjoy 85 degree days in February, apply here.

    I’m looking for entry level developers and those with more experience. Apply away if you want to work in Phoenix with PostGIS/Node.js/Leaflet.

    1. Sadly if you click this link in August it won’t be so special 

    2. You need not touch Esri software at all 

    3. Maybe everyone mentions this these days 

    4. Everyone should be 

  • Hangouts with James Fee:: Here is to a Safe New Year

    Thanks to Dale and Don of Safe Software for joining me to talk about all the great new features of FME 2014, Safe’s new FME Cloud, and the general state of file formats. The archived hangout is below.

  • LAS, LAZ, LasZip, zLAS and You

    Paul Ramsey sums up the situation very well:

    Rather than avoiding a lengthy LIDAR format war, we are now entering one. In some respects, this will be healthy: the open LAS community now has to come up to feature parity faster than it might otherwise. But in most ways, it’s unhealthy: users will have data interchange issues, they’ll have to understand and install format translation software, and add extra steps to their processing chains.

    Yuck right?  LAS is still niche so it isn’t like FGDB where you have to convert it to old shapefiles to make it useful but working outside the community is not good for users.  I’m glad I don’t work for a data marketplace anymore, these file formats are springing up like weeds1.

    As a user, I don’t leave LIDAR data in LAS  but convert it into other formats to use it.  But it’s that interchange issue that keeps us stuck with old formats such as the shapefile.   Sharing LAS is difficult to to huge file sizes.  Binary point clouds with some sort of compression makes complete sense.  Now you’ve got multiple file types to deal with.  Enjoy…

    1. Hard to keep track of them all