Desktop tools (including visualization)

Geospatial analysis requires the ability to visualize output in order to be complete. This fact makes tools, which can visualize data absolutely critical to the field. There are two categories of geospatial visualization tools. The first is geospatial viewers and the second is geospatial analysis software. The first category—geospatial viewers, allows you to access, query, and visualize data but not edit it in any way. The second category allows you to perform those items and edit data too. The main advantage of viewers is that they are typically lightweight pieces of software that launch and load data quickly. Geospatial analysis software requires far more resources to be able to edit complex geospatial data, so it loads slower and often renders data more slowly to provide dynamic editing functionality.

Quantum GIS

Quantum GIS, more commonly known as QGIS, is a complete open source geographic information system. QGIS falls well within the geospatial analysis category in the two categories of visualization software. The development of the system began in 2002 and version 1.0 was released in 2009.

It is the best showcase of most of the libraries mentioned earlier in this chapter. QGIS is written in C++ using the Qt library for the GUI. The GUI is well designed and easy to use. In fact, a geospatial analyst trained on a proprietary package like Esri's ArcGIS or Manifold System will be right at home using QGIS. The tools and menu system are logical and typical of a GIS system. The overall speed of QGIS is as good as or better than any other system available.

A nice feature of QGIS is that the underlying libraries and utility programs are just below the surface. Modules can be written by any third party in Python and added to the system. QGIS also has a robust online package management system to search for, install, and update these extensions. The Python integration includes a console that allows you to issue commands at the console and see the results in the GUI. QGIS isn't the only software to offer this capability.

Like most geospatial software packages, with Python integration it installs a complete version of Python if you use the automated installer. There's no reason to worry if you already have Python installed. Having multiple versions of Python on a single machine is fairly common and well supported. Many people have multiple versions of Python on their computers for testing software or because it is such a common scripting environment for so many different software packages. When the Python console is running in QGIS, the entire program API is available through an automatically loaded object called qgis.utils.iface. The following screenshot shows QGIS with the Python console running:

Quantum GIS

Because QIS is based on GDAL/OGR and GEOS, and it can use PostGIS, it supports all of the data sources offered by those packages. It also has nice raster processing features too. QGIS works well for producing paper maps or entire map books using available extensions.

QGIS is well documented through the QGIS website at the following link: http://www.qgis.org/en/docs/index.html

You can also find numerous online and video tutorials by searching for QGIS and a particular operation.

OpenEV

OpenEV is an open source geospatial viewer originally developed by Atlantis Scientific around 2002, which became Vexcel before a buyout by Microsoft. Vexcel developed OpenEV as a freely downloadable satellite image viewer for the Canadian Geospatial Data Infrastructure. It is built using GDAL and Python and is partially maintained by GDAL-creator Frank Warmerdam.

OpenEV is one of the fastest raster viewers available. Despite being originally designed as a viewer, OpenEV offers all of the utility of GDAL/OGR and PROJ.4. While created as a raster tool, it can overlay vector data such as shapefiles and even supports basic editing. Raster images can also be altered using the built-in raster calculator, and data formats can be converted, reprojected, and clipped. The following screenshot shows a 25 megabyte, 16-bit integer geotiff elevation file in an OpenEV viewer window:

OpenEV

OpenEV is built largely in Python and offers a Python console with access to the full capability of the program. The OpenEV GUI isn't as sophisticated as other tools like QGIS. For example, you cannot drag and drop geospatial datasets into the viewer like you can do in QGIS. But, the raw speed of OpenEV makes it very attractive for simple raster viewing or basic processing and data conversion.

The OpenEV homepage is available at http://openev.sourceforge.net/.

GRASS GIS

The GRASS is one of the oldest continuously developed geospatial systems in existence. The U.S. Army Corps of Engineers began GRASS development in 1982. It was originally designed to run on UNIX systems. In 1995, the Army released the last patch, and the software was transferred to community development where it has remained ever since.

Even though the user interface was redesigned, GRASS still feels somewhat esoteric to modern GIS users. However, because of its decades old legacy and non-existent price tag, many geospatial workflows and highly specialized modules have been implemented in GRASS over the years, making it highly relevant to many organizations and individuals especially in research communities. For these reasons, GRASS is still actively developed.

GRASS has also been integrated with QGIS, so the more modern and familiar QGIS GUI can be used to run GRASS functions. GRASS is also deeply integrated with Python and can be used as a library or command-line tool. The following screenshot shows some landform analysis in the native GRASS GUI built using the wxPython library:

GRASS GIS

GRASS is housed online at http://grass.osgeo.org/.

uDig

The program uDig is a Java-based GIS viewer. It is built on top of the Eclipse platform originally created by IBM. Eclipse is designed as an integrated development environment (IDE) for programmers. But, there are a lot of interface similarities between IDE and a GIS, so the modification works quite well. The following screenshot shows the core Eclipse IDE platform as typically used by programmers:

uDig

The following screenshot demonstrates the uDig GIS built on top of Eclipse:

uDig

uDig is designed primarily as a thick-client viewer for web services (for example, WMS and WFS) and common data types. Because of the Eclipse platform, the developers encourage third-party plugins or even full-blown application development on top of uDig. The program does support more advanced analysis by using the GRASS GIS program and its Java bindings called JGRASS.

The uDig homepage is located at http://udig.refractions.net/.

gvSIG

Another Java-based desktop GIS is gvSIG. The gvSIG project began in 2004 as part of a larger project to migrate the IT systems of the Regional Ministry of Infrastructure and Transport of Valencia, Spain to free software. The result was gvSIG, which has continued to mature. The feature set is mostly comparable to QGIS with some unique capabilities as well. The official gvSIG project has a very active fork called gvSIG Community Edition (gvSIG CE). There is also a mobile version called gvSIG mobile. The gvSIG code base is open source. The official homepage for gvSIG is available at http://www.gvsig.org/web/.

OpenJUMP

OpenJUMP is another open source Java-based Desktop GIS. JUMP stands for Java Unified Mapping Platform and was originally created by Vivid Solutions for the Government of British Columbia. After Vivid Solutions delivered JUMP, development stopped. Vivid Solutions eventually released JUMP to the open source community where it was renamed OpenJUMP. OpenJUMP has the ability to read and write shapefiles, OGC GML, and supports PostGIS databases. It can also display some image formats and data from OGC WMS and WFS services. It has a plugin architecture and can also serve as a development platform for custom applications. You can find out more about OpenJUMP on the official web page at http://www.openjump.org/.

Google Earth

Google Earth is so ubiquitous that it hardly seems worth mentioning. But as you learn more about geospatial analysis, you'll discover that there is a lot of misinformation surrounding Google Earth. The first release of EarthViewer 3D came in 2001 and was created by a company called Keyhole Inc. and the EarthViewer 3D project were funded by the non-profit venture capital firm In-Q-Tel, which in turn is funded by the U.S. Central Intelligence agency. This cloak-and-dagger spy agency lineage and the subsequent purchase of Keyhole by Google to create and distribute Google Earth, brought global attention to the geospatial analysis field.

Since the first release of the software as Google Earth in 2005, Google has continually refined the software. Some of the notable additions are creating Google Moon, Google Mars, Google Sky, and Google Oceans. These are virtual globe applications, which feature data from the Moon and Mars with the exception of Google Oceans, which adds sea-floor elevation mapping known as bathymetry to Google Earth. Google also released a Google Earth browser plugin allowing a simplified version of the globe in a browser. The plugin has a JavaScript API, which allows reasonably sophisticated control over the data and position of the view for the plugin. However this API is ending in December, 2015.

Google Earth introduced the idea of the spinning virtual globe concept for exploration of geographic data. After centuries of looking at 2D maps or low-resolution physical globes, flying around the Earth virtually and dropping into a street corner anywhere in the world was mind-blowing—especially for geospatial analysts and other geography enthusiasts, as depicted in the following screenshot of Google Earth overlooking the New Orleans, Louisiana Central Business District:

Google Earth

Just as Google had revolutionized web mapping with its tile-based slippy mapping approach, the virtual globe concept was a major boost to geospatial visualization.

After the initial excitement wore off, many geospatial analysts realized that Google Earth was a very animated and fun geographic exploration tool, but it really had very limited utility for any kind of meaningful geospatial analysis. Google Earth falls squarely into the realm of geospatial viewer software. The only data format it consumes is its native Keyhole Markup Language (KML), which is an all-in-one data and styling format discussed in Chapter 2, Geospatial Data. As this format is now an OGC standard, consuming only one data format immediately limits the utility of any tool. Any project involving Google Earth must first begin with complete data conversion and styling in KML, reminiscent of geospatial analysis from around 10-20 years ago. The tools which do support KML, including Google Maps, support a limited subset of KML.

Google Earth's native dataset has global coverage, but it is a mixture of datasets spanning several years and sources. Google has greatly improved the inline metadata in the tool, which identifies the source and approximate date of the current view. But this method creates confusion among lay people. Many people believe that the data in Google Earth is updated far more frequently than it really is. The Google Street View system, showing street-level, 360-degree views of much of the world, has helped correct this misperception somewhat. People are able to easily identify images of familiar locations as several years old. Another common misperception created by Google Earth is that the entire world has been mapped in detail and therefore creating a base map for geospatial analysis should be trivial. As discussed in Chapter 2, Geospatial Data, mapping an area of interest is far easier than it used to be a few years ago by using modern data and software, but it is still a complex and labor intensive endeavor. This misperception is one of the first customer expectations a geospatial analyst must manage while starting a project.

Despite these misperceptions, the impact Google has had on geospatial analysis is almost entirely positive. For decades, one of the most difficult challenges to growing the geospatial industry was to convince potential stakeholders that geospatial analysis is almost always the best approach while making decisions about people, resources, and the environment. This hurdle stands in sharp contrast to a car dealer. When a potential customer comes to a car lot, the salesman doesn't have to convince the buyer that they need a car but just about the type of car. Geospatial analysts have to first educate project sponsors on the technology and then convince them that the geospatial approach was the best way to address a challenge. Google has largely eliminated those steps for the analysts.

Google Earth can be found online at http://www.google.com/earth/index.html.

NASA World Wind

NASA World Wind is an open source, virtual globe, and geospatial viewer, originally released by the U.S. National Aeronautics and Space Administration (NASA) in 2004. It was originally based on Microsoft's .NET framework making it a Windows-centric application. The following screenshot of NASA World Wind looks similar to Google Earth:

NASA World Wind

In 2007, a Java-based software development kit (SDK) was released called World Wind Java, which made World Wind more cross-platform. The transition to Java also led to the creation of a browser plugin for World Wind.

The World Wind Java SDK is considered an SDK and not a desktop application like the .NET version. However, the demos included with the SDK provide a viewer without any additional development. While NASA World Wind was originally inspired by Google Earth, its status as an open source project takes it in an entirely different direction. Google Earth is a generalist tool bounded by the limits of the KML specification. NASA World Wind is now a platform upon which anyone can develop without limits. As new types of data become available and computing resources grow, the potential of the virtual globe paradigm certainly holds more potential for geospatial visualization, which has not been explored yet.

NASA World Wind is available online at http://worldwind.arc.nasa.gov/java/.

ArcGIS

Esri walks the line of one of the greatest promoters of the geospatial analytical approach to understanding our world and a privately held, profit-making business, which must look out for its own interests to a certain degree. The ArcGIS software suite represents every type of geospatial visualization known including vector, raster, globes, and 3D. It is also a market leader in many countries. As described in the geospatial software map earlier in this chapter, Esri has increasingly incorporated open source software into its suite of tools including GDAL for raster display and Python as the scripting language for ArcGIS.

The following screenshot shows the core ArcGIS application ArcMap with marine tracking density data analysis. The interface shares a lot in common with QGIS as shown in this image courtesy of MarineCadastre.gov:

ArcGIS

The ArcGIS product page is available online at http://www.esri.com/software/arcgis.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset