At SpatialDev, we are always paying close attention to the latest development in GIS and mapping technology. Because we specialize in creating deeply customized mapping applications for the web and mobile, embracing open source software is not a choice–it is a requirement.
A little over five years ago, Google released a new version of Google Maps that they were calling Google MapsGL. This was a major advancement to the quality and interactivity of web maps in the industry, and today this is what you experience when you visit maps.google.com.
Unfortunately, this software is proprietary, and we are unable to use it for our work. Yes, the Google Maps JavaScript API is widely used, but this uses the obsolete raster PNG based web maps you saw before.
Now, five years later, the industry is catching up. Though Apple released its Maps product several years ago, this only runs natvely on Apple’s iOS and Mac platforms. Still, this is closed source, and the ability to create custom applications through their API is limited.
Fortunately, the folks at Mapbox are leading two open source projects providing OpenGL renderers for the web as well as native platforms. These renderers are intended to be used by application developers building custom applications (people like us)! We can create our own custom data, render them into vector tiles, and interactively style the map’s cartography on the device. These products are a work in progress, and several key features still need to be implemented for us to use this in our projects. However, it is only a matter of time, and we are continuing to use these tools internally, fleshing out the next generation of mapping with our clients.
Leaflet Map | MapboxGL Map |
---|---|
Every month we have a brown bag lunch presentation where we share our latest work and professional interests with the team. Recently, I presented on Map Renderers and OpenGL. I go into greater detail about what OpenGL is, some basic principles behind making an OpenGL program, as well as some of the challenges faced when engineering an OpenGL map renderer.