Monday, 21 November 2011

Put Intelligence on the map (part 1)

Business has been collecting and analyzing geospatial information for a long time. Being able to view information such as, volume of revenue from different regions or number of events happened in different suburbs, on a zoomable map is of great value to people who manage the business. Since the 11g release, users of OBIEE are enabled to visualize BI on digital maps. From world level to street level, users can easily overlay business information on maps. The correlation between location and business can be seen intuitively. In this blog post, I will walk you through the things behind the scene of OBIEE Map View. 

There are four major players in OBIEE Mapview – Spatial data, Map tiles, Oracle Mapviewer and OBIEE.
Oracle database (with Locator or Spatial option) stores all the spatial data such as coordinates of locations and boundary of regions. Database is also in charge of processing all the spatial based queries. For instance, what are the longitude and latitude of the centre of Sydney city? If I draw a cycle with 10KMs radius around that city centre, which suburbs are covered in the cycle? In simple words, Oracle database is the brain – it stores data and process request.

Map tiles assemble and display pregenerated map image tiles. The map tile layer displays static map content that does not change very often, and it is typically used as the background map by the client application.  A map image tile will be fetched from the map services provider which stores and manages map images together related information such as zoom level, size, and location of the tile.  Oracle MapViewer has an internal map services provider but it can also be configured to integrate with external providers like Google Map, Bing Map. In simple words, Map tiles are in charge of visualization – map images.

Oracle Mapviewer is part of Oracle Fusion Middleware. Its main deliverable is a J2EE application that can be deployed to a J2EE container. MapViewer includes the following main components:
  • A core rendering engine (Java library) that performs cartographic rendering.
  • A suite of application programming interfaces (APIs) that allow programmable access to MapViewer features.
  • A graphical Map builder tool that enables you to create map symbols, define spatial data rendering rules, and create and edit MapViewer objects.
  • Oracle Map, which includes map cache and FOI (feature of interest) servers that facilitate the development of interactive geospatial Web applications.
The core rendering engine connects to the Oracle database through Java Database Connectivity (JDBC). It also reads the map metadata (such as map definitions, styling rules, and symbologies created through the Map Builder tool) from the database, and applies the metadata to the retrieved spatial data during rendering operations. In simple words, MapViewer is the bridge, it assembles coordinates and map images together, render symbols, lines, colors on map.

OBIEE is Oracle’s BI solution which has pre-built integration with Oracle MapViewer. Once the proper configurations are done by administrator, from OBIEE end user’s point view, technical complexities such as spatial data, map tiles, map viewer are all hidden in a black box. Business Intelligence on interactive digital Map is just another type of BI view. As long as the criteria of a Analysis includes geographical information (e.g. name of city, code of mine, etc) and numeric measures, the business users can have a map view of the report by simply choosing the format (e.g. color fill, shape, etc) of measure that they want to put on top of map. The rest will be handled by the “black box”.

The following diagram gives a simple summary of how Business Intelligence works together on digital map with OBIEE and other Oracle technologies.
How OBIEE Map View works

For the next post, the key words are "Hands-on", "Customized Geospatial data", "Oracle Map Builder", "Google Map". Please stay tuned.

No comments:

Post a Comment