Part 8: SDI-in-a-Box: Web Mapping Frameworks
What’s exciting about all of the web mapping technology bits discussed in previous sections is that they can all be molded and combined in various ways to do new and interesting things with maps. Everything is customizable, and together they can provide a powerful range of functionality for creating interactive web maps. But the piecemeal approach presents challenges as well. For starters, some pieces fit together better than others. An integrated bundle of compatible software can be useful for Government institutions that require a complex application for displaying, querying, updating, and distributing geographic data as part of a Spatial Data Infrastructure (SDI). Businesses may just want an out-of-the-box solution that they don’t have to devote a lot of expensive man-hours to set up. These groups can save time and money while getting a product that meets their needs by looking toward some of the open-source frameworks that are out there. The most popular are summarized below. Continue reading
Part 7: Serving Your Map
Harkening back to Part 1, recall that the map image you see on your computer screen when you go to Google or MapQuest has to be served, i.e. sent from a database or memory cache to the client’s browser. This is the job of the web (or HTTP) server, a piece of software that sits on a host computer, relays requests from clients, and sends them back the information or images they are requesting. Once you have the information or images you want to share with internet users, you need a server to do the sharing for you. The most popular servers out there are open-source Apache and Microsoft’s proprietary IIS. Another option that has gained a tremendous amount of use over the past few years is Amazon’s cloud servers, which are hosted remotely from a warehouse and provide a powerful solution for those who would rather deal with monthly subscription fees than server configuration and hardware maintenance.
Web servers can send data, including images, to client browsers. But georeferenced maps are special images in that they include spatial relationships that must be maintained. Thus, it is easiest to serve them using specialized software that is built for the job and tacked onto a web server, called a map server. Map servers have built-in functionality to create services such as WMS and Tile services. The most popular map servers are listed below. Continue reading
Part 6: Making Your Own Tiles
The bulk of web mapping for public consumption these days is done through, or at least on top of, tile services. A lot of government data still comes in untiled form, but this data is either rendered as it is served or cached (stored for quick access) by the server. Building your own tile service requires an extra step: making the tiles. Continue reading
For many of the tile services listed in Part 3, the purveyors of the tiles provide their own fully functional API that allows you to build on their map and make it available to clients. However, some of them—like MapBox, Stamen, and OpenStreetMap—just provide you with the basemap (and in OSM’s case, the data), and you get to figure out how to access it. The same decision is necessary if you create and serve your own tile sets (see Parts 5-7).
Part 5: Storing GIS Data for the Web
You: Hey! What happened to Part 4???
One more warning: this section is much longer than the previous ones. I debated splitting it into two sections, and I may yet do that, but for now I decided to keep file types and databases together because they all fit under the umbrella of geographic data storage. Continue reading
TYPE: Tile Renderer
REFERENCE MAP SUPPORT: Tile Styling (1), Custom Tiling (1), Custom Vectors (1)
THEMATIC MAP ISOMORPHS: Choropleth (1), Dot density (2), Isoline/Surface (2), Flow (2), Cartogram (3), Bivariate (3)
CARTOGRAPHIC INTERACTIONS: Resymbolize (1), Overlay (1), Pan (1), Zoom (1), Filter (1), Search (1), Retrieve (1)
OTHER ISSUES:Mobile Support through MapBox iOS SDK
EXAMPLES: http://mapbox.com/maps/ Continue reading
Part 3: Public Tile Services
Nowadays there are really two options for making an interactive web map: use somebody’s pre-fab tiles, or make and serve your own. Self-publishing used to be tricky business, but improving tile-rendering software and hosting services are making it easier. This process will be addressed in Section 5. Most mash-ups are still done atop big public tile sets, however, so it’s worth it to try and catalog the ones that are currently out there. If there’s an up-to-date list of tile services already out there, I haven’t found it. The closest thing is a woefully incomplete page on Wikipedia.6 This is understandable, as it is hard to keep up with the fast pace of development and change in these services.
The advantage of going the public tile service route is that there is a lot of good stuff already out there that can be accessed with a small amount of script. The list below is all of the public tile services covering the U.S that I have found. Many draw their data from the same sources but style them differently (Navteq and OpenStreetMap are the two most common data suppliers for the U.S., while there are other suppliers that cover other parts of the globe). Some (e.g. Google and ESRI) are cached, meaning the servers store a collection of static raster images which are sent in response to a client request, while others draw each tile from database data on demand. The descriptions below represent my own opinions on the cartography and functionality involved in each service at the time of this writing (June, 2012).