Development of Java Plug-In for Geoserver to Read GeoRaster Data. 1. Baskar Dhanapal CoreLogic Global Services Private Limited, Bangalore

Similar documents
Oracle Database 10g: Managing Spatial Raster Data Using GeoRaster. An Oracle Technical White Paper May 2005

Introduction to GeoServer

Web Map Servers. Mark de Blois. Septembre 2016

FDO Data Access Technology at a Glance

Disclaimer ORACLE SPATIAL AND GRAPH GEORASTER

Implementing Web GIS Solutions

Leveraging OGC Services in ArcGIS Server. Satish Sankaran, Esri Yingqi Tang, Esri

Regarding the quality attributes, the architecture of the system must be:

ORACLE FUSION MIDDLEWARE MAPVIEWER

GeoTools Steering Document

SuperGIS Server 3.2 Value Edition Specification

GeoServer, The Open Source Solution for the interoperable management of geospatial data

[ ]..,ru. GeoServer Beginner's Guide. open source^ software server. Share and edit geospatial data with this open source.

Leveraging OGC Standards on ArcGIS Server

Open source technologies and INSPIRE network services in Slovak environmental agency

GML, WFS and SVG: A New Frontier of Internet GIS

ewater SDI for water resource management

Interactive Web Mapping: Overview

ERDAS Image Web Server Datasheet

Introduction to Autodesk MapGuide EnterpriseChapter1:

Providing Interoperability Using the Open GeoServices REST Specification

Oracle Spatial Technologies: An Update. Xavier Lopez Director, Spatial Technologies Oracle Corporation

NFMS web portals Focus on monitoring functions

Regular Forum of Lreis. Speechmaker: Gao Ang

Introduction to Autodesk MapGuide EnterpriseChapter1:

Introduction THE OPENGEO ARCHITECTURE

SMARTERDECISIONS. Geospatial Portal 2013 Open Interoperable GIS/Imagery Services with ERDAS Apollo 2013 and ERDAS Imagine 2013

An Oracle White Paper September Oracle Fusion Middleware MapViewer

Using ESRI data in Autodesk ISD Products

Service Oriented Architecture For GIS Applications

Esri Support for Geospatial Standards

ArcGIS 9.2 Works as a Complete System

Croatian Motorways Road Database Management System

Service Oriented Architecture

Lecture note on the history and principles of geo-webservices

Leveraging OGC Services in ArcGIS Server. Satish Sankaran Yingqi Tang

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

Leveraging OGC Services in ArcGIS Server

What s New in ArcGIS Server 10

County of Los Angeles. Chief Information Office Preferred Technologies for Geographic Information Systems (GIS) Version 2 May 2015

An Overview of FMW MapViewer

OpenData and INSPIRE with GeoServer, GeoNetwork and MapStore: lessons learned from real-world use cases

_ LUCIADFUSION V PRODUCT DATA SHEET _ LUCIADFUSION PRODUCT DATA SHEET

Introduction to ArcGIS Server 10.1

ORACLE FUSION MIDDLEWARE

How to create geojson out of an image for using it as map layer in Oracle Data Visualization

GeoServer and Teradata

GEOSPATIAL ERDAS APOLLO. Your Geospatial Business System for Managing and Serving Information

Oracle. Oracle Spatial 11g Essentials. 1z Version: Demo. [ Total Questions: 10] Web:

Adopting the Appropriate GIS Web Service Technologies

An Oracle White Paper July Oracle Fusion Middleware MapViewer 12c

USING ENTERPRISE GRID COMPUTING TECHNOLOGIES TO MANAGE LARGE-SCALE GEOIMAGE AND RASTER DATABASES INTRODUCTION

International Organization for Standardization Technical Committee 211 (ISO/TC211)

May 2012 Oracle Spatial User Conference

Developing a Free and Open Source Software based Spatial Data Infrastructure. Jeroen Ticheler

Deliverable D3.12. Contract number: OJEU 2010/S Deliverable: D3.12 Author: Igor Antolovic Date: Version: Final

SEXTANT 1. Purpose of the Application

Oracle 10g GeoSpatial Technologies. Eve Kleiman Asia/Pacific Spatial Product Manager Oracle Corporation

A GML-Based Open Architecture for Building A Geographical Information Search Engine Over the Internet

Compass INSPIRE Services. Compass INSPIRE Services. White Paper Compass Informatics Limited Block 8, Blackrock Business

Integrated Map Tool. Overview, Current Status, and Things to Come

Interoperability and Standards Supports in ArcGIS

Server Usage & Third-Party Viewers

Accessing OGC Services To access OGC WMS and WFS open the service in the directory that you want to consume, and click on either WMS or WFS.

Beyond PostGIS. New developments in Open Source Spatial Databases. Karsten Vennemann. Seattle

An Oracle White Paper January Oracle Fusion Middleware MapViewer 10g ( )

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

EXERCISE: Publishing spatial data with GeoServer

Oracle Spatial Users Conference

SDI Tecnological Components and Standards

udig User friendly Desktop Internet GIS Final Report

LizardTech. Express Server 9. ExpressZip Manual

Spatial Databases - a look into the future

Oracle Spatial Users Conference

Mapping, Visualization, and Digitization of the Geo-Referenced Information: A case study on Road Network Development in Near Real Time

Cadcorp SIS 7.1. Training Brochure

PostGIS: future developments

Utilizing C/JMTK to Build a Web-Based Common Operational Picture (Joint WebCOP)

Oracle Spatial 11g: Build Web Services, GeoRaster, Network and 3D Applications Dr. Siva Ravada Director of Development Oracle

Tutorial International Standards. Web Map Server (WMS) & Web Feature Server (WFS) Overview

SERVO - ACES Abstract

An interoperable platform. rencontres mondiales du logiciel libre - july 12th, 2007

The geospatial metadata catalogue. FOSS4G Barcelona. Jeroen Ticheler. Founder and chair. Director

ERDAS APOLLO v2013. What s New. SMARTERDECISIONS

Maps as Numbers. Maps as Numbers. Chapter 3: Maps as Numbers 14SND Getting Started with GIS Chapter 3

Setting Up and Deploying Geospatial Data Shares Using the QGIS Server Application

Oracle Spatial: Advanced Student Guide

Carmenta Server Product Description

BROWSER. LuciadRIA DATA SHEET

Open Source Cloud Map User Guide

Land Information Management and its (3D) Database Foundation

ASTROWEB ASTROINFORMATICS PROJECT AND COMPARISON OF THE WEB-GIS PROTOCOL STANDARDS

pgrouting extends the postgis/postgresql geospatial database to provide geospatial routing and other network analysis functionality.

Transactional Web Feature Server Design

University of Cape Town

An SDI based on editable nodes

The ismart Suite Developing and Deploying Embedded Spatial Applications and Web Services in a Standard Enterprise IT Environment

ArcGIS for Server Michele Lundeen

Features and Benefits

Esri Support for Geospatial Standards: OGC and ISO/TC211. An Esri White Paper May 2015

Transcription:

Development of Java Plug-In for Geoserver to Read GeoRaster Data 1. Baskar Dhanapal CoreLogic Global Services Private Limited, Bangalore 2. Bruce Thelen CoreLogic Spatial Solutions, Austin, USA 3. Perumal Chinnusamy CoreLogic Global Services Private Limited, Bangalore 4. Glenn Kronschnabl CoreLogic Spatial Solutions, Austin, USA Abstract GeoRaster is a feature of Oracle Spatial that lets you store, index, query, analyze, and deliver GeoRaster data, that is, raster image and gridded data and its associated metadata. GeoRaster can be used with data from any technology that captures or generates images, such as remote sensing, photogrammetric, and thematic mapping. It can be used in a wide variety of application areas, including general business applications, online imagery and photo archiving, environmental monitoring and assessment, geological engineering and exploration, natural resource management, defense, emergency response, telecommunications, transportation, urban planning, and even medical imagery. Geoserver reads and supports all featuretype data like shapefile, point, polygon etc. from local file system as well as from oracle spatial. On the other hand, it also read and support raster image (coverages) from the local file system. In this context, we will be presenting how the Geoserver reads raster image which is stored in oracle spatial database and display it in openlayers window. Actually this is extension of Geoserver and fully developed with the help of Java, GeoTools API, Oracle spatial queries and Geoserver. Though, support for reading GeoRaster was added recently in Geoserver, this plug-in is developed from different approach than the existing one. This plug-in mosaic n number of Georaster rows of data from the oracle spatial database.

1.0 Introduction: GeoRaster is designed to deliver enterprise-class data management capability to large image processing, GIS solutions and business applications. It is now possible for developers to integrate this powerful data management technology with the leading image processing and raster/grid analysis tools. It provides data types and an object-relational schema to store multidimensional grid layers and digital images that can be referenced to positions on the Earth's surface or in a local coordinate system. If the data is geo-referenced, you can find the location on Earth for a cell in an image; or given a location on Earth, you can find the cell in an image associated with that location. GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards. This paper describes how Geoserver reads GeoRaster data which is stored in Oracle Spatial database. 2.0 Scope: To visualize GeoRaster data in OpenLayers window of Geoserver using WMS request and allow all map operations like zoom in, zoom out and panning of Georaster data. 3.0 Architecture: 3.1 GeoRaster: The GeoRaster architecture provides the functionality needed to support the storage and use of image or grid-based raster data in Oracle Database. At a very high level of abstraction, the GeoRaster architecture includes five basic components: GeoRaster Engine This is the core, which provides the native GeoRaster object type andfunctionality including raster data and metadata indexing, update, query and manipulations.

SQL API Standard SQL access to the raster and grid-based data in GeoRaster databases. Java API Pure Java access to the GeoRaster objects in the databases. Users can also use JDBC,OCI, and OCCI to access to the GeoRaster objects without calling the GeoRaster SQL or Java APIs. Viewing Tools: A variety of third party visualization and analysis tools now support GeoRaster. Oracle Fusion Middleware MapViewer supports GeoRaster. In addition, a standalone viewer comes with the Oracle Spatial GeoRaster installation and can be used as a development or DBA tool. Input and Output [data] adapters Facilitate loading and unloading raster data between wellknown images file formats and GeoRaster. A variety of third party ETL tools now support loading and unloading GeoRaster data. GeoRaster also provides limited importing and exporting capability on six standard image file formats through both the server-side SQL API and the client-side Java tool. The core of Oracle Spatial GeoRaster is the physical schema designed to facilitate storing and managing raster or grid-based data inside the database. In the GeoRaster engine, the native data type called SDO_GEORASTER is defined and each image or raster grid is stored as a single object of this native type. A GeoRaster table is any user-defined table, which has at least one data column of type SDO_GEORASTER. SDO_GEORASTER objects include metadata and information about how to retrieve GeoRaster cell data that is stored in another user-defined table called a Raster Data Table, which is an object table of type SDO_RASTER. The SDO_RASTER type includes a BLOB column called RASTERBLOCK, which stores the real raster blocks. Other information associated with the GeoRaster objects can be stored in separate columns or tables, such as a Value Attribute Table (VAT). The relationship between a GeoRaster object and its raster data table is automatically managed by GeoRaster itself internally using a database dictionary. A GeoRaster database basically consists of a list of GeoRaster tables, in which each image or raster grid is stored as one GeoRaster object in one row. It can contain an unlimited number of GeoRaster objects and each object can be terabytes in size.

Figure1 GeoRaster Architecture 3.2 Geoserver: The GeoServer application is comprised of a series of modules. GeoServer modules can be combined with maven 2 build sytem to form a deployable war. At runtime a module can make use of Spring to obtain classes providing services from other modules. This ability to "plug-in" additional functionality forms the basis for GeoServers extension mechanism. This mechanism is used to provide additional OGC web services (by the WFS and WMS modules) and to implement support for different WMS image encodings. 3.3 Geoserver WMS request: Web Map Service (WMS) provides a simple HTTP interface for requesting georegistered map images from one or more distributed geospatial databases. A WMS request defines the geographic layer(s) and area of interest to be processed. The response to the request is one or more geo-registered map images (returned as JPEG, PNG, etc) that can be displayed in a browser application. The interface also supports the ability to specify whether the returned

images should be transparent so that layers from multiple servers can be combined or not. 3.4 GeoTools: GeoTools is a free software GIS toolkit for developing standards compliant solutions. It provides an implementation of Open Geospatial Consortium (OGC) specifications as they are developed. GeoTools is a contributor of the GeoAPI project - a vendor-neutral set of Java interfaces derived from OGC specifications - and implements a subset of those. It is written in Java and currently is under active development. It is used by GeoServer and UDig projects. 3.5 GeoTools Plug-ins: GeoTools library includes lots of plug-ins to support different data formats with different coordinate reference system. DB2, ORACLE, POSTGIS are plug-ins that works directly on JDBC layer. WFS, ARCSDE, MIF, SHAPEFILE, TIGER are the plug-in works with Data layer. ARCGRID, GEOTIFF etc are the plug-ins that works directly on Coverage layer. i.e raster images. 4.0 Existing GeoRaster support: Recently, GeoRaster support has been added in GeoTools 2.6.4 version. It is developed as an extension of ImageMosaic-JDBC plug-in. This plug-in is intended to handle large images stored as tiles in a JDBC database. Tiles created by pyramids are also stored in the database. This plug-in handles data which is stored in different data source like DB2, UNIVERSAL, MYSQL, POSTGIS, ORACLE. This plug-in takes one xml config file as input that contains all information about GeoRaster data. 4.1 Flaws of existing GeoRaster support: 1. It is not separate standalone plug-in. It is an extension of ImageMosaic- JDBC plug-in.

2. User has to mention the co-ordinate reference systems (i.e EPSG) in the config file. 3. User has to know GEORASTER field name in GeoRaster table and name of the RASTER DATA TABLE. All these things have to be mention in config file. 4. It does not work with other layers. 5. It does not mosaic georaster data if the GeoRaster table has n number of rows. This feature supports to retrieve only one row of data at a time. 5.0 Plug-in development and Methodology: First of all we need to store the GeoRaster data in Oracle spatial database. Because, this plug-in intends to read the georaster data that is already stored in the database. Next, we need to find the way how we can make Geoserver to recognize our code as a plug-in. To do this we need GeoTools support. Geoserver internally depends on GeoTools library for all data manipulation. GeoTools provides few interfaces and class that needs to be implemented and extended to develop new plug-in. As I mention before, Geoserver handles two types of data i.e Vector and Raster data and GeoTools has separate hierarchy structure of class to handle these types of data. Since GeoRaster is raster type of data, we concern about the classes required to handle raster data. Following are the interface and class that need to implemented and extended to create new plug-in to support raster data. 1. org.geotools.coverage.grid.io.gridformatfactoryspi (interface) 2. org.opengis.coverage.grid.format (interaface) 3. org.geotools.coverage.grid.io.abstractgridformat (class) With the help of above interfaces and class we created our plug-in. Like ImageMosaic-JDBC plug-in, our plug-in need one xml configuration file as input file. The structure of config files as follows: <datastore > <coverage>coverage_name</ coverage > <rastertable>georaster_table_name</rastertable> <server>db Server IP</server> <dbname>db NAME</dbname> <port>port</port>

<username>username</username> <password>password</password> </datastore> The configuration file has very few limited information needed for processing GeoRaster data. We build the source code using Maven, a build tool and created jar file. Finally, we placed the resultant jar in lib directory of Geoserver. Next time, whenever Geoserver starts, it recognizes our jar as a plug-in and it shows GeoRaster as valid data source option in Geoserver. This plug-in is created by following standard rules given by GeoTools in order to develop new plug-in. This plug-in does not depend on any licensed version jars. Retrieving part done by the standard SQL queries. Following are the screen shot of Geoserver after we added this plug-in. Figure 2 Adding GeoRaster data source Clicking on Add New Data Store option would display above screen shot. In the screen shot we can see GeoRaster option under valid Raster Data Sources. Clicking GeoRaster option in this page would display the below screen shot.

Figure 3 Configuring GeoRaster config file In the above screenshot, we can give unique data source name and the URL to configuration file which contains all necessary details for processing GeoRaster data. Clicking on save button in this page would result below screen shot.

Figure 4 Publishing GeoRaster layer Again clicking on publish option in the above screenshot would result the following page.

Figure 5 CRS & BBOX of GeoRaster data The coordinate reference systems and bounding boxes are calculated by the plug-in and the results are displayed in this page in the appropriate places. Then

follow the normal steps given by Geoserver in order to configure new raster data store. Clicking on Layer Preview would result following page. Figure 6 Georaster layer in layer preview menu Finally, click on OpenLayers would result the following page

Figure 7 Georaster data in openlayers window As we mentioned earlier in this document, this plug-in works with other layer also. Following screen shot shows the GeoRaster layer configured is rendered with other layer.

Figure 8 Georaster data with other layers 6.0 Result and Conclusion: 1. It is standalone plug-in derived from ImageMosaic-JDBC plug-in. 2. It mosaic n number of Georaster data in a single table. 3. This plug-in expects only the GeoRaster table name and database connection parameters for rendering data from the database. 4. It works with other layers. 7.0 Acknowledgements: This document acknowledges Bruce Thelen of Corelogic, Perumal Chinnaswamy of Corelogic, Christian Muller of GeoTools, my colleagues and my friend Anitha for their valuable support and inputs provided during the application development.

8.0 References: 1. http://download.oracle.com/docs/cd/b28359_01/appdev.111/b28398/toc.htm 2. http://download.oracle.com/docs/cd/e11882_01/appdev.112/e11829/toc.htm 3. http://docs.codehaus.org/display/geot/home 4. http://old.nabble.com/geoserver-f1193.html Paper Reference Number : PN~129 Title of the paper : Development of Java Plug-In for Geoserver to Read GeoRaster Data Name of the Presenter : Baskar Dhanapal (OR) Perumal Chinnasamy Author(s) Affiliation : CoreLogic Global Services Pvt Ltd Mailing Address : CoreLogic Global Services Pvt Ltd Lakeview, 5 th Floor, Bagmane Tech Park, C.V.Raman Nagar, Bangalore - 560093. Email Address : dbaskar@corelogic.com Telephone Numbers : 080-44332211 Extension: 842, 835 +91-9845809591 +91-9663366087 Fax Number : +91-80-443322000

Author(s) photograph : Biography : Baskar Born 10 th July 1983 and am working as Senior Software Engineer in CoreLogic Global Services Private Limited, Bangalore. I like coding in Java and always like to use open source technologies. This company has given me an opportunity to work on open source technologies. I feel happy to develop this plug-in with less than 2 years experience in spatial domain.