Baseball Ballparks in GeoJSON

Update: Mexican League and Eastern League are done. That means we’ve got all the Majors, Triple-A and a third of the Double-A stadiums mapped.

I’ve been working on getting all the MLB and AAA baseball ballparks in GeoJSON on GitHub. MLB1 parks are done and I think I’ve got all the AAA parks thanks to Wikipedia but I’m still missing most of the Mexican League which is a AAA league. I’m also hoping to complete the AA and A ballparks as well. If you can help, just fork the repo and submit a pull request with the new ballpark.

  1. Ignoring the fact I had the Nationals still playing at RFK

GIS without GIS Servers

nodejs-1024x768My 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

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.


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 unique1. 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:

Redshirt learns that Python might not be the future.

Redshirt learns that Python might not be the future.

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”2 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.

Look Barney thinks you should suit up and embrace JavaScript.

Look Barney thinks you should suit up and embrace JavaScript.

  1. Well I’ve always thought it was like HyperTalk but that’s pretty unique too

  2. as everyone continues to point out it has floating point error issues

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


Apple vs. Mapbox via

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 Mapbox2 I’ll still have access to the mapping library.  Really amazing stuff

  1. Or lazy, I would be lazy

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