Automate Your GIS Application: Initiate | Innovate | Automate

Open-Source GIS — Free GIS softwares available

Open-source GIS packages can be provided at no cost but usually more effort is required for the installation and for the development of customized applications related to commercial GIS. Moreover documentation and user support is not enough.
MAPSERVER and GRASS GIS are selected among the existing open-source GIS tools to be presented in the current report as most appropriate for your GIS requirements.
Mapserver is not a complete GIS but has many interesting features for your applications and a relatively good level of documentation and WEB-site support.
Additionally a module for PDA’s has been developed recently in the frame of an IST project.
GRASS is a full-featured open source GIS which can support sophisticated spatial analysis and can be customized for the purposes of your applications.

MAPSERVER

MapServer is an Open Source development environment for building spatially enabled Internet applications. The software builds upon other popular OpenSource or freeware systems like Shapelib, FreeType, Proj.4, libTIFF, Perl and others. MapServer will run where most commercial systems won’t or can’t, on Linux/Apache platforms. MapServer is known to compile on most UNIXes and will run under Windows NT/98/95.
The MapServer system now supports MapScript which allows popular scripting languages such as Perl, Python, Tk/Tcl, Guile and even Java to access the MapServer C API. MapScript provides a rich environment for developing applications that integrate disparate data. If the data has a spatial component and you can get to it via your favourite scripting environment then you can map it. For example, using Perl’s DBI module it is possible to integrate data from just about any database vendor (eg. Oracle, Sybase, MySQL) with traditional GIS data in a single map graphics or web page.

MapServer Features
vector formats supported: ESRI shapefiles, simple embedded features, ESRI ArcSDE (alpha release)
raster formats supported (8-bit only): TIFF/GeoTIFF, GIF, PNG, ERDAS, JPEG and EPPL7
quadtree spatial indexing for shapefiles
fully customizable, template driven output
feature selection by item/value, point, area or another feature.

TrueType font support
support for tiled raster and vector data (display only)
automatic legend and scalebar building
scale dependent feature drawing and application execution
thematic map building using logical or regular expression based classes
feature labelling including label collision mediation
on-the-fly configuration via URLs
on-the-fly projection
MapServer is not a full-featured GIS system, nor does it aspire to be. It does, however, provide enough core functionality to support a wide variety of web applications. Beyond browsing GIS data, MapServer allows you create “geographic image maps”, that is, maps that can direct users to content
For clients, working with more simple equipment like HANDHELD ( Ipaq H360s Windows CE / Pocket PC), a universal and more simple application of Mapserver for Internet viewer supported by HTML was implemented recently by WIRELESSINFO IST 1999-21056 project. (Karel Charvat et al 2002)

GRASS GIS

GRASS GIS (Geographic Resources Analysis Support System) is an open source, free software Geographical Information System (GIS) with raster, topological vector, image processing, and graphics production functionality that operates on various platforms through a graphical user interface and shell in X-Windows. It is released under GNU General Public License (GPL).

Processor architectures and Operating systems supported by GRASS

Architectures: Intel x86, Motorola PPC, SGI MIPS, Sun SPARC, Alpha AXP, HP PA-RISC, CRAY, others.
Operating systems: Linux/Intel, Linux/PowerPC, Solaris/SPARC, Solaris/i86, SGI IRIX, HP UX, Mac OS X (Darwin), IBM AIX, BSD-Unix variants, FreeBSD, CRAY Unicos, iPAQ/Linux handhelds and other UNIX compliant platforms (32/64bit), additionally Windows NT/Cygnus.
GRASS is written in C with documented C-API and offers a preliminary JAVA interface.

Data formats supported by GRASS
• 2D raster data, 3D raster data (voxels),
ASCII, ARC/GRID, E00, GIF, GMT, TIF, PNG, ERDAS LAN, Vis5D, SURFER (.grd)
Using GDAL library (r.in.gdal) more formats like CEOS (SAR, LANDSAT7 etc.) can be read
topological vector data (2D, currently extended to 3D)
• Vector: ASCII, ARC/INFO ungenerate, ARC/INFO E00, ArcView SHAPE (with topology correction), BIL, DLG (U.S.), DXF, DXF3D, GMT, GPS-ASCII, USGS-DEM, IDRISI, MOSS, MapInfo MIF, TIGER, VRML
• point data (called sites)
Sites (point data lists): XYZ ASCII, dBase
• images
Image (satellite and air-photo): AVHRR, BIL/BSQ, ERDAS LAN, HDF, LANDSAT TM/MSS, NHAP aerial photos, SAR, SPOT, …

Data Management capabilities of GRASS
Spatial analysis
Map generation
Data visualization (2D, 2.5D and 3D) Data generation through modelling
Link to DBMS (PostgreSQL, others via ODBC
Data storage

Grass Programming
As GRASS 5 is released under GNU GPL, the sources are released to public. GRASS provides a sophisticated GIS library which can be used for own developments.

GRASS Features
is a raster/vector GIS, image processing system, and graphics production system.
contains over 350 programs and tools to render maps and images on monitor and paper; manipulate raster, vector, and sites data; process multi spectral image data; and create, manage, and store spatial data. GRASS uses both an intuitive windows interface as well as command line syntax for ease of operations.
can interface with commercial printers, plotters, digitizers, and databases to develop new data as well as manage existing data.
can display and manipulate vector data for roads, streams, boundaries, and other features.
is capable of reading and writing maps and data to many popular proprietary GIS packages including ARC/Info and Idrisi. Users wishing to write their own code can do so by examining existing source code, interfacing with the documented GIS libraries, and using the GRASS Programmers Manual. This allows more sophisticated functionality to be integrated in GRASS.
contains more than 100 multi function raster analysis and manipulation commands. Surface processes such as rainfall runoff modelling, flowline construction (as shown), slope stability analysis, and spatial data analysis are just a few of the many applications of GRASS to engineering and land planning.
Tools in GRASS allow the user to animate any spatial data available with options to switch between data layers on the fly. Data used in 3D visualization may also be saved as still pictures, or as mpeg movie files for later replay and analysis.
GRASS contains a suite of tools to aid in hydrologic modelling and analysis. Currently, tools are also available for performing such functions as watershed analysis, curve number generation, flood analysis, and stream channel characteristics for comprehensive watershed modelling.
Other GRASS programs can generate graphs, statistics, and charts of modelled and calibrated data. Additionally, GRASS can use field data for model input or simulate parameters based on numerical data. In addition to the traditional command line version of GRASS, a user interface, based on Tcl/Tk has been written.

GRASS and network support
GRASS supports work groups through it’s LOCATION/MAPSET concept which can be set up on NFS (Network File System). Keeping LOCATIONs with their underlying MAPSETs on a central server, a team can simultaneously work in the same project database.
LOCATIONs and MAPSETs
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 geographical 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 modify) 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, while 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 LOCATIONs on a central server, a team can work inside this project database (usually NFS is used).

  • How do we need UNIX file permissions? Please explain.

You can follow any responses to this entry through the RSS 2.0 feed.