390 likes | 501 Views
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.
E N D
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 1990 1996 DPI was created!
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 under GNU General Public License 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
TeVisual User TeTheme TeView TeProjection TeLayer TeGeometry TeTable TeDatabase Ado MySQL Oracle …
Web Extensions Algorithms … TeVisual TeQuerier TeTheme TeView TeProjection 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
GeoSan Sanitation GIS
116-112 116-113 166-112
General purpose GIS to view and analyze a TL database FOSS – LGPL Customized with plugins www.dpi.inpe.br/terraview Database Drawing area Views and Themes Grid
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
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
“What worked X didn’t work” • Building a library not only a final application • Building TerraView as well • The pluginsolution 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
2008 Our experience in FOSS4G 5.0: the new generation!
TerraLib 5 Software tools to improve collaborative code development, documentation, test and interactions among developers: Wiki pages distributed version control system Code documentation tracking system for software development projects Windows, Linux and Mac OS X platforms automates the compile/test of code
TerraLib 5 Use of third-party libraries: OGR QWT
TerraLib 5 - Architecture DIP Aggregation Structures Well-defined modules Extensible Reusable components RP SRS Persistence Layer Query Processor Style Queries DatSet Geometry Canvas Raster Data Access plugin Sub-queries DatSet ST graph
TerraLib 5 Integration of data from different sources through a simple API Not database-orientedarchitecture
TerraLib 5 Coverage Representation, intergration, processing, analysis and presentation of: • Vector • Raster • Graph • Spatio-temporal Data • ... Events Time Series Trajectory
TerraLib 5 Reenginnering of the R-TerraLib interface Offerbindingstootherlanguages (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, training 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 …