160 likes | 535 Views
Implementation of a Geospatial Imagery Digital Library using Java and CORBA Paul Coddington Advanced Computational Systems Cooperative Research Centre Computer Science Department, University of Adelaide paulc@cs.adelaide.edu.au TOOLS Asia 98 September 1998
E N D
Implementation of a Geospatial Imagery Digital Library using Java and CORBA Paul Coddington Advanced Computational Systems Cooperative Research Centre Computer Science Department, University of Adelaide paulc@cs.adelaide.edu.au TOOLS Asia 98 September 1998
The Collaboration • On-Line Data Archives (OLDA) program of the Advanced Computational Systems (ACSys) CRC • Support for environment/agriculture GIS applications • Paul Coddington (DGIS project leader) • Ken Hawick (OLDA program leader) • Katrina Kerry, Jesudas Mathew, Andrew Silis, Darren Webb • Imagery Management and Dissemination (IMAD) project of the Defence Science and Technology Organisation (DSTO) • Support for defence and C3I applications • Paul Whitbread (IMAD project leader) • Mark Grigg, Colin Irving, Kim Tang, Rittwik Jana Geospatial Imagery Digital Library
On-line Data Archives • Many projects working on digital libraries, or on-line data archives, including OLDA project in ACSys CRC. • Aim to make data sets easily available via Internet. • Major advances in enabling technologies over past few years, with Web, CORBA, Java, faster networks. • Problems: • Storing and serving data from large data archives • Finding the right data (querying and metadata standards) • Interoperability of data archives (interface standards) • On-demand processing of data (“active” data archives) • Downloading of data (large latencies, limited bandwidth) Geospatial Imagery Digital Library
Earth Observation Data Archives • We have been developing software to support online archives of earth observation system (EOS) data from satellites and aerial photography. • Want to provide easy access to online archives of EOS data from applet or application, potentially from multiple distributed interoperable data archives. • Archive management software must support ingesting and storing of data, and provide interfaces for searching, browsing, processing and downloading of large image data files. • Should be robust, efficient, interoperable, with standard interfaces and access mechanisms (where available). Geospatial Imagery Digital Library
Applications of EOS Data Archives • EOS data is used for many applications - mining, agriculture, environmental studies, defence, etc. • Remote sensing is particularly important for a large, sparsely populated country like Australia. • Applications we are supporting include: • Spotting bushfires in remote areas • Crop yield prediction • Studies of correlation between rainfall and vegetation growth • Localised rainfall and frost predictions • Defence C3I Geospatial Imagery Digital Library
EOS Archives • Many EOS data archives have been made available online over past few years, e.g. • NASA EOS Data and Information System • ACRES Digital Catalog • Caltech/JPL Synthetic Aperture Radar Atlas (SARA) • We have created an archive of GMS-5 geostationary meteorological satellite data for software demonstrators and prototypes, and to support some applications. • Major effort in U.S. to develop national spatial data infrastructure for federal agencies and defence. • Key issue is interoperability and standardisation of interfaces and metadata -- lots of effort in this area. Geospatial Imagery Digital Library
Interface Standards • Currently lots of work on developing standards for interfaces (particularly O-O interfaces) to online data archives, particularly for geospatial data. • Driven primarily by U.S. federal and defence agencies, such as National Imagery and Mapping Agency (NIMA), but now also Open GIS Consortium (OGC) and ISO. • NIMA is developing U.S. Imagery and Geospatial Services (USIGS) specification. • USIGS specifies an object-oriented system with interfaces specified in using IDL. • Done in collaboration with OMG, targeted at CORBA implementations. Geospatial Imagery Digital Library
USIGS • USIGS is made up of a number of parts, including: • Geospatial and Imagery Access Services (GIAS) specification, for interfacing to image libraries • USIGS Common Object Specification (UCOS), giving detailed specifications of objects that are common to different parts of USIGS • USIGS Interoperability Profile (UIP), specifying common interfaces and data models for interoperability between different parts of USIGS • Specification of standards for metadata and data models • National Imagery Transfer Format Standard (NITFS), a standard image file format for interoperability • GIAS and UCOS have an IDL interface specification. Geospatial Imagery Digital Library
Geospatial Imagery Access Services • GIAS is structured so that the main functions of the library, such as adding, querying and accessing data, and controlled by different managers. • Library class handles access and authentication. • Catalog Access Manager handles queries. • Creation Manager handles ingest of data and metadata. • Data Model Manager handles logical data model. • Order Manager (or GeoDataSetMgr) handles dissemination of image data as files. • Array Access Manager handles dissemination of images as pixel arrays direct to client application. Geospatial Imagery Digital Library
GIAS Implementation • We have focussed on developing an implementation of the main part of USIGS, the GIAS-compliant image server. • Implemented using Java for both client and server code (current version uses JDK 1.1.5), wanted server code to be portable, and to fit in with development of middleware system (DISCWorld) which is developed in Java. • Client can be applet or application. • Client/server interface done using CORBA (required for integration with defence system). • Started development using OrbixWeb but moved to Visibroker - more convenient for running on our SGI server, also supported by Netscape. Geospatial Imagery Digital Library
Image Database Implementation • Attempted to save development effort by using commercial off-the-shelf system for image database. • StudioCentral from Silicon Graphics provides a C++ class library for building a digital multimedia asset management system, targeted mainly at film-making industry but appeared well-suited to general image data archive. • All image access and querying goes through StudioCentral API, classes called as native methods from Java. • Implementation of CORBA <-> Java <-> StudioCentral was more difficult than expected. • We have also developed a portable JDBC implementation, which was probably easier to implement. Geospatial Imagery Digital Library
Query Language • GIAS and StudioCentral adopt the approach of using a higher-level query language that SQL, in order to abstract over details of the data model, which may change or may not be known by the client. • GIAS uses Boolean Query Syntax (BQS), which has some support for querying on regions (not available in StudioCentral query language). • We have developed a parser to convert BQS queries to StudioCentral query language and to SQL (for JDBC version). • Standards for object relational databases and query languages are still under development. Geospatial Imagery Digital Library
Image Repository Architecture Geospatial Imagery Digital Library
Test Client Interface Geospatial Imagery Digital Library
Implementation Problems • “Write-once, run anywhere” not true yet for Java…. compatibility problems with different versions of JDK and different JVMs. • CORBA is worse - ORBs do not implement all parts of the specification, different implementations support different parts of the spec and may not be interoperable. • Hard to integrate Java and CORBA within IDL constraints. • Interfacing to C++ class libraries is not easy with current Java Native Interface (JNI), but much better in JDK 1.2. • Many applications, such as StudioCentral, do not provide support for Java and CORBA interfaces, but this is changing as software becomes Java and CORBA aware. Geospatial Imagery Digital Library
Future Work • Currently developing Java RMI version of interface. • Quantitative performance evaluations and comparisons of different implementations (RMI, CORBA, JDBC, different databases, etc) • Porting and developing applications to use standard interface. • Continue revising our implementation to track evolving standards, from GIAS, Open GIS Consortium and ISO (they will hopefully converge). • Keep up with new versions of JDK, ORBs, etc. • Provide more support for active data archives. Geospatial Imagery Digital Library