Notes on GIS Software and Development Options.doc - The Risberg ...

flameluxuriantData Management

Dec 16, 2012 (4 years and 3 months ago)

523 views

Page
1

of
16

Notes on
GIS Software

and Development Options

Created

12/03
/08

Updated 12/08
/08
, Updated 12/12/08
, Updated 12/15/08
, Updated 12/16/08
, Updated 12/19/08
, Updated 12/20/08

Updated 12/27/08, Updated 12/31/08,
Updated 01/04/09
, Updated 01/07
/09
, Updated 01/09/
09
, Updated 01/11/09

Introduction

GIS, or Geographic Information Software, is to maps as DBMS software is to records. A GIS suite will contain a
core facility to represent maps and information about maps and perform queries and updates against it, and as
well
as a set of tools, frameworks, or applications for using this capability to generate reports, analyses, etc. Unli
ke
DBMS systems which tend to be focused on
the operational (OLTP) side

rather than the analytical (OLAP) side
,
most GIS systems are focu
sed
on the analytical, though some do have transactional editing of content.


A GIS suite processes

geographic knowledge, which is represented using a series of information sets. GIS
abstracts geographic knowledge into five basic elements:




Geographic dat
asets and data models



Maps and globes



Geoprocessing models and scripts



GIS methods and workflows



Metadata


The three views of a GIS:



The geodatabase view



this refers to the storage and storage management aspects



The geo
visualization view



this refers to

the presentation aspects, which is typically maps of different
projections and overlays



The geoprocessing view



this refers to the derivation of new data from the given information, by using
models, scripts, and other tools


A GIS platform has:



A geograp
hic database



A presentation facility, which is typically a dedicated desktop program



A
serve
r

framework for distributed information management, analysis, sharing and us
e
. This may be
supporting web
-
based application and front
-
ends



A software developer’s t
oolkit for assembling any GIS application



An open
-
standards based architecture and tools



An interface to real
-
time sensor networks.



A range of mobile applications


Today, GIS suites offer a combination of Desktop and Se
rver
-
based functionality. The D
eskto
p suites have a
viewing/editing/processing program, with a user interface that is somewhat like a combination of Photoshop and
Excel, and allow the viewing, editing, and geoprocessing of information. Correspondingly, the server
-
based suites
carry out all
of the data management and processing on a shared server, and allow the display and user interface to
be loca
ted on a browser. Some of the S
erver
-
based suites have been heavy users of browser
-
side plug
-
ins for
graphics rendering, such as those based on Fl
ash and other formats, as well as heavy use of Ajax in recent
versions.


The leading firm in the GIS suite space is ESRI, based in Redlands, California, which has been in business since
1969. They serve a large number of government, research, and policy
-
m
aking organizations. The firm is privately
held, and current
ly

has about 2,000 employees with worldwide offices.


Page
2

of
16

The secondary players are a range of smaller software companies, some of which produce add
-
ons to ESRI
products, along with two newer players
: Google and Microsoft. Both of them have begun to realize the value of
geographic information in recent years.


Other players are Intergraph/Geomedia. Another possible company to participate in the market would be
AutoDesk, but they seem to have focused

on Construction/Engineering rather than GIS.


There has also been a trend toward development of open
-
source products and formats.

Th
ese include MapServer,
GRASS, and GeoServer.


Reinforcing the open
-
source development are open standards bodies, which are

seeking to provide common
formats and definitions for maps, shapes, and documents such that the expanding set of players in the space don’t
create a multitude of incompatible formats.


Another trend has been the development “Enterprise GIS” in which the G
IS database plays as central a role as the
database within ERP system. For instance, Oracle has added spatial management extensions to their database.
Thus, you could be storing sales records and geography information records in one system, for easy anal
ysis of
sales territories.

Many companies are starting to view GIS content as a corporate

asset that is used across the
enterprise. Not surprisingly, the enterprise GIS systems have facilities for security, backup, transactions and
reporting that are typ
ical of enterprise business systems.

Resources for GIS in General

“GIS Fundamentals, a First Text on Geographic Information Systems, 3rd Edition”, by Paul Bolstad. Eider Press,
2008, 620 pages. Second edition was $70. This recent update of an important
reference book brings the material
up to date with latest releases in open
-
source, recent trends in GIS, and new applications including homeland
security.


“GIS: A C
omputing
P
erspective: Second Edition”, by Michael Worboys and Matt Duckham. CRC Press, 200
4
,
413 pages. Rated 5

stars on Ama
zon.com.

Contains

chapters on fundamental database concepts, fundamental
spatial

concepts, models of geospatial information, representation and uncertainty, structures and access methods,
architecture, interfaces, specia
l reasoning and uncertainty, and time.


“Fundamentals of Geographic
Information S
ystems: Second Edition”, by
Michael N
.

Demers.


Wiley, 2003, 636
pages. Prior edition rated 3.5

stars on Amazon.com.

Has chapters on spatial models, spatial analysis, GIS da
ta
models, input and editing, measurement, classification, statistical surfaces, spatial arrangement, cartographic
modeling, output from analysis, and GIS design.


“Emerging Spatial Information Systems and Applications” by Brian Hilton. IDEA Group Publi
sh
ing, 2007, 388
pages. List price $94.95. Not rated

on Amazon.com.


“GIS for Everyone”,
by David E. Davis
.

ESRI Press,

196 pages.

List price $19.95, Amazon price $12.27, used
from $4.00. Rated 4 stars on Amazon.

This provided

a good overview, but it i
s focused on ESRI products. Got
good reviews as an introduction, but less favorable ones from those who already knew something about GIS.

Fundamental Spatial Concepts

Reviewing basic geometry, the important concepts are points, polygons, distances, relati
ons, and some of
topological aspects of networks and paths. In some cases we deal with fractal geometry.

Models of Geospatial information

These include field
-
based models, which organize the 2
-
D space into a series of layers, each of which are a raster
of

cells, with an attribute value given at each cell.


Object
-
based models, by contrast, deal with the 2
-
D or 3
-
D properties of each distinct object, such as a hill, a lake,
a road, or a house. These are described by a series of point values. There can al
so be composition of the objects
Page
3

of
16

(collecting several related objects, and treating them as a group), or inheritance of the objects (a set of objects
inheriting characteristics of the base object, with overrides).

Representation and
Uncertainty

Here the boo
ks discuss representation such as grids, trees, and tessellated and non
-
tessellated representations.


For instance, o
ne of the representations is a q
uad
-
tree in the computer science sense.

These representations can be
transformed and broken down.


Another

important difference is vector representation vs grid representation.

Spatial Reasoning

This portion deals with how to determine if two regions or objects
intersect, or how far apart they

are.

Other
examples would be combinations of reasoning statements,

such as “River Exe passes through countries A, B, and
D. River W passes through country B. City G is a city in country B. River Exe connects G and H”.


The facilities within a GIS database can support these types spatial logic in the same way that a DB
MS supports a
SQL statement regarding fields and tables. The GIS system can support other logic that is conditional or
calculated.


Some GIS systems have support for uncertainty, such as probabilistic classification.

Advanced Forms of Spatial Reasoning

So
me of the most advanced functions that we have seen are in the area of hydrology models. These include
calculation of watershed by finding all points that flow into a given location, where the flows are calculated by
slope values derived from elevation da
ta.


There are also functions in ESRI’s spatial analyst for FlowLength and FlowAccumulation, which
can be useful to
determine the impact of pollution on a watershed.

GIS Architecture

Different GIS architectures differ in their degree of integration between

the geographic and non
-
geographic
elements of information
.

Geographic Data and Its sources

The government is the provider of most information
.


Within the ESRI products, there are standard formats for:



Shapefiles


vector data files



Coverages


vector dat
a files



Geodatabases


newest spatial data format
, as these support a spatial query language
. Personal
geodatabases are based on Microsoft Jet technology (Access)



Layers


contain symbols and how data is to be displayed



Images


like GIF, JPG



Tables


sta
ndalone tables like spreadsheets



Grids


raster format of cells and attributes



CA
D Drawings


this is somewhat external to the system

ESRI’s products

ArcGIS is the
latest

incarnation of the ESRI products.

Release 9.1 was in 2002, 9.2 was in 2004, and 9.3
was in
2007. Stanford is running 9.2
.

Page
4

of
16


There are two primary parts
:

ArcMap and ArcCatalog
, along with the ArcToolbox
. The capabilities are as
follows:



Both: dataset viewing



ArcMap:

editing



ArcCatalog:

fetching and content
management

from a database o
r filesystem


The list price for ArcGIS is about $15,000


ArcView is a lower
-
end system. Users holding an ArcView license will find that the toolbox contains mostly
common analysis tasks,
conversion

of data formats, and map projections. This is about 30
functions.

The price
starts at $1,500.

It is also possible to incrementally add features from the $1,500 price up to the larger suite.


Another way to look at it is that there are

three license levels:



Arc
View:

mapping and simple
editing



Arc
Edit
or:

t
his is Arc
View plus geodatabase schema management, transactions, and versioning.



ArcInfo:

this is Arc
View plus ArcEditor, plus full geoprocessing analysis tools.


The geoprocessing
environment

includes the model builder.




Recently, ESRI has announced p
artnerships with Microsoft.


ESRI

also

offers ArcGlobe, which
is a v
i
ewer like G
oogleEarth viewer, and ArcView, which is a view
-
only
frontend to ArcGIS.


Page
5

of
16


Resources

on ESRI Products

“Getting to Know ArcGIS D
esktop”
by
Tim Ormbsy et al.

ESRI Press,
June 2
004
, 572 pages. List price
$59.95,
Am
azon price $43.52, used from $18.5
0.

Rated 4 stars on Amazon. This is

for

version 9.2
.

This book provides a
tour of the ArcGIS integrated development environments for ArcMap and ArcCatalog, and it does a good job of

it.
It's definitely intended for absolute newcomers to ArcGIS software

--

it walks you through step
-
by
-
step exercises
to explore man
y of the software's features.
The step
-
by
-
step exercises are carefully written and extremely
detailed
--

almost too detaile
d.

New vers
ion coming out in December 2008 for version

9.3
, but
is
not yet released.
That will be $79.95.


“GIS Tutorial Updated for
ArcGIS

9.2
: workbook for ArcView 9

by
Wilpen Gorr

and Kristen Kurland. ESRI
Press, July 2007. 354 pages. Rated 4.5 s
tars on Amazon.com. Provides an organized tutorial for ArcGIS, with a
large set of exercises. It provides basically the same information as the “Getting to Know” series, so
I

don’t know
which one to prefer. Comments on Amazon indicated that the book gav
e you everything needed for real projects.



GIS
T
utorial

for H
o
meland Security” by
Susan Li
n
de
l
l Radke and Eddie
Hanebuth. ESRI Press, August 2008,
423 pages. List price $79.95, Amazon price $55.97, used from $39.95.

No reviews on Amazon yet.
I

read

this in
the bookstore, and it provided about half as much detail on using GIS as the above books, but a lot of less
-
useful
material about planning homeland security strategy and defenses. However, it did show the role that GIS plays in
homeland security.

Tutorial on

ArcGIS 9.2

Desktop Suite

These notes are based on the book “Getting to Know ArcDesktop”.


Over in Bra
nner library
, I

started by running
ArcMap
, which

is the primary application in ArcGIS for creating and
interacting with maps.

Map Display Oper
ations

Basically similar to

Photoshop
, with various

type
s

of layers, including shapes, metadata, etc.

Page
6

of
16

Editing Operations

On the map,
you to annot
at
e and draw shapes
, which are polygons, and define attributes for them.


To create a new feature in ArcMap, yo
u create an edit sketch. A
sketch

is composed of vertices (the points at
which the sketch changes direction such as corners) and segments (the lines that connect the vertices). You create
a sketch using the sketch construction to
ols located on the tool p
alette as shown below.



When finished drawing a sketch, right click and select “Finish Sketch”.


When finished editing, use the pull
-
down in the upper left and select “Stop Editing”. You will be asked to about
saving changes.


Tabular data sets can be d
efined and edited in a spreadsheet
-
like fashion.

There is a similar sequence of carrying
out a “Start Editing”, and “Stop Editing” sequence of commands.

Using the ArcCatalog

The ArcCatalog supports storage and sharing of map information and geoprocessing
results.

Geoprocesing Toolbox

Allow you to run and manage

the results of running a set of tools.


Allow you to combine tools into
models
, which are described by a set of visual building blocks like in a dataflow
diagram.


You can also

define new tools usin
g Python
.

ArcGIS 9.2/9.3
Server
Suite

The server suite includes three server products: ArcSDE, ArcIMS, and ArcGIS Server.

However, there is no
instance of this running at Stanford that
I

could try out.


ArcSDE (Spatial Database Engine) is the GIS gateway

to relational databases.


ArcIMS (Internet Map Server) is for web publishing of GIS maps, data, and metadata in a web portal.


ArcGIS Server is an application server
like JBoss. It has an API
, and it consists of a GIS server and a Web
Application Develop
ment Framework (ADF) for .NET and Java.


The presentation can be in ArcReader, or in a web browser.


There is a free download of ArcReader from the ESRI web site.


Page
7

of
16

The primary resource for this software is the “ArcGIS Server Adm
inistrator and Developer Gui
de”, which is a
rather specialized book, but it gives the admin information, and it also provides an overview of the different API’s
that developers can program to.

One of the API’s is Java
-
based.

Open Source GIS

Open Source GIS has developed rapidly in t
he last 8
-
10 years, and now has standards bodies, software with an
active and stable development community, and
software versions updated every 6
-
12 months. Some of the
platforms are based on open source platforms such as J2EE.


The leading progra
ms are G
RASS

(the oldest)
, MapServer,
GeoServer,
and Quantum

GIS


Common data sources include Geode.


The
Open Source Geospatial Foundation

(
OSGeo
), is a non
-
profit NGO whose mission is to support and
promote the collaborative development of open
geospatial

techno
logies

and data.

The foundation was formed in
February 2006 to provide financial, organizational and legal support to the broader
Free

and
Open S
ource

geospatial community.

It will also serve as an independent legal entity to which community members can
contribute code, funding and other resources, secure in the knowledge that their contributions will be maintained
for public benefit.


OSGeo draws governance inspiration from several aspects of the
Apache Foundation
, including a membership
composed of indi
viduals drawn from foundation projects who are selected for membership status based on their
active contribution to foundation projects and governance.


The projects within OSGeo are:


Geospatial Libraries:



FDO




GDAL/OGR




GeoTools




GEOS




MetaCRS

Desktop Applications:



GRASS GIS




OSSIM




Quantum GIS




gvSIG


Web Mapping:



Mapbender




MapGuide Open Source




MapServer




OpenLayers




deegree


Metadata Catalog:



GeoNetwork opensource


Retired Projects:



Community MapBuilder



The Open Geospatial Consortium, Inc.® (OGC) (
http://www.opengeospatial.org/
) is a non
-
profit, international,
voluntary consensus standards organization that is leading the development of standards for geospatial and
location based services.


On J
anuary 7, 2009
-

I
n Valencia, Spain, at the December Technical Committee meetings of the Open Geospatial
Consortium, Inc. (OGC), the OGC and the Open Source Geospatial Foundation (OSGeo) signed a Memorandum
Page
8

of
16

of Understanding to coordinate in advancing open geospatial standar
ds (OGC's mission) and open source
geospatial software and data (OSGeo's mission).


The OGC is similar to RosettaNet in e
-
commerce: they have a set of standard
-
creating board
s
, and a set of
compliance tests, and they exist as a neutral third
-
party for GIS
standards.


Another place to review is
http://www.gisdevelopment.net/

Resources for Open Source Products

“Desktop GIS: Mapping the Planet with Open Source Tools” by Gary Sherman. Pragmatic
Bookshelf
,
October
2008
. List price $34.95, Amazon price $23.07,
used from $20.02.

Rated 5 stars on Amazon from 2 reviews.


Open source GIS software, while widely available, is not well known or used outside of a relatively small circle of
power users. Getting up to speed on open source GIS applications used to require

a tremendous time investment
reading documentation, and asking questions on mailing lists or IRC. This time investment was a series limiting
factor for many potential users

of open source GIS software.
"Desktop GIS" fills this long
-
standing gap in the
fo
rm of example
-
based and task
-
oriented documentation.


“Open Source GIS:


A GRASS GIS Approach
, Third Edition

by Markus Neteler and Helena Mitasova. Springer
-
Verlang,
November
2007, 406 pages. List price $99.99, Amazon price $79.00, used from $74.00
. Ra
ted 4

stars
on Amazon.com.

Based on GRASS 6.x. Good introduction, and is a major rewrite of editions published for
earlier versions of GRASS.

This is probably the best third
-
party reference manual, and augments the online
material provided with GRASS.


“Beginning MapServer
: Open Source GIS Development

, by Bill Krop
la.

APress,
August

20
05, 448

pages. List
price $44.99, Amazon price $3
0.24, used from $25.72. Rated 4

stars on Amazon.com
, from 4 reviews
. One of the
few third
-
party books on MapServer, an
d written in a clear way. Focused on deployments using Unix/Lunix, and
uses PostGresQL instead of MySQL. Contains installation information and usage information.

Probably

a little
out of date, since it is from 2005.



The KML Handbook


by Josie Wernecke
. Addison
-
Wesley Professional, November 2008. List price $39.95,
Amazon price $31.44, used from $21.88.

Rated 4.5 stars on Amazon, from 3 reviews. This is a step by step guide
to writing and using KML programming language to produce enhanced graphics a
s overlays onto web based
mapping programs such as Google Earth.

But since KML is an open standard it can be used with almost any
geographic program that supports it (such as Microsoft Virtual Earth, ArcGIS, EarthBrowser, etc.).

GRASS

GRASS GIS

(Geographi
c

Resources Analysis Support System) is a
free
,
open source

geographical information
system

(GIS) capable of handling
raster
,
topological

vector
,
image processing
, and
graphic

data.


GRASS
has been under continuous development since 1982 and has involved a large number of federal US
agencies, universities, and private companies.

The core components of GRASS a
nd the management of
integration of efforts into GRASS releases was originally directed by the U.S. Army
-

Construction Engineering
Research Laboratory (USA
-
CERL), a branch of the
U.S. Army Corps of Engineers
, in
Champaign, Illinois
.

USA
-
CERL completed its last release of GRASS as version 4.1 in 1992, and provid
ed five updates and patches to this
release through 1995. USA
-
CERL also wrote the core components of the GRASS 5.0 floating point version.


The development of GRASS was begun by the USA
-
CERL to meet the need of the United States military for
software for
land management

and
environmental planning
.

A key motivation was the
National Environmental
Policy Act
.

The development platform was
UNIX

running on
VAX

hardware. During 1982 through 1995, USA
-
CERL led the development of GRASS, with the involvement of numerous others, including universities and other
federal agencies. USA
-
CERL officially ceased its in
volvement in GRASS after release 4.1 (1995), though
development had been limited to minor patches since 1993.

A group formed at
Baylor University

to take over the
softwa
re, releasing GRASS 4.2. Around this period, a port of the software to
Linux

was made. In 1998,
Markus
Neteler
, the current project leader, announced the release of GRASS 4.2.1, which offered major improvements
Page
9

of
16

including a new
graphical user interface
.

In October 1999, the license of the originally public
-
domain GRASS
software was changed to the GNU GPL in version 5.0.
[1]


Su
bsequently, GRASS has evolved into a powerful software suite with a wide range of applications in many
different areas of
scientific research
.

GRASS is currently use
d in academic and commercial settings around the
world, as well as many governmental agencies including
NASA
,
NOAA
,
USDA
,
DLR
,
CSIRO
, the
National Park
Service
, the
U.S. Census
Bureau
,
USGS
, and many
environmental consulting

companies.


GRASS development is split into a s
table branch (6.2) and a development branch (6.3). The stable branch is
recommended for most users, while the 6.3 branch operates as a testbed for new features.


The
latest

version
within 6.3 is
6.3.0,

released
28 April

2008.

Specifications and Requirement
s

GRASS is organized as a server program and a client program. The client program can be accessed using X
-
Windows.


GRASS is written in C and is designed to run on a Unix system, though the most recent releases also include
support for Windows.

Data Model

A LOCATION is some geographic extent of interest that contains data sets that [should] all be in the same
coordinate system. Every location has a PERMANENT directory which stores some basic information about the
whole location, and is a good place to park

base files. You can think of a location as a data library for a region of
interest.


In a MAPSET you can organize GIS maps thematically or geographically or by project or whatever. Every
GRASS session runs under the name of a MAPSET. A MAPSET may be a ge
ographical subset or as large as the
parent LOCATION. Technically they are subdirectories under any location. In a networked environment with
several users working within the same location, mapsets play a special role. Users may only select (and thus
modif
y) a mapset that they own (i.e., have created). However, data in all mapsets for a given location can be read
by anyone (unless prevented by UNIX file permissions). The "PERMANENT" mapset usually contains the read
-
only base maps like the elevation model, w
hile the other locations are readable and writable by their owners. The
"PERMANENT" mapset also contains some information about the location itself that is not found in other mapsets
(projection info etc.), thus it must exist in every location.


Putting L
OCATIONs on a central server, a team can work inside this project database (usually NFS is used).

Development Implications

Moving from ArcGIS to GRASS would involve revising a number of parts of the models. While the organization
of the
Python

code might

be kept, the largest changes would be in the calls

to the SpatialAnalyst routines, because
the GRASS versions are organized differently.


The result would be a system that is still Desktop
-
oriented, rather than taking on as many aspects of web
-
based
servi
ces.


A benefit for moving

from ArcGIS to
GRASS

is that it

leverages the GRASS development community.


A secondary benefit is that is the C language is one of the most
-
known in the development community, although it
takes longer to develop

in C than in Jav
a or in
Python

because it is typically lower
-
level.

Page
10

of
16

MapServer

MapServer
is an Open Source platform for publishing spatial data and interactive mapping applications to the web
.

It is fast, flexibl
e, reliable and can be integra
ted into just about any GIS en
vironment.

Originally developed at the
University of Minnesota, MapServer is now

maintained by developers around the world.


MapServer runs on all major operating systems and will work with almost any web server.

MapServer features
MapScript, a powerful
scripting environment that supports many popular languages including PHP, Python, Perl,
C# and Java.

Using MapScript makes it fast and easy to build complex geospatial web applications.


The web site is at
http://mapserver.org/

and the current version is
5.2.1, released 12/08/2008.

Specifications and Requirements

The diagram below shows the a
natomy of a MapServer application


MapServer runs on Linux, Windows, Mac OS X, Solaris, and more. To compile or install some of the required
programs, you may need ad
ministrative rights to the machine. People commonly ask questions about minimum
hardware specifications for MapServer applications, but the answers are really specific to the individual
application. For development and learning purposes, a very minimal mac
hine will work fine. For deployment, you
will want to investigate
Optimization

of everything from your data to server configuration.


You need a working and properly configured HTTP (Web) server, such as
Apache

or M
icrosoft Internet
Information Server, on the machine on which you are installing MapServer. OSGeo4W contains Apache already,
Page
11

of
16

but you can reconfigure things to use IIS if you need to. Alternatively,
MS
4W

can be used to install MapServer on
Windows.


Clearly, the key to geoprocessing is the box called MapScript Application. However, the capabilities of MapScript
are limited to controlling how the map is displayed, rather than carrying out advanced calc
ulations such as Spatial
Re
a
soning.

Development Implications

MapServer is a great presentation tool
, is part of the open
-
source community and sponsored by an OSG project. I
t
is web server based, however, it has a limited model for geoprocessing and extens
ibility
, as it is more focused on
publishing
.

This makes it less powerful than the needs of the current project.

GeoS
erver

GeoServer is a J2EE based server framework, using several parts of the J2EE world, such as Spring, combined
with Java application se
rver technology, and geographic processing using the GeoTools open
-
source library.


GeoServer

is a
n

open source software server written in Java that allows users to share and edit geospatial data.
Designed for interoperability, it publishes data from any m
ajor spatial data source using open standards.


Being a community
-
driven project, GeoServer is developed, tested, and supported by a diverse group of
individuals and organizations from around the world.


GeoServer is the reference implementation of the Ope
n Geospatial Consortium (OGC) Web Feature Service
(WFS) and Web Coverage Service (WCS) standards, as well as a high performance certified compliant Web Map
Service (WMS).

GeoServer forms a core component of the Geospatial Web.


The web site is at
http://g
eoserver.org/display/GEOS/Welcome
. The current version is 1.7.1 released 12/09/08
.

Specifications and Requirements

GeoServer is a J2EE application that can process WFS and WMS files

and draw maps
. It enables you to write
applications using Java, and the
Struts framework.


GeoS
erver comes with J
etty as a servlet runner/container
, but it can also run with Tomcat

or JBoss
.

Page
12

of
16

Architecture



After completing the installation, the initial screen looks like:


Development I
mplications

Moving from ArcGIS to GeoSer
ver would involve obtaining or writing a Java version of the specialized Spatial
Analyst calls, such as the hydrology models.

The leading candidate for this is a package called JGrass, which in
turn contains some C code for hydrology.


While the organizat
ion
of the P
ython code might be kept, the code would need to be changed to Java.


The primary benefit of GeoServer would be the support that is provided for web
-
based delivery, as a software as a
service model. It provides a major step toward open
-
source
web
-
based applications and analytics.


A secondary benefit of GeoServer is that it is
architected

as a more open and component
-
based system than nearly
any other. It uses standard Java web application server technology, and Spring is known to be a very us
eful
system for components.

Page
13

of
16


A third benefit is that the Java language for implantation is probably the best
-
known open
-
source language in the
developer community.

GeoVISTA Studio

GeoVISTA
Studio

is an open software development environment designed for geo
spatial data.
Studio

is a
programming
-
free environment that allows users to quickly build applications for geocomputation and geographic
visualization.


This is open source
software
,
developed

at Penn

State. The current version is 1.2, released on 12/07
.


Studio Includes Interactive Query Devices for Exploratory GeoVisualization, 3D Render for complex and
sophisticated 3D graphics, 2D mapping and statistical tools.


Studio provides a

1.

Visual Programming
-
Free Environment

for rapid development.

2.

Component
-
Ori
ented Programming
: uses JavaBeans as programming components. Any JavaBeans
(developed by 3rd parties) can be plugged in!

3.

Recursive Development

turns a developed application into a JavaBean component. Developed
components (applications) are
reusable

(scalab
le), and developed components can be shared by other
Studio users and/or java programmers.


GeoVISTA studio is used in geography classes, environmental engineering classes, and software engineering
classes.

Development Implications

GeoVISTA Studio is an ex
ample of what can be done by writing a wrapper around the GeoTools library.

GeoTools

GeoTools

is an open source (LGPL) Java code library which provides standards compliant methods for the
manipulation of geospatial data, for example to implement
Geographic Information Systems (GIS)
. The
GeoTools

library implements
Open Geospatial Consortium

(OGC)
specifications

as

they are developed, in
close collaboration with the
GeoAPI

project. The capabilities of GeoTools are presented in the
feature list
.


Geotools

is used by a number of projects including Web Feature Servers, Web Map Servers, and desktop
applications.


The current version is 2.5.2, released 12/8/08.

Features

**Specifications and Interfaces

Geotools implements
Open Geospatial Consortium
(OGC)
specifications

as they are developed.

Geotools is associated with the
GeoAPI

project that is creating interfac
es for Java GIS projects. Many of these
interfaces are implemented in geotools with more implementations planned.


**Data Formats

Data is the life blood of any GIS project, so geotools tries to support as many data formats as possible.

The DataStore inter
face is used to access vector data.


Grid coverage (raster) data formats are accessed with the GridCoverageExchange interface.


**DataStore

Data formats supported are:

Page
14

of
16



Shapefile
-

an ESRI shapefile (R/W)



GML

-

Geography Markup Language (R)



WFS

-

Features from an OGC Web Feature Server (RW)



PostGIS
-

geometric objects for
PostgreSQL

(R)



Oracle Spatial
-

Oracle's extension for spatial data (R)



ArcSDE
-

ESRI's middleware for spatial databases (R)



MySQL

-

support for the new
geometry types




GeoMedia
-

an Intergraph format (R)



Tiger
-

Topologically Integrated Geographic Encoding and Referencing developed at the US Census
Bureau (R)



VPF

-

Vector Product Format, a data interchange format (R) (
work in progress
)



MapInfo

-

MIF (Mapinfo Interchange Format) (RW) (
work in progress
)


GridCoverageExchange

The following data form
ats are supported:



ArcGrid
-

ArcInfo ASCII Grid format

and
GRASS ASCII Grid format

(optionally compressed) (R/W)



Image
-

can load
[images ]

georeferenced with a
world file
(R/W)



GeoTIFF
-

a georeferenced tiff image (R) (
work in progress
)



WMS
-

OGC Web Mapping Server client (R) (
work in progress
)


**Features and Geometries

Features are used to represent basic geographic elements in a vector system. These are composed of both
geometries and

attributes.


Java Topology Suite

(JTS) is used as the current geometry model. This library is an implementation of the Simple
Features Specification for SQL,
http://www.opengis.org/docs/99
-
049.pdf
. It also provides in memory spatial
indexing support and
robust

topologic operations, though they are not used much at present in the codebase.


**Grid coverages

A grid coverage provides support f
or the raster data format, that is, a georeferenced grid of numbers that can be
used to represent data ranging from satellite images, to digital elevation models, noise distribution and so on. See
also the OpenGIS specification about grid coverages,
http://www.opengis.org/docs/01
-
004.pdf
.


Grid coverages are based on the
JAI

library which provides support for data management, presentation, imag
e data
format access, tiling support, a framework for raster data processing with lots of predefined operators.


** Coordinate Transformation

The cts
-
coordtrans (CTS) module implements a subset of the OGC's Coordinate Transformation Services
specificatio
n,
http://www.opengis.org/docs/01
-
009.pdf
. It provides an implementation for general positioning,
coordinate reference systems, and coordinate transformations.


Types of transformations provided inclu
de datum shifts, map projections (Mercator, Transverse Mercator, Lambert
Conformal Conic, Albers Equal Area Conic, Stereographic, Orthographic) and others.


**
Renderers

Geotools has two renderer implementations:



LiteRenderer
-

a 'stateless' renderer, part
icularly useful in server
-
side environments. Main features: code
simplicity and low memory footprint, but it's faster than J2D only for the first map rendering.



J2D
-

a 'stateful' renderer with optimizations for update rate, good for interactive client
-
si
de displays. It's
way more complex but supports on the fly coordinate reprojection, fast update by intelligent data
decimation and memory caching.

**
Styling

Page
15

of
16

Allows for symbolizing (colour, line thickness, opacity, etc.) of datasets. This is closely model
ed on, and fully
supporting, the OpenGIS Styled Layer Descriptor specification,
http://www.opengis.org/docs/02
-
070.pdf
. These
can be stored as XML documents.


**
Filter Encodings

Filters provide a way
to specify a subset of features to operate on. This supports both attribute and spatial
constraints and a method of storing these as XML documents.


This is an implementation of the Filter Encoding specification,
http://www.opengis.org/docs/02
-
059.pdf

Development Implications

GeoTools is a very useful library of functions. In the same way that J2EE projects build on libraries for database
access and web
-
based presentation, GeoTools is a library for ge
ographic data fetch, conversion, and presentation.


Developers should be considering this package and tracking its evolution.

Quantum GIS

Quantum GIS (QGIS) is a user friendly Open Source Geographic Information System (
GIS
) that runs on Linux,
Unix, Mac OS
X, and Windows. QGIS supports vector, raster, and database formats. QGIS is licensed under the
GNU General Public License. QGIS lets you
browse

and create map data on your computer. It supports many
common spatial data formats (e.g. ESRI ShapeFile, geo
tiff).

QGIS supports plugins to do things like
display
tracks

from your GPS. QGIS is Open Source software and is free of cost
.


It can also be used as a front
-
end to GRASS.


The web site is at
http://www.qgis.org/
, a
nd the current
version

is 0.11.0.

Version 1.0.0 is about to be released.

Development Implications

This is primarily a presentation front
-
end, and has very little in the way of support for geoprocessing. That is left
up to some other module in a system.
Since geoprocessing is critical for the proposed effort, Quantum GIS is not
supplying enough to be the whole solution.

Kepler

This isn’t specifically GIS software, but InVEST team members mentioned it, as it is a very open system, hence
allowing researches

from a number of disciplines to contribute.


Kepler

is a
free software

project written in
Lua

that provides a portable, extensible
website

development platform.
Current stable release is Kepler 1.1, for Lua 5.1.

Kepler works on
Windows

and most variants of
Unix
.


Kepler is an open source platform that brings the power of
Lua

to web development.

There are a number of great
Web development platforms out
there but none balances portability, size, power and extensibility quite like Kepler
does:




Being extremely portable and light means that it can be installed in very constrained devices as much as
in providers that limit the amount of RAM and processing ti
me for your scripts.



If you ever heard of the customization features of games such as
World of Warcraft
, think about all that
power applied to web scripting.



Being extensible means both that we can extend the
platform by adding new modules and that the users
of the applications that you build can extend those applications using Lua.


Kepler was created by Fábrica Digital and PUC
-
Rio and is continuously being improved by a core team of
committers

(see
Dev Team
) and lots of contributors (see
Credits
).


Page
16

of
16

The first requirement implies not only portability but also integration with various Web servers using differe
nt
APIs (CGI, FastCGI etc), so Kepler offers a single connection point with the Web server called a launcher.


A launcher is a C module that interacts with the underlying Web server using some API and exports a common
interface called
SAPI
. SAPI is a set of Lua functions that allow Lua modules to communicate with the Web
servers without having to know any of their specificities.

A typical example of such a Lua module would be
CGILua
.

CGILua uses a traditional page based model and
generates content using SAPI as the low level API.


The software is available for download at
http://luaforge.ne
t/frs/?group_id=104&release_id=1101
.


The current version 1.1, released in June 2008.

Implementation

Lua is a programming language that offers a very impressive set of features while keeping everything fast, small
and portable.

The Kepler Platform uses t
hese features to offer a faster, smaller and more portable way to develop
Web applications.


Lua has a very efficient implementation.

Independent benchmarks such as the Gentoo: Intel® Pentium® 4
Computer Language Shootout

place Lua as faster when compared to Python, Perl, PHP and Ruby.


If you want to find out more about Lua you can go to the official
Lua site

or the
Lua Wi
ki
.

For a general overview
of the language characteristics you can check the
About Lua

page.


The Lua community is constantly contributing new modules, many of which can be found on
LuaForge
.

Development Implications

Kepler is an interesting choice because of its open structure
, and workflows
. However, there is no specific support
for Geographic standards and for geoprocessing.


Further, while Lua is a
n

efficient open
-
sou
rce language, the number of developers/researchers familiar
with it is
far less than Java, P
ython,
or C.

GIS Data Standards

This section of our development notes will be extended to track the current and emerging standards in GIS data.


Resources:

“World

Spatial Metadata Standards”, by Harold Moellering, editor. ICA/ACI Press, 2005.

List price $205. Not
rated

on Amazon.com.


A variety of standards exist, for representation data at the raster and object level. Some of the object
-
level
descriptions are
using XML.