Friday, January 18, 2013

[OBIEE 11g] - Maps - Frequently Asked Questions (FAQ)


Here is a list of FAQs about the exciting new mapping capability that is included with OBIEE 11g, 
1) How do I install/configure Oracle MapViewer with OBIEE 11g?
2) What is Oracle MapViewer?
3) What is Oracle MapBuilder?
4) How does “spatial” or “map” information get stored?
5) Are Google/Bing Maps Supported?
6) What is Oracle Locator?
7) What is Oracle Spatial?
8) When do I need to purchase Oracle Spatial?
9) Are Google Maps free to use?
10) Do we need extra licenses to use MapViewer with OBIEE 11g?
11) Can OBIEE 11g Maps be displayed in BI Publisher 11g Reports?
12) How does the OBIEE 11g mapping capability perform?
13) Is there any training available for implementing maps with OBIEE 11g?
14) What if my Subject Areas contain Lat/Long co-ordinates?
15) Should I choose Oracle "internal" Maps or external maps such as Google Maps?

ANSWERS

1) How do I install/configure Oracle MapViewer with OBIEE 11g?

The good news is that MapViewer is installed and configured as part of the OBIEE 11g installation process. The only post-installation configuration required is to configure MapViewer to point to the source(s) that contain your spatial data (Oracle Database) and provide you with background maps (Oracle Database, Oracle eLocation, Web Map Service provider, Google Maps or Bing Maps).


2) 
What is Oracle MapViewer?
Oracle MapViewer is a J2EE web application that is used for rendering maps within a web page. It can be deployed to most J2EE application servers (such as OC4J, Apache Tomcat, Weblogic etc).

Web-based applications such as OBIEE 11g can embed maps within their web pages simply by making calls to Oracle MapViewer, there are many different functions (APIs) available. With OBIEE 11g, the MapViewer engine is deployed to the WebLogic server.


3) 
What is Oracle MapBuilder?
Oracle MapBuilder is development tool (written in Java) that enables you to build/configure your maps. Note that is does not enable you to “draw” maps from scratch, it relies on the fact that you have spatial information (such as country boundaries) stored in a database somewhere.

Using MapBuilder you can decide what spatial information is displayed on each map and how that information should be formatted.

A map (or a “Base Map” to be more precise) consists of one or more “Themes”. Each “Theme” refers to one type of information you might want to appear on a map. For example: Country Boundaries, Oceans, Highways, State Boundaries, Cities etc.

Once you have prepared your Base Maps, you can upload the configuration to Oracle MapViewer where they can then be integrated into your own applications.

When it comes to Business Intelligence, you will normally define further Themes to represent the data you wish to overlay on each Base Map. For example, you could have a Theme that will show all the World Countries but where each Country is colour coded depending on how much Revenue has been generated there in the previous year (high values in green, low values in red etc).


4) 
How does “spatial” or “map” information get stored?
You can store your spatial data in the Oracle database.

The Standard/Enterprise editions of the Oracle Database have a special data type called “SDO_GEOMETRY” which can store anything from single points to complex 3D shapes.

As an example for a World Map, there will be a table on the database consisting of all the boundaries for each Country. The table will consist of a “geometry” column (SDO_GEOMETRY datatype) and there will be one record per Country.

The “geometry” column will actually store all the many Longitude/Latitude boundary co-ordinates for a county in a single array-type structure (there could be 100s or 1000s of these co-ordinates):
COUNTRY_NAME
===========
GEOMETRY
========
France(123, 83), (123, 84) ......... (189, 98)
Germany(120, 10), (120, 11) ......... (115, 78)

NOTE: this is a simplified representation!

So for a World Map, all the Country “geometries” used to build up a map image will be obtained from a single table. The “COUNTRY_NAME” column will be used to determine the label for each Country that appears on the map.

If you want to display Highways, for example, then typically there will be another database table that stores all the geometry co-ordinates for every Highway (containing one record per Highway).

5) Are Google/Bing Maps Supported?
Release 11.1.1.5 of OBIEE 11g supports the following sources for background maps:

- Internal e.g. Oracle Database)
- External e.g. Web Map Service (WMS) providers
- Oracle eLocation
- Google Maps
- Bing Maps

If you choose to use "Internal" background maps then typically you’ll need to purchase some form of digital map data which can then be imported into your Oracle Database. To get you started however, there is a sample set of “World Map” data supplied by NAVTEQ, Oracle Database customers are free to use this sample data.

The sample data set does not of course contain everything, it contains all “Country” boundaries and then has further detail data going down to “postcode” or "zipcode" level in 3 locations only (London, Sydney and San Francisco).

The sample map data can be downloaded on Oracle Technology Network (OTN).

If you wish to purchase more detailed maps from NAVTEQ, then please Contact Us at Peak Indicators where we will be happy to put you in touch with the right NAVTEQ representative.


6) 
What is Oracle Locator?
Oracle Locator is perhaps a little-known (but very important!) component of the Oracle Database. Locator is actually a cut-down version of Oracle Spatial and is provided “free” with all Standard and Enterprise database editions.

Locator gives you all the necessary functions to index, query, join and filter spatial data.

If you already have all the required spatial data and you just need to render it on a map, then Oracle Locator should be sufficient and you won’t have to purchase licenses for Oracle Spatial. 

7) 
What is Oracle Spatial?
Oracle Spatial is a licensed database option and is only available with Enterprise Editions of the Oracle database.

It provides all the Oracle Locator functions plus much more. For example:
  • Additional geometry functions
  • Spatial aggregate functions
  • Spatial analysis and mining functions
  • Linear referencing system support
  • Geo-coding support (e.g. finding out the Lat/Long co-ordinates for a Post Code)
  • Geo-raster support
  • Support for topology & network models
If you need to modify or transform any spatial data, then the likelihood is that you'll need to purchase Oracle Spatial licesnes.


8) When do I need to purchase Oracle Spatial?
As a general rule of thumb, if you need to manipulate any spatial data then you will have to purchase Oracle Spatial licenses on the database that performs the operation.

At first, a lot of OBIEE 11g implementations may be able to survive with just the functions provided with Oracle Locator.

However, it is likely that at some point you will need to manipulate your spatial data in some way. For example, you may wish to combine all your “Country” boundaries together to form “Regions”. This process is called “Spatial Aggregation” and licenses for Oracle Spatial are required in order to do this.

The following link within the Oracle Database Documentation explains the differences between Oracle Locator and Spatial in more detail:
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11830/sdo_locator.htm#i632018

Or please Contact Us should you require any advice.


9) Are Google Maps free to use?
* THIS IS ONLY FOR GUIDANCE, ALWAYS CONSULT GOOGLE TO BE SURE OF THE EXACT LICENSING TERMS *


Google Maps are free for anyone to integrate with whenever the maps are used for a web-site which is freely and publicly available on the internet.
If your web-site or OBIEE 11g application is for an internal/private system then you may be subject to license fees to be able to integrate with Google Maps.
Please consult Google to get the most up-to-date details on licensing.


10) Do we need extra licenses to use MapViewer with OBIEE 11g?


No. As long as you are licensed for OBIEE 11g then you are able to use the MapViewer engine that is installed as part of the OBIEE 11g product suite.

Please note that you will need an Oracle Database for storing the "layers" (e.g. country boundaries) that are to be rendered on top of your background maps. Licenses for the Oracle Database are not included with the OBIEE 11g suite, so you will have to purchase the database licenses separately.


11) Can OBIEE 11g Maps be displayed in BI Publisher 11g Reports
?
Currently, it is not possible to display OBIEE 11g maps within the integrated BI Publisher 11g reports.


12) 
How does OBIEE 11g and MapViewer Integration perform?
There are several characteristics of the OBIEE 11g / MapViewer / Spatial integration architecture that provide excellent performance and scalability:
  • The Oracle Database comes equipped with spatial indexing, caching and many other capabilities to optimise “spatial” operations on the database
  • The Oracle MapViewer engine has its own caching abilities that keep previously generated Base Map and Theme images stored so that they can be re-used again. This cache works effectively even if a sub-set of a map is required
  • OBIEE 11g also has two levels of caching to optimise not only the querying of report data but also the presentation of report objects (charts, tables etc)
  • The Oracle Database, MapViewer and BI EE are all “horizontally scalable”, so you get the full benefits of a scalable and high-availability architecture throughout the technology stack
  • OBIEE 11g only passes over the “summarised” data to Oracle MapViewer. So if you are displaying data for 5 “World Regions” on a map, then OBIEE 11g will first aggregate the data and then pass over only 5 pieces of information to Oracle MapViewer (even if your data set consists of millions of records on the database)
Note that OBIEE 11g does not need to pass over any “geometry” information to MapViewer. For example, to display a data for 5 World Regions on a map it will only needs to pass:

Europe 100,000
North America 150,000
South America 111,000
Asia 90,000
Australia 74,000

Oracle MapViewer will then take this small amount of information and then render the Regions listed on the map by getting the geometries from its own underlying Oracle database (unless cache entries exist, in which case the relevant images will be obtained direct from cache).


13) 
Is there any training available on OBIEE 11g and MapViewer Integration? 
Yes. Peak Indicators have developed a special 2-day training focussed on SOA and Spatial integration with OBIEE 11g. Peak Indicators can deliver this training publicly (through Oracle University) or privately upon request.

Please click here to see more details: OBIEE 11g Advanced SOA Spatial

Or for further information, please Contact Us.


14) What if my Subject Areas contain Lat/Long co-ordinates?
OBIEE 11g does support the use of "Custom Point Layers", which means that if your Subject Areas contain lat/long co-ordinates then you can render them on top of a base map using your own custom images.

For example: You can show your customer locations using "x" icons on top of a base map sourced from Google.

However, for release 11.1.1.5 of OBIEE 11g please note that you still need to have some "layer" data stored in an Oracle database to be able to use your own custom point layers.


15) Should I choose NAVTEQ or Google Maps? 
Both map providers can deliver excellent results within OBIEE 11g. The key difference is that NAVTEQ maps are imported and stored within your Oracle Database whereas Google Maps are delivered over the internet (a secure connection is possible).

The advantages of NAVTEQ maps are:

- You have greater control on how the background maps are displayed (e.g. configure layers, colours, font sizes, images etc)
- You have full control of security (e.g. no data is transferred over the internet)
- You have full control of performance/scalability/availability (everything runs on your own hardware)
- You do not need a network connection to the internet

Note however that you will need to purchase detailed maps from NAVTEQ if the sample map data does not contain the level of detail you need.

There are advantages of Google maps:

- You don't need to store digital map data in your Oracle database
NOTE: you still need an Oracle Database to display "layers" on top of your base map

- Users tend to be familiar with the look and style of Google Maps
- People tend to think Google Maps are "slicker"
- Licenses to use Google Maps for internal/private use could work out better value