Quantum GIS: the Open-Source Geographic Information System
If you've ever zoomed around the globe with Google Earth, you know how much fun it can be to work with geospatial data. When I need a diversion, I often fire up Google Earth and float above the skyscrapers of Manhattan or revisit former stomping grounds.
For a deeper level of control with geospatial information—where you're the chef who concocts the whole stew—dive into a geographic information system, or GIS. A GIS lets you control all the elements that go into the geophysical world you want to explore. Stripping GIS down to its essentials, you could call it computer-based mapmaking. However, because a GIS is powered by a database, the opportunities for advanced analysis are light-years beyond anything you could do with a paper-based map. A GIS not only will make you feel like you have the world in your hands—look out for that “I'm playing God” feeling—but you also probably will do something extremely useful with it for your work or private life.
This article introduces a sample project with Quantum GIS (QGIS), one of the most advanced and powerful open-source GIS packages for the desktop. Although QGIS has some excellent documentation, new users might find the terminology a bit stilted and missing some information. The authors of the documentation assume you already are familiar with GIS and that you're coming to QGIS from a proprietary alternative, such as the popular ArcGIS from ESRI. I, on the other hand, assume you've never used a GIS before.
To illustrate some basic functions of a desktop GIS, I use QGIS to make preparations for a fantasy of mine, which is to create an ecologically friendly real-estate development. In this exercise, I locate a parcel of agricultural land in Washtenaw County, Michigan, near Ann Arbor, where I can restore a former wetland and build a cluster of homes nearby. I chose Ann Arbor due to its proximity to drained wetlands in rural areas, as well as local demand for homes in areas with lots of wildlife.
To accomplish this task, I explore how to load QGIS on your system; find the geospatial data for the task; load that data into QGIS; and view, set up and analyze that data to do the job at hand. Along the way, I introduce key concepts and important terms.
QGIS has a useful, comprehensive Web site with plenty of resources to get you started. Beyond the free application download, you'll find a wiki, help forums and loads of documentation. QGIS has versions for Mac OS X, Windows and several variants for Linux users: source, Debian, Ubuntu Gutsy and OpenSUSE. Given that repositories are provided, installation should be easy and straightforward. All you need to do is add the requisite repository to your favorite package manager. If you must install from source, there are plenty of on-line guides explaining the process. See Figure 1 for a look at QGIS's GUI.
GIS is a complex application requiring knowledge about data formats, how a GIS functions and general cartography. Let's rip through a quick, need-to-know primer on GIS.
As mentioned previously, using a GIS is essentially mapping on a computer. To do this mapping, you need to find data related to geography, typically called geospatial data. This geospatial data that we will introduce into QGIS consists of two elements, namely spatial features and attribute data. Examples of spatial features might include streets, rivers or land cover—any feature you might find on a map. Meanwhile, attribute data describes the characteristics of the spatial features and is stored in a database within the GIS. For example, most of those streets have names and lengths; the land-cover types have names and areas associated with them. In the case of land cover, a GIS might store attribute-related categories, such as high-density urban, low-density urban, cropland, forest and so on, which you then could query easily.
Your paper road map would think you were completely mad if you commanded it to “just show me the rivers and mountains, please” or “flip the county boundaries on and off”. On the other hand, because a GIS portrays data in similar groupings of geographic elements, called layers, your computer will execute your command and not label you loopy. Some examples of layers are countries, cities, rivers and oceans. A GIS allows you to control which layers are displayed on your screen at any time.
Layers can consist of two types, namely features and surfaces. In our above list, the layers with countries, cities, rivers and specific buildings are feature-based; oceans are one single, continuous expanse and, thus, are a surface.
James Gray is Products Editor for Linux Journal
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Be a Mechanic...with Android and Linux!
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- Solving ODEs on Linux
- DevOps: Everything You Need to Know
- Non-Linux FOSS: MenuMeters