Download TerraLib: Open Source Tools for GIS Application Development

Document related concepts

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Functional Database Model wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Database model wikipedia , lookup

Transcript
TerraLib: Open Source
Tools for GIS Application
Development
Gilberto Câmara
INPE – Brasil
www.terralib.org
International Course on Geographic Information Technologies
The issue

“Developing countries and their donor partners should
review policies for procurement of computer software,
with a view to ensuring that options for using low-cost
and/or open-source software products are properly
considered and their costs and benefits carefully
evaluated” (UK IPR report, 2002)

Yes, but…



We need much more than Linux!
Who will develop the open source software we need?
Can it be done in developing countries?
The discussion today

The nature of open source software


Spatial information technology


The need for open source GIS and Remote Sensing software
Developing an open source GIS in Brazil



A realistic model for OS projects
20 years of institutional, nation-wide efforts
Technology as social construction
Some lessons learned

How can we do OS software in the South?
Some questions










What is open source software?
How is open source software built?
What is an open source GIS?
Why build a custom GIS instead of using a ready-made one?
How does a distributed/entreprise GIS work?
How are spatial data structures stored in an object-relational DBMS?
Why do we need to do this?
Are there certain paradigms for GIS libraries that are general
enough not be vendor-specific?
How much effort is involved in building a custom-made GIS?
How does one design a GIS library to be extensible?
How does one design a GIS to include space-time models?
What is Open Source Software?

Open source software



OSS is software whose source code is available and can be
used, copied and distributed with or without change
OSS can be charged, but not hidden
Examples of OSS


Linux, Apache, Open Office, PERL
2/3 of web servers use Apache
Linux and Scalability
General Advantages of Open Source Software

Greater social benefit



Independence from proprietary technology
Longer hardware life



Avoiding the “software bloat”
Possibility of building custom application and
redistribution of them


User-oriented products
Otimization of available competence
Reconfigurable systems and applications (in general)
Distribution and testing of new ideas and new
conceptions
What Open Source Hopes to Achieve

When an OSS project reaches a “critical size” we obtain:

Robustness and security:


many programmers have access to the source code, so this
increases the capacity to detect errors
Distributed support

Many companies provide support for OSS
Open Source Software Licences

Copyrights


Before making OSS available, the authors choose the degree of
freedom they allow to modification and distruibution of the software.
Some OSS licences

GNU Public License (GPL - “copyleft”): any modification of GPL-ed
software should also be GPL


BSD (Berkeley): few restrictions on use, modifications and redistribution
of derived works.


O software pode ser vendido e não há obrigações quanto a inclusão do
código fonte, podendo o mesmo ser incluído em software proprietário.
GNU Library License (LGPL)



Forbids that OSS be included in proprietary software.
OSS can be included in proprietary software.
Final product must have the OSS portion freely available
More OSS licenses in www.opensource.org
How is open source software built?

Idealized view of OS community



Network of committed individuals (“peer production”)
Based on a limited number of examples
Reality of software projects




Problem granularity
Conceptual design
Degree of innovation
Social context of technology
Naïve view of open source projects

Software



Development network


Large number of developers, single repository
Open source products


Product of an individual or small group (peer-pressure)
Based on a “kernel” with “plausible promise”
View as complex, innovative systems (Linux)
Incentives to participate


Operate at an individual level (“self-esteem”)
Wild-west libertarian (“John Waynes of the modern era”)
Idealized model of OS software
Networks of committed individuals
The reality of open source projects

Problem granularity


Effective peer-production requires high granularity (Benkler)
Each type of software induces a breakdown strategy


Conceptual design and Innovation



What works for an operating system will not work for a database!
Most OS software is based on established paradigms (Linux is a
1970’s design)
Design is the hardest part of software (Fred Brooks)
Social context of technology


Software development requires closely-knit teams
Software will do nothing by itself

Complex software requires informed users
Limiting Factors for Open Source

Previous existence of conceptual designs of similar
products (the potential for reverse engineering)

Problem granularity (the potential for distributed
development)
Potential for Reverse Engineering

Post-mature




A private company develops a software product.
Product becomes popular and it becomes part of the “public
commons”.
Others develop a public domain equivalent (e.g.,Open Office)
Standards-led





Standards consolidate a technology
Allow compatible solutions to compete in the marketplace.
SQL database standard (e.g.,mySQL and PostgreSQL).
POSIX standard (guidance to Linux)
OpenGIS specifications (e.g.,Degree, MapServer, GeoServer)
Potential for Distributed Development

Parts of a software product


Operating systems (Linux)



kernel and additional functions that use it (its periphery).
well-defined kernel for process control
periphery consisting of programs such as device drivers,
applications, compilers and network tools.
Database management systems


strong kernel of highly integrated functions (such as the parser,
scheduler, and optimizer)
much smaller periphery.
Potential for Distributed Development

Each type of software product - periphery/kernel ratio


Kernel


a tightly-organized and highly-skilled programming team.
Periphery


constrains the potential for distributed development
More widespread programmers of various skills
Example

Out of more than 400 developers, the top 15 programmers of
the Apache web server contribute 88% of added lines [Mockus,
2002 #2293].
Four Types of Open Source Software

High reverse engineering, high distribution potential

High reverse engineering, low distribution potential

Low reverse engineering, high distribution potential

Low reverse engineering, low distribution potential
Type 1 – High-High

High reverse engineering, high distribution potential:

Archetypical open source projects


Developers



The “Linux” model.
May have a separate job
Time allocated in agreement with their employer.
community-led projects.
Type 2 – High-Low

High reverse engineering, low distribution potential

Large number of projects


Databases, office automation tools, web services.
Large presence of private companies


products similar to market leaders.
reduced risk in reverse engineering.
 main design decisions take place within the institution

Examples



mySQL and PostgreSQL DBMS,
GNOME from Ximian
corporation-led projects.
Type 3 – Low/High

Low reverse engineering, high distribution potential

Stable kernel, innovative periphery



Origin


academic environments
Examples


usually there is no commercial counterpart
share a relatively simple software kernel
GRASS GIS software and the R suite of statistical tools.
academic-led projects
Type 4 – Low/Low

Low reverse engineering, low distribution potential

Innovative kernel, small periphery

Small teams under a public R&D contract



High mortality rate


addressing specific requirements
aiming to demonstrate novel scientific work.
most of them are restricted to the lifetime of a research grant.
innovation-led products.
High-Low
Potential
Rev Eng
High-High
mySQL
Linux
PostgreSQL
OpenOffice
Apache
Postgres
php
NCSA browser
TerraLib
Low-Low
Low-High
Potential
Distrib Develop
Sustainability of Open Source Projects

The Low-Low case



Research community


many scientific areas
not enough market incentives for commercial companies
usually not interested in a direct involvement in long-term open source
projects.
Maintaining and supporting an open source software project

requires considerable resource
 beyond the reach of most university groups.

Taking low-low projects to the marketplace

Migration to high-low or low-high situations
The reality of open source projects

Linux model is not scalable


Key components



Other types of software are less modular
Reverse engineering potential
Modularity
Requirements for success



Long-term investment
Very qualified personnel
Accessible mostly to organizations, not to individuals
Real-life model of OS software
Networks of committed organizations
Geoinformation Technologies:
Promises and Challenges

Earth observation and GIS technologies


Satellite images and Digital Maps


Great successes of advanced information technology
Transformed our understanding of geographical space
Developing nations

Essential for public policies

Deforestation assessment, urban planning, agriculture, ...
Turning Observations into Knowledge
Source: Gassem Asrar (NASA)
Products
Knowledge gap for spatial data

Imbalance of public expenditure

Governments build data-gathering satellites…



….and they hope the market will do the rest


ENVISAT = Us$ 1 billion
EOS (Terra/Aqua) = Us$ 1 billion
Leading remote sensing software product  US$25 M (gross)
The model does not add up!


There is not enough market to cover large R&D expenses
The result is the “knowledge gap”
Knowledge gap for spatial data
source: John McDonald (MDA)
Bridging the Knowledge gap

“Deadlock” situation

Small size of commercial GIS and Remote Sensing market


Improvements on information extraction


Needed for the market to grow
Making use of the deluges of data



Not enough income for large R&D investment
Government-funded software development
Strong integration with scientific community
Open Source GIS projects


Provide innovative ways to use spatio-temporal data
Effective means of advancing environmental applications
Knowledge gap for spatial data: An
Example

Exctracting information from remote sensing imagery


Recipe analogy





Most applications use the “snapshot” paradigm
Take 1 image (“raw”)
“Cook” the image (correction + interpretation)
All “salt” (i.e., ancillary data)
Serve while hot (on a “GIS plate”)
But we have lots of images!


Immense data archives (Terabytes of historical images)
How many image database mining application we have?
MSS – Landsat 2 – Manaus(1977)
TM – Landsat 5 – Manaus (1987)
Spatial information technology

Basis of the technology

Computer representation of spatio-temporal phenomena



Discrete objects (e.g., parcels)
Continuous fields (e.g., topography)
Uses of GIS (geographical information systems)

Commercial applications



Location-based services
Business geographics
Public good applications




Urban cadastral systems
Environmental protection and prediction
Agriculture crop forecasting
Hydrological modeling
Why Spatial Information Engineering?


BIG GIS
Geographic Information Systems are built for





Urban and Regional Planning
Public Utilities
Logistics Companies
These GIS have as a single user a large organization for
which various types of information in adapted formats
are produced.
The systems are large and the sizable cost are paid by
the organization.

Cost-Benefit evaluation is typically difficult.
source: Andrew Frank (TU-Wien)
Why Spatial Information Engineering?

Service providers build GIS to provide information of
value to many users.






For example:
Real estate agent support systems to find suitable new
apartment or home.
Systems for navigation assistance for drivers.
Routing for service vehicles
Hotel locator
The information is produced by the service provider and
consumed by many individuals, not related to the service
provider.
source: Andrew Frank (TU-Wien)
Why Spatial Information Engineering?


Technological change
Current generation of GIS




Built on proprietary architectures
Interface+function+database = “monolythic” system
Geometric data structures = archived outside of the DBMS
New generation of object-relational DBMS



All data will be handled by DBMS
Standardized access methods (e.g. OpenGIS)
Users can develop customized applications
Evolution of Spatial Information
Technology
Global
Data Centre
Institucional
Spatial database
Individual
GIS
Evolution of Spatial Information
Technology
Global
Data Centre
Institucional
Spatial database
Individual
GIS
Spatial database
Different GIS Architectures

Desktop GIS



Single-user
Emphasis in friendly interfaces and analysis functions
Distributed GIS

Multiple users



Data sharing
Emphasis in access and concurrency control
Web services


Using the Internet to disseminate data and services
Emphasis in usability and flexibility
Tools Challenge

Why open-source GIS+IP tools?
“Learning by doing”
 Unresolved need of spatial analysis


Learning by doing
Provides understanding of core aspects of GIS
 Capacity to dissect the “black-boxes”
 Establishing a strategy for continuos innovation

Who Builds Open Source GIS?

Survey of 70 GIS open source projects (freegis.org)

Individual-size projects

the project team consists of 1-3 individuals
 shapelib and Gstat

Collaborative networks

project core team consists of a team of 15+ individuals, geographically
distributed.
 GRASS and R.

Corporation-based:

the project core team is part of an institution.
 PostgreSQL,TerraVision
Who Builds Open Source GIS?
Total
Post-mature
Standards-led
Innovation-led
Individual-based
37 (53%)
12
19
6
Networked Team
4 (6%)
1
1
2
29 (41%)
6
18
5
70
19 (27%)
38 (54%)
13 (19%)
Corporation-based
Maturity and Support of Open Source
GIS
Scale – 1 to 5 where 1 is worst and 5 is best
Maturity
Individual-led
Support
Functionality
2.3
1.7
1.8
3.7
3.7
3.7
3.2
3.1
3.0
Networked team
Corporationbased

Corporative environment


much better suited for long-term software development than an
individual’s perspective
“Critical mass” community-developed software

Best of all (but only 6% of all projects)
What’s the Current Status of Open Source
GIS?

High-Low products




Low-high products



Standards-based
Spatial DBMS: mySQL, PostgreSQL
OpenGIS + Web: MapServer, Degree
Stable kernel, innovation at the periphery
GRASS and R
What about GIScience challenges?

spatio-temporal data models, geographical ontologies, spatial statistics
and spatial econometrics, dynamic modelling and cellular automata,
environmental modelling, neural networks for spatial data
TerraLib: Open source GIS library

Data management


Functions


All of data (spatial + attributes) is in
database
Spatial statistics, Image Processing,
Map Algebra
Innovation

Based on state-of-the-art techniques
 Same timing as similar commercial
products

Web-based co-operative development

http://www.terralib.org
Operational Vision of TerraLib
DBMS
TerraLib
Geographic
Application
Spatial
Operations
API for
Spatial
Operations
Spatial
Operations
Access
Oracle
Spatial
MySQL
Postgre
SQL
TerraLib  MapObjects + ArcSDE + cell spaces + spatio-temporal models
TerraLib applications

Cadastral Mapping


Public Health


Indicators of social exclusion in innercity areas
Land-use change modelling


Spatial statistical tools for
epidemiology and health services
Social Exclusion


Improving urban management of large
Brazilian cities
Spatio-temporal models of
deforestation in Amazonia
Emergency action planning

Oil refineries and pipelines (Petrobras)
Spatial database components

DBMS



Support for blobs (Access)
Support for spatial data types
(ORACLE, PostgreSQL)
Middleware

Function libraries


Interface
Middleware
TerraLib, ArcSDE
Interface


TerraView
SIGMUN, ArcGIS 8.0
DBMS
Geoprocessamento e Políticas Públicas:
Ordenamento Territorial
TerraCrime
TerraCadastre for Santos
150.000 cadastral units on-line + 3 Gb of aerial photos
Palm-top
Exemplos de Produtos Web
Requirements for Spatio-Temporal Models for
Dynamic Modelling

Dealing with Data



Representation of Space



Spaces of places + spaces of networks (anisotropy)
Cells as autonomously evolving entities
Extensibility of Models



Storage and retrieval of large-scale datasets
Inclusion of data from external source
Algorithms should be independent of data structures
Different Models have different rules (CA, Markov chain,
regression)
Dealing with Modellers


Cognitively meaningful interfaces (language?, data-flow?)
Suitable visualization enviroments
TerraLib Structure
Java Interface
COM Interface
OGIS Services
C++ Interface
Functions
kernel
Visualization
Controls
Spatio-Temporal
Data Structures
File and DBMS
Access
I/O Drivers
External
Files
DBMS
Software structure
Kernel
Data Structures
Vector
Raster
DBMS Drivers
Oracle
Oracle Spatial
Topology Ops
PostgreSQL
Data Containers
mySQL
Generic DBMS API
Spatial Reference Systems
Ado
Software Structure
Visualization
View
Algorithms
Simple Statistics
Theme
Spatial Autocorrelation
Data Conversion
OLS Regression
Vector
Kernel Estimator
MapInfo
GWR
ArcView
Regionalization
SPRING
Variogram
Raster
GeoTIFF
JPEG
Kriging
TerraLib Data Model
Data Base
Layer
Static Properties
Attributes
Concrete Classes
Geometries
Polygons
Abstract Concepts
Lines
Cells
Network
Points
Dynamic Properties
Events
Dynamic Models
Requirements for a Good GIS Library

Modularity

Divided into independent components



Database, memory containers, algorithms
Changes in one component should not affect other
Extensibility

Library can be extended with no disruption of existing code


Algorithms do not know about data model
Changes in data model affect database component only
Key Design Decisions

Algorithms are independent of data structures and data containers


Same algorithm will work on a variety of spatial geometries
Visualization control is separate from data retrieval

Same data can be shown in various ways
 Visualization types should be separate from data types

Data model has spatio-temporal data representations

Include provisions for events, dynamic models, changing values
Key concepts in TerraLib

Spatio-Temporal Data Model



How data is organized on spatio-temporal DBMS
Concrete choice (dictated by technological possibilities)
Data containers
Contain organized “chunks” of data
 Layer – set of spatial objects from the same type
 STObjectSet – set of objects resulting from a query


Visualization concepts
View – abstract description of a canvas (contains a set of Themes)
 Theme – graphical presentation of a set of objects of the same type

Modularity in TerraLib

Components of TerraLib are designed to be independent
of each other

“Glues” bind components together



Algoritms and data containers – iterators
Data containers and database API – query processor
Data containers and visualization applications – view, theme
Glues that bind TerraLib together
Spatio-Temporal
Queries
Visualization
(theme)
Algorithms
grouping
Query
parser
iterators
Query
processor
Containers
Database API
Database
TerraLib and OpenGIS

Vector data structures and topological operators


TL follows Open GIS specifications
Vector data storage

TL does not follow OpenGIS
 TL has additional data structures (e.g., cell spaces)
 TL keeps information on visualization and processing status

Simple Feature Query Language (SF-SQL)


Web Services (WMS, WCS, WFS)


TL will fully support OpenGIS specifications
Data conversion (GML)


Fully implementable over TerraLib (included in roadmap)
TL will fully support GML-based data exchange
Building OpenGIS services over TerraLib is straightforward!
OpenGIS Geometry Model
Geometry
Point
Line
Curve
Surface
LineString
Polygon
LinearRing
GeometryCollection
MultiSurface
MultiCurve
MultiPolygon
MultiLineString
MultiPoint
TerraLib Geometry Model
TeGeometry
TePoint
TeLine2D
TeLinearRing
TePolygon
TePolygonSet
TeLineSet
TePointSet
TerraLib: Geometry Model
TeGeometry
TePoint
TeLine2D
TeLinearRing
TePoint  Point
TePolygon
TePolygonSet
TeLineSet
TePointSet
TerraLib: Geometry Model
TeGeometry
TePoint
TeLine2D
TeLinearRing
TeLine2D  LineString
TePolygon
TePolygonSet
TeLineSet
TePointSet
TerraLib: Geometry Model
TeGeometry
TePoint
TeLine2D
TePolygon
TeLinearRing
TePolygon  Polygon
TePolygonSet
TeLineSet
TePointSet
TerraLib: Geometry Model
TeGeometry
TePoint
TeLine2D
TePolygon
TePolygonSet
TeLineSet
TePointSet
TeLinearRing
TePolygonSet  MultiPolygon ...
TerraLib: Geometry Model

TerraLib has additional geometries






TeCell and TeCellSet
TeArc and TeArcSet
TeNode and TeNodeSet
TeSample and TeSampleSet
TeContourLine and TeContourLineSet
TeText and TeTextSet
Storage of spatial data structures

TerraLib is different from OpenGIS:




The geometry sets of TerraLib (TePointSet, TeLineSet,
TePolygonSet) are fragmented in as many lines as the elements
of each set.
In each line of a TerraLib spatial table we will have one geometry
(TePoint, TeLine2D, TePolygon)
The union of the object’s geometries is done by an “object_id”
field that identifies the all the lines of the geometry table that
pertain to the same object.
Rationale


Multi-temporal storage of different versions of the same object
Better performance
Topological Operations on Vector Geometries

OpenGIS recommends the Egenhofer operators (9-intersection
dimension-extended matrix)

TerraLib complis with OpenGIS specifications

Ex:
TeOverlaps(X, Y)  (dim(Xo) = dim(Yo) =
dim (Xo  Yo))  (X  Y  X) 
(X  Y  Y)
 Area/Area  (Xo  Yo  )  (Xo  Y-  ) 
(X-  Yo  )
 Line/Line  (dim(Xo Yo) = 1)  (Xo  Y-  ) 
(X-  Yo  )

Metadata

OpenGIS metadata

Restricted to geometrical data types



TerraLib metadata



Tables with geometries.
Many other tables for spatial data handling
Visualization information (themes/views)


Name of table and of collumn with a geometry type
Coordinate systems
Spatial, temporal and attribute restrictions
Rationale


TerraLib data model is more than a storage data model
Built to support visualization and data analysis applications
Operations on Vector Data

SQL functions for vector data :









Equals ( g1 Geometry, g2 Geometry) : Integer
Disjoint ( g1 Geometry, g2 Geometry) : Integer
Touches ( g1 Geometry, g2 Geometry) : Integer
Within
( g1 Geometry, g2 Geometry) : Integer
Overlaps
( g1 Geometry, g2 Geometry) : Integer
Crosses ( g1 Geometry, g2 Geometry) : Integer
Intersects ( g1 Geometry, g2 Geometry) : Integer
Contains ( g1 Geometry, g2 Geometry) : Integer
Relate
( g1 Geometry, g2 Geometry, patternMatrix string) : Int
Image Data Handling

Satellite images



Growing importance in GIS
Large data volumes
Images in TerraLib


Indexed by tiles
Multi-level structure for efficient visualization
SQL extensions

Vector x Raster (statistic values):

Count
( g1 Geometry, r1 Raster) : Integer
 Minimum ( g1 Geometry, r1 Raster) : Double
 Maximum ( g1 Geometry, r1 Raster) : Double
 Average
( g1 Geometry, r1 Raster) : Double
 Variance ( g1 Geometry, r1 Raster) : Double
 StdDeviation ( g1 Geometry, r1 Raster) : Double
 Median (g1 Geometry, r1 Raster) : Double
 Value (point Geometry,r1 Raster) : Double

Others: assimetry, curtosis, coefficient of variation, mode
SQL extensions - Raster

Function


Histogram (r1 Raster) : Integer Array
Spatial operators








WC2RC (wc PointGeometry, r1 Raster) : PointGeometry
RC2WC (rc PointGeometry, r1 Raster) : PointGeometry
Mask (r1 Raster, r2 Raster) : Raster
Mask (g1 Geometry, r1 Raster) : Raster
Reclassify (r1 Raster, rl Rules) : Raster
Slice (r1 Raster, rl Rules) : Raster
Weight (r1 Raster,rl Rules) : Raster
Calculate (r1 Raster,...,rn Raster,mathexp String) : Raster
Spatio-Temporal Models in TerraLib

Static Data

Events


Dinamic objects


Ex: Crimes
Cell spaces
Moving Objects

Ex: evolution of parcels in an urban cadastre
Events
time
Near in space, near
in time?
y
x
Dynamical Spatial Model
f ( I (t) )
f ( I (t+1) )
F
f ( I (t+2) )
f ( I (tn ))
F
..
“A dynamical spatial model is a mathematical
representation of a real-world process when a location
changes in response to external forces (Burrough)
SIMULATIONS OUTPUTS
S2
Reality - Bauru in 1988
S3
Cell Spaces
Algorithms in TerraLib

Algorithms





basic core of most successful GIS
large number of them do not depend on some particular
implementation of a data structure
based a few fundamental semantic properties of the structure
properties can be - for example - the ability to get from one
element of the data structure to the next, and to compare two
elements of the data structure .
Spatial analysis algorithms

can be abstracted away from a particular data structure and
described only in terms of their properties.
Same Algorithm, Different Geometries
Generic GIS Programming

How to decouple algorithms from data structures ?



Idea: Iterators (“inteligent pointers”)
Algoritms are not classes !!
“Decide which algorithms you want; parametrize them so
they work for a variety of suitable types and data
structures”
Algorithms
Iterators
Geometries
Generic GIS Programming

A motivating example
Type stack of element
Functions
new: stack
push: element x stack  stack
empty: stack  {true, false}
pop: stack  stack
top: stack  element
This builds stacks of anything!
Generic GIS Programming

Idea


Find fundamental laws that drive software components
Design interoperable modules based on these laws
Generic GIS Programming

Idea



Find fundamental laws that drive software components
Design interoperable modules based on these laws
How can we apply generic programming to GIS?



Find regularities in spatial data handling
Generalize these regularies into abstract types
Process of formalization
TerraLib Community in Brazil
Exército Brasileiro
RoadMap for TerraLib

Kernel



Algorithms



Build a language for dynamic models using cell spaces
New algorithms for spatial data analysis
Programming environment for external users



Improve spatio-temporal model to include objects with changing
boundaries
Improve performance by enhanced indexing
Improve the Java-TerraLib and COM-TerraLib connections
Documentation, documentation, documentation!
Aim


To put TerraLib in the “Low-High” quadrant
Support inovation, but allowing a distributed development
What does it take to do it?

SPRING and TerraLib project


Development and Application Team



Software: 40 senior programmers (10 with PhD)
Applications: 30 PhDs in Earth Sciences plus students
Building a resource base



Major emphasis on “learning-by-doing”
Graduate Programs in Computer Science and Remote Sensing
SPRING and Terralib: 20 PhD thesis and 35 MsC dissertations
Institutional effort

Requires long-term planning and vision
The Road Ahead: Can Technology Help?



Advances in remote sensing are giving computer
networks the eyes and ears they need to observe their
physical surroundings.
Sensors detect physical changes in pressure,
temperature, light, sound, or chemical concentrations
and then send a signal to a computer that does
something in response.
Scientists expect that billions of these devices will
someday form rich sensory networks linked to digital
backbones that put the environment itself online.
(Rand Corporation, “The Future of Remote Sensing”)
The Road Ahead: Smart Sensors
SMART DUST
Autonomous sensing and
communication in a cubic
millimeter
Sources: Silvio Meira and Univ Berkeley, SmartDust project
The Carbonsink of Amazonian Forest
and climate


Sink Strength
1 to 7 t C ha-1 yr-1



1  0.5?
2

Preliminary synthesis of the carbon cycle for Amazonian forests.
Units: t C ha-1 yr-1. GPP= gross primary productivity; Ra= autotrophic respiration;
Rh=heterotrophic respiration; VOC= volatile organic carbon compounds.
Source: Carlos Nobre, Alterra, INPA, IH, Edinburgh Un., Washington Un.
Source: LUCC
Uncertainty on basic equations
Limits for Models
Social and Economic
Systems
Quantum
Gravity
Particle
Physics
Living
Systems
Global
Change
Chemical
Reactions
Applied
Sciences
Solar System Dynamics
Complexity of the phenomenon
Meteorology
source: John Barrow
Conclusions

Open Source software model



Spatial information technology



The Linux example is not applicable to all situations
Moving from the individual level to the organization level
Large R&D is needed to bridge the “knowledge gap”
Open source GIS software has a large role
Open source projects in developing nations


Combination of institutional vision, qualified personnel and
strong links to user community
Government-funded to be viable