Web Mapping Services Overview (8/8)

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

Web Mapping Services Overview (7/8)

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

Web Mapping Services Overview (6/7)

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

Web Mapping Services Overview (4/7)

Part 4: Open JavaScript Libraries

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

One option is to use the built-in functions of a maps API such as Google Maps, Bing Maps, MapQuest, or ESRI ArcGIS to access these other sources instead of their creators’ maps. An API is just a JavaScript (or other programming language) library that interfaces with code kept on the company’s server. Thus, while the client-side code is open-source, the back-end functions called by it are not. But there are a bunch of super-smart developers in the open source world who have been hard at work over the past several years creating alternative JavaScript libraries for web mapping, the functionalities of which both overlap and differ in numerous ways. In most cases, these libraries can also pull in the big-name basemaps. The cross-compatibility of all these tools allows for a wide and growing variety of possibilities when it comes to making cool web maps. And, if you get good enough (as I am attempting to do), you can always write your own functions to do something nifty that no one’s thought of yet. Continue reading

Web Mapping Services Overview (5/7)

Part 5: Storing GIS Data for the Web

You: Hey! What happened to Part 4???

Me: Well, this series is a work in progress, and sometimes progress is uneven. My original idea was for a trilogy of “web mapping for beginners” overview documents. But like Douglas Adams, once I start something, I find I can’t stop at just 3 parts. The series has now expanded to 7 parts to touch on most of the complex pieces of the web mapping process, and undoubtedly I will continue to edit and expand on them as I learn even after they are “finished.” I happened to delve into file types and databases before realizing it wouldn’t do not to write about JavaScript mapping libraries, and the proper order for that section is between Part 3 and this one. I think that posting as I go, although there may still be gaps in my knowledge, will help to keep these docs at “beginner” level so as not to unintentionally make them too daunting for someone just getting into this stuff, and I am now. I promise Part 4 is coming soon.

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

Technology Research Memo 3: TileMill

TYPE: Tile Renderer

AUTHOR: MapBox

LANGUAGE: CartoCSS

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

WEBSITE: http://mapbox.com/tilemill/

DOCUMENTATION: http://mapbox.com/tilemill/docs/

EXAMPLES: http://mapbox.com/maps/ Continue reading

Web Mapping Services Overview (3/7)

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

Continue reading