TerraLib: 2012

Download Report

Transcript TerraLib: 2012

DPI/INPE experience on building open and free software for geoinformation

presented by Karine Reis and Lubia Vinhas

Who are we?

OBT – Earth Observation General Coordination DPI – Image Processing Division DSR – Remote Sensing Division DGI – Image Generation Division DPI’s mission is to conduct research and development in GIScience and Image Processing.

Designing, prototyping and deployment of GIS and Image Processing systems Promote capacity building in academic, government and private sectors, as well as for the general public Participate of relevant projects of national scope

We are in charge of some of INPE’s strategic goals

• Objetivo #11: “Produzir dados, software e metodologias para fortalecer a atuação do INPE nas áreas de aplicações espaciais, da saúde, educação, segurança pública e desenvolvimento urbano”.

• Goal #11: Produce data, software and methodologies to

strengthen the performance of INPE in the areas of space applications, health, education, public safety and urban development

Our experience in FOSS4G

SITIM/SGI SPRING for workstations SPRING for PC 1984 DPI was created!

1990 1996

www.dpi.inpe.br/spring General purpose GIS mainly suitable for a desktop single-user environment Dual architecture Offers all of the “traditional” GIS functionalities such as Image Processing, DTM, Map Algebra, Geostatistics, Cadastral management, etc.

It is an OGC WMS and WFS client Freeware since 1996 and Open Source since 2011 Does not allow customizations: all-in-one philosophy Current version is 5.2.5 for Windows and Linux, 32 and 64 bits

SPRING

SPRING follows an object-oriented development in C++ Qt as UI framework Apache Subversion (SVN) for software versioning and revision control Source code available at www.spring.org

under GNU General Public License Design, project management and funding by INPE Until 2006 the development was in house with a few external collaborators After that maintenance and new developments are being contracted in IT industry under INPE guidance

SPRING

Largely used for capacity building in Brazil and Latin America. More than 2000 people trained (face-to-face and remotely) Used in the Remote Sensing and Applied Computing grad courses at INPE Solid user support system using e-mail provided by INPE Over 189000 registered users in our database and ~10000 new users per year

What worked X didn’t work

      Portuguese interface, manuals, etc.

Solid and consistent user support (e-mail, phone) A training program A theoretically sound data model Solid algorithms and functionalities A development team focused on one big goal ✗ ✗ ✗ ✗ All-in-one architecture Emphasis on the desktop environment Time taken to open the source code Lack of compliance to OGC standards

2002

Our experience in FOSS4G

NOT a final application, but blocks (C++) to build different applications Benefit from object-relational DBMS Benefit from spatially enabled DBMS: Oracle Spatial, PostGIS , … Use OGC (and others) standards to promote interoperability To develop innovative algorithms (e.g. spatio-temporal data, high-resolution image processing, multiprocessing) To develop innovative data types (e.g. cell spaces, Generalize Proximity Matrix) Able to deal with large datasets and ubiquitous data Free and Open Source Software Platform to develop the tools needed to address the demands presented to INPE Platform to materialize our research in GIScience Platform to develop tools that enable collaboration within INPE and with other organizations

TerraLib/TerraView

TerraLib/TerraView is written in C++ CMake Qt as UI framework Apache Subversion (SVN) for software versioning and revision control Source code available at www.terralib.org

License under GNU General Public Design, project management and funding by INPE Internal team, students, short term projects, collaboration with universities (UFOP, UFMG), research centers (CEM), foundations (FUNCATE, TecGraf).

It became a family of applications

User TeView Ado TeVisual TeTheme TeProjection TeDatabase TeLayer TeGeometry TeTable MySQL Oracle …

Web TeView Extensions TeVisual TeTheme Algorithms TeProjection … TeQuerier TeLayer TeGeometry TeTable

BDQueimadas

Fire monitoring application: daily fire sports detection using satellite data, for Brazil and South America dissemination in the web for the general public alerts sent to law enforcement organization

Santos Digital

GeoSan

Sanitation GIS

116-112 116-113 166-112

Database Drawing area Views and Themes Grid

General purpose GIS to view and analyze a TL database FOSS – LGPL Customized with plugins www.dpi.inpe.br/terraview

TerraPDI

: Image processing plugin

conn = openConn(u="art",dbms="mysql") db = openDb(conn, "dbname") thpoints = openTheme(db, "themepts") thcontour = openTheme(db, "thcontr") points = getPoints(thpoints) contour = getPolygons(thcontour) data = getData(thpoints) raster = krige(points, contour, data) l = createLayer(db, "lraster") addRaster(l, raster) thraster = createTheme(l, "thrstr")

TerraLib Applications

Others

GeoDMA

: Object Based Image Analysis

Amazonia Basin Hydrology studies: DTM Upscaling Accumulated flux Drainage definition River segments detection Basin delimitation Special interest in large areas that require heavy processing Brazilian Semi-Arid

(see TerraME page)

“What worked X didn’t work”

     Building a library not only a final application Building TerraView as well The plugin solution to extend functionalities Collaboration Innovation (Cell Spaces, Spatial Statistics,…) ✗ ✗ ✗ ✗ Difference from the OGC SFS model Re-programming of basic functionalities (geometry, SFS) Dependency of DBMS Mixing of application code and library code

Our experience in FOSS4G

5.0: the new generation!

2008

TerraLib 5

Software tools to improve collaborative code development, documentation, test and interactions among developers: Code documentation Wiki pages distributed version control system Windows, Linux and Mac OS X platforms automates the compile/test of code tracking system for software development projects

TerraLib 5

Use of third-party libraries: QWT OGR

TerraLib 5 - Architecture

Well-defined modules Extensible Reusable components DIP RP SRS Style Geometry Canvas Raster plugin ST graph  Aggregation Structures Persistence Layer Queries DatSet Query Processor Sub-queries DatSet Data Access

TerraLib 5

Integration of data from different sources through a simple API Not database-oriented architecture

TerraLib 5

Representation, intergration, processing, analysis and presentation of: - Vector - Raster - Graph - Spatio-temporal Data - ... Coverage Events Time Series Trajectory

TerraLib 5

Reenginnering of the R TerraLib interface Offer bindings to other languages (LUA)

Currently we are investing our time to have the first TerraView 5.0.

A better support to plugins

TerraLib 5

Design, project management and funding by INPE A contract with FUNCATE until December 2014 A tagged version in December 2013 to beta testers Public version in the end of December 2014

Conclusions

Developing FOSS4G at DPI/INPE has being an interesting task and also a challenge: awareness of the state-of-the art (data, methodologies, market, users, etc.) => adapt to the moment users want it all: best functionalities, innovation, robustness, flexibility, multi-platform, documentation, support, trainin g find good C++ programmers with the expertize in Geoinformation We have been very successful in building a users community, but not so much in building a developers community Funding is also a challenge for us We will continue to do it …