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:

http://www.gis.com/whatisgis/index.html

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:

http://www.esri.com/software/arcgis/arcreader/about/features.html

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

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

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/

OSSIM

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

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!

AttachmentSize
ArcReader-World-Precip.PNG114.81 KB
ArcReader-Guatemala.PNG88.91 KB
ArcReader-Sahara.PNG102.46 KB
______________________

James Gray is Products Editor for Linux Journal

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Great article. It helped me

Helani's picture

Great article. It helped me to do my Literature Survey (GIS on LINUX Platforms)

Thanks :)

ArcReader Linux crash

Anonymous's picture

I've been trying to work through the crash you mentioned for ArcReader in Linux. I thought I had found the solution on http://forums.esri.com/Thread.asp?c=113&f=1141&t=264005 , but the problem still persists. Has anyone solved this issue?

Thanks,
Brad

I'm kind of late to the

Mike Roberts's picture

I'm kind of late to the party but thanks for the GIS information. I have dabbled with some proprietary solutions in the past. I am real excited to see all the open options out there now thanks to your article and the other options pointed out by others here. I find myself curiously drawn in by maps and GIS. Great article and I too am anxious to read more from you on the topic.

Mike Roberts is a bewildered Linux Journal Reader Advisory Panelist.

gvSIG

Peter Hopfgartner's picture

I can't imagine a desktop GIS review without mentioning http://www.gvsig.gva.es.

Regards,

Peter Hopfgartner

opensource gis

Pete Schmitt's picture

The mother of all opensource gis is mapserver

http://mapserver.gis.umn.edu/

GIS on Linux

picoSrfr's picture

After recently leaving a GIS software development company, and doing a lot of server work while I was there... I became a huge fan of Linux and opensource tools. I've been looking for a while for a GIS package that I could put on my laptop or my desktop so I might be able to do some consulting work on the side, but nothing really stuck out.
I've already heard of a lot of these, but thanks for the info. I'm definitely gonna be looking forward to a follow up.

Good to see some GIS coverage.

Dave Sampson's picture

It is good to see that GIS is getting more exposure on linux. The concept of bringing GIS to the neo-geographer on their home desktop is great.

Some things to mention about the open source and open standards realm would be the question of support. Of Course there is commercial support but also the community based support and the various organization like http://OSGEO.org and http://opengeospatial.org that are trying to make the GIS world more interoperable and thus more accessible to the masses.

Some other key projects to consider are

Open Jump:
http://openjump.org/wiki/show/HomePage
A great addition to production workflows or general vector editing.

GvSIG:
http://www.gvsig.gva.es/index.php?id=gvsig&L=2
Good all round desktop solution

Good start though.

Cheers

Additional GIS software

Shayne Urbanowski's picture

You may also want to check out gvSIG. It is a open source, standards based, multilingual, Java GIS.
http://www.gvsig.gva.es/

and

52North
http://52north.org/

www.openstreetmap.org

Anonymous's picture

For the data side it's probably worth it to have a look at what we are doing on www.openstreetmap.org

Free data that can be postprocessed with GIS tools and of course all of you are welcome to join the project and add more data.

Jo

Web based solutions

Anonymous Coward's picture

Don't forget about web based solutions, standards compliant WMS / WFS / WCS servers such as GeoServer or MapServer. Together with stuff like OpenLayers it is a pretty good replacement, first and foremost for read-only, but that is changing too.

Web based...

Anonymous's picture

Not to mention MapGuide, now also open source...
Good article!

Linux on Mapguide

jenal Malaysia's picture

HI,

I am working in the government sector exploring the potential of using open source web based GIS with LINUX and using Mapguide is my intention right now. I have problem when installing Mapguide after setting in PHP, Linux Ubuntu and Apache. Do you have any documentation in the web that I can use to successfully intall Mapguide on Linux. I would prefer a friendly tutorial-like installation procedure. Cheers.

GIS

Robert Aldridge's picture

Up until about 3 years ago, I was a GIS professional, first with a DOD contractor, then with a natural resources company. But, I had migrated to more general programming and application development in the later years. The natural resources company (land & timber) I worked for sold off their paper making division and went through a pretty drastic down-sizing company-wide, including the natural resources division that I programmed for. I got the axe. Fortunately, I had enough programming experience to land a good job just down the road from my former employer. I still, from time to time, explore the Open Source GIS tools just to keep a check on where/how the technology has advanced. I love Google Earth and currently have Quantum GIS installed on my Ubuntu laptop, though I haven't used QGIS in a while.

I enjoyed the article and look forward to the others.

Thanks,

Robert Aldridge

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState