Desktop GIS for Linux: An Introduction
This article provides an overview of Linux-based tools for Geographic Information Systems (GIS), including a quick take on the ESRI's ArcReader. Future articles will explore this and other individual tools in greater depth.
The Story of a Map Lover, GIS User
I have always been a map fanatic. As a kid, before my family hit the road for our summer vacations, my father would always visit AAA and get a "TripTik" for the route. A TripTik is a spiral-bound booklet of maps that lead you one-by-one to your destination. Each sheet has a roadmap on top, which folds out to reveal a wealth of local information, such as the highest mountain peaks in the area, the populations and descriptions of the cities and towns and the sights worth a detour. During our trips I would study each page, curious about the unique aspects of each place and landscape, wondering secretly "what's at the end of that unpaved road that leads off the page?" Such was the beginning of my cartographic addiction, and I am still hooked. To this day, my wife knows that the gift of an atlas or other cartographic doodad will set my face aglow.
With a background like that, you can imagine the joy I experienced discovering perhaps the most sophisticated cartographic tools available, i.e. GIS, or geographic information systems. For those uninitiated to GIS - not a surprise since proprietary GIS is not cheap - if you have tinkered with GoogleEarth, you've gotten a good taste what it's like. Only with GIS, you control every element and can work with any kind of data you can imagine that relates to place. Just some examples are: maps, jurisdictions (e.g. townships, states, watersheds, zoning categories), natural features (e.g. rivers, lakes), human-made features (e.g. buildings, dams, bridges), altitudes, seismic data, demographics, satellite imagery, aerial photos, CAD files, land cover, and so much more. A GIS is your tool for combining all of this geographic data together, querying that data, finding relationships, and presenting it as you wish, such as in a custom map.
Just so you don't get confused, you will also encounter other GIS terms like coverage, shapefile, geodatabase, vector and raster, which are simply data formats within a GIS application. We will get more into those terms as we explore specific applications.
For a good overview of GIS, this link from ESRI, the largest and most well-known company devoted to GIS, is a good place to start:
I am a desktop GIS user, and nearly all of my experience has been on a proprietary program called ArcGIS from ESRI. I have used ArcGIS mainly in the context of my graduate studies in natural-resource management. Luckily my university, Michigan State, can afford ArcGIS's $1500 per seat pricetag, but unfortunately I cannot. That fact, along with my being curious and a Linux and open-source advocate, spurred me investigate the state of GIS tools for Linux. Won't you join me in the exploration?
In this article, I will briefly introduce the most interesting GIS-based tools that run on Linux, including a brief first look at an interesting tool for investigating GIS, ESRI's ArcReader.
Proprietary GIS on Linux
Let's start with the proprietary side. As mentioned above, the Big Kahuna of GIS is ESRI, whose flagship product is called "ArcGIS". ArcGIS is dubbed by ESRI as "The Complete Enterprise GIS" and is a suite of applications with desktop, server, online and mobile elements. The ArcGIS desktop is the main user tool, complete with a powerful GUI, for combining, analyzing and presenting your geographic elements. For instance, you might pull together a map and hospital information and then analyze how far the city's population lives from the hospitals, as is illustrated in this graphic.
The ArcGIS Desktop unfortunately only runs on Windows.
On the backend are the ArcGIS servers, namely the ArcGIS Server, ArcGIS Image Server and ArcIMS. The server applications logically run on Linux, as well as Windows and Unix. In this article, however, I will not be covering the server side.
Although the ArcGIS Desktop does not run on Linux, there is one desktop application from ESRI that does - ArcReader, currently in Version 9.2. ArcReader is to ArcGIS as Adobe Reader is to print documents - you can view, query and output GIS information produced by ArcGIS, as well as obtain a great deal of geographic information online.
As long as we're on the topic of ArcReader, let's take a quick look at it. Then we'll discuss open-source options.
ESRI's ArcReader for Linux: A Snapshot
In order to download the free ArcReader, as well as to learn more about it, visit this link on ESRI's Web site:
ESRI offers the source code for ArcReader as a whopping 375 MB, uncompressed Tarball. After downloading the file onto my SUSE Linux 10.2 system, I unpacked the tarball and was then instructed in the documentation to initiate a Setup script, which initiated a MacroVision InstallAnywhere dialogue. This led me cleanly through the installation process.
ArcReader's function is to read, analyze and output any map created by an application called ArcGIS Publisher, those ending with the suffix ".pmf". Scores of these files are available on the Internet, including a site from ESRI called the Geography Network, a one-stop shop for all kinds of free maps and data that you can utilize in your ArcReader or other GIS program. ArcReader offers a direct connection to the Geography Network in the File menu.
Unfortunately, my post-install experience didn't go well. All of my attempts to open map files caused ArcReader to crash. In the coming days, I will attempt to fix this problem, report on my progress and determine where the fault for the problem lies.
In the mean time, I will discuss another working installation of ArcReader to illustrate its features. As a viewer and querying tool, ArcReader is amazingly powerful and has a similar look and feel as ArcGIS, only with many fewer options. You can pull in any number of pre-made maps (you cannot create your own), as long as they have the extension .PMF, and read them and analyze them. Let's check out an example.
From the Geography Network Web site I pulled in a cool global map of precipitation zones and investigated what I could do with it. Here is how it looks.
Simply looking at the color scheme, you can make out areas of extreme precipitation, such as the Sahara Desert, the tropical rain forests of West Africa, the Amazon basin, the deserts of the American west and Great Plains, the tundra of Northern Canada and Russia, etc. You can also make out the gradations in precipitation, such as in Australia where the lush eastern coast gives way to parched interior desert in distinct bands every few hundred miles.
In that same image, on the left side of the GUI you can see where the map contains a number of distinct elements, or layers, which the user can turn on and off. For instance, you can turn on or off national borders, capital cities, rivers, etc. However, unlike with ArcGIS, you are unable to change the characteristics of each layer. As much as you would like you cannot, for instance, make national borders pink, oceans green nor capital-city names with 50-point fonts. You are at the mercy of the map's creator.
ArcReader permits you to do some useful analysis of your map. The two most interesting ones are measurement of distances and identification of map elements. In order to test these out, I zoomed down to the extent of the countries of Guatemala, El Salvador and Honduras. Using the measurement tool, initiated with the ruler-looking icon, I measured the distance between the cities of Guatemala City and Tegucigalpa by drawing a line between them. And the info box popped up to show...295,000 meters! Fortunately, ArcReader lets you change units in the info box that pops up after you perform a measurement. In addition, the measurement tool allows you to measure cumulative distances, areas and particular feature.
To identify elements on the map, you select the icon with the letter "i" with a circle around it. I then clicked on a lake in Guatemala that I know to be Lake Izabal. An info box pops up to give you a chance to select the layer from which you want your information, e.g. capital cities, water bodies, etc. However, my map is not detailed enough to tell me more than that it is simply a lake.
Another piece of information you might want to identify is the precipitation in a region such as the Sahara Desert, as shown here. Be careful because, as shown in the image below, you get quite a bit of information in your info box. If you select the layer "Year-Precipitation" from the "Identify From" drop box up on top and click on the Sahara Desert, the number "694.1366" shows up under "Precipitation-Year". This is not 694.1366 mm, but rather the number of the area, or polygon, that has a uniform level of precipitation. Look instead at the "Field" and "Value" fields to the right, where you fill find a field for minimum precipitation, at 0 mm, and a field for maximum precipitation, at 100 mm. These are the values that make up the color key of the map.
Otherwise, while you cannot make any changes to the look of your imported map, you can use the highlighter tool, the one in the shape of a pencil, to make yellow, green or pink highlights it.
One thing to note is that ArcReader, and any ESRI desktop GIS program is very memory intenstive, so unless you have a screaming machine, be ready for it to spend time creating your maps, changing your zoom level, etc..
While ArcReader is thankfully free, it is part of an expensive, closed proprietary ecosystem. Now that we have a taste of the proprietary world, let's see turn to the open-source options on Linux.
Open-Source GIS on Linux
In the coming weeks we will explore the options for running open-source desktop GIS applications on the Linux platform. I was pleasantly surprised to see how viable the options are. Here is a preliminary (and probably incomplete) rundown of the most interesting applications:
Quantum GIS (QGIS) is a user-friendly open-source GIS program that runs on multiple platforms, including Linux, Unix, MacOS, and Windows. QGIS allows you to edit, create and browse many different kinds of files (vector and raster...more on that in future articles), certain kinds of files that ArcGIS uses (shapefiles), GRASS files (see below), and GeoTIFFs.
Download Quantum at http://www.osgeo.org/qgis
GRASS (Geographic Resources Analysis Support System), created in the 1980s by the U.S. Defense Department, is perhaps the best known and oldest open-source GIS package. It is a software package for performing spatial analysis. GRASS can function as a desktop GIS system, as well as interact with a range of other GIS-related programs, such as Quantum GIS, databases, map servers, etc.
Download GRASS at http://grass.osgeo.org/
Open Source Software Image Map (OSSIM) is an engine for remote sensing (satellite and aerial photo imagery), image processing and photogrammetry, i.e. determining geometric properties from photographs. Like GRASS, OSSIM, was greated by the U.S. government.
Download OSSIM at http://www.osgeo.org/ossim
uDig is an open-source, multi-platform, user-friendly desktop GIS system, which its creator, Refractions Research, calls a "spatial data viewer/editor with special emphasis on the OpenGIS standards for Internet GIS, the Web Map Server and Web Feature Server standards."
Download uDig http://udig.refractions.net
Finally, as you can gather from the above links, one of the most important organizations promoting desktop GIS is the Open Source Geospatial Foundation, or OSGeo. OSGeo supports most of the above projects and organizes the annual Free and Open Source Software for Geospatial (FOSS4G) conference.
Another Resource in the Works
I will close with a 'heads-up' for an exciting book to look for in March 2008, namely Desktop GIS: Mapping the Planet with Open Source, written by Gary E. Sherman and published by the Pragmatic Programmers. I have the book on order and will review it once I receive it. If you'd like to learn more about the book, visit this link: http://www.pragprog.com/titles/gsdgis
More Exciting GIS to Come
In this article, we had a chance to take a quick look at ESRI's ArcReader, which has some technical problems on Linux but is nevertheless a useful tool for viewing and analyzing existing maps that come from ESRI's ArcGIS.
More interestingly, we see how many different open-source tools exist for desktop GIS on Linux. In the coming weeks, we will examine each one in detail and determine which ones are worthy of attention.
Looking forward to exploring more desktop GIS for Linux with you!
James Gray is Products Editor for Linux Journal.
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Returning Values from Bash Functions
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- OpenSSL Hacks
- Panther MPC, Inc.'s Panther Alpha
- Tech Tip: Really Simple HTTP Server with Python