Maps starting post
This post starts a series of posts about using GIS data for visualizing an information in OBIEE. I don't know how many of them will be and how much time will it take to write. Right now the plan is the following:
- Announce/contents [this post]
- Building GDAL/OGR with required features.
- Basics of using of GDAL/OGR to load OpenStreetMaps data into Oracle.
- Creating Layers/Maps with Oracle Map Builder
- Setup Mapviewer
- Setup OBIEE
- Using maps and layers for creating Analysis (very basic). [coming someday]
That's the plan, but it's possible that other topics will emerge, or some of these will split or disappear, or something else will happen. I will update this post to reflect all changes.
Note #1. Every time I say "database" I mean "Oracle database". While some of this information may be applied to other databases like PostgreSQL, my intent is to show how to use map data in Oracle BI.
Note #2/disclaimer. Every problem has many solutions, and I'm not a professional GIS developer, I need GIS only for spicing up reports. So it's possible that my solution is far from the best. If you found an error or ready to share other solution, I invite you to the comments below.
Top level description
When it comes to showing any data on a map, we must decide where to get a definition for layers to show our data, and which basemap to use with those layers.
The easiest solution for a basemap is to use online services. Out-of-box, you can use Google maps, Bing maps, Nokia maps, and Oracle maps (also known as eLocation). And as far as I know (but I can be wrong, I'm not a salesperson) Oracle maps service is free for use with OBIEE. Other services are paid, but not expensive unless you have thousands of users working with maps. These online services give you nice maps with great detalization. But the problem is that sometimes we can't use them. Causes are different, the most typical one is "our LAN is disconnected from the Internet for security reasons". This is usual for the banks or state services.
One of the possible solutions is to create our own local map server and use it. I'm going to show how to create this local server with Oracle technological stack and Open Street Maps (OSM) as a source of maps data.
There are many ways to get OSM data. But we can divide them into two and a half groups.
1. Take Planet.osm raw data from directly from OSM and load it into our database. We can extract a part of this data before loading of course.
1.5 Take some extract from Planet.osm made by someone else and load it into our database. There are many companies and communities which make such extracts on a regular basis: gis-lab, bbbike, geofabrik and many others.
2. Take some prepared data (usually ESRI shape file) made by someone and load it into our database.
From the technical point of view, the first and a half options are very similar as we have to deal with a file (or files) of the same format. The core difference is that full OSM data file enough, and we have to make some additional steps for specifying a subset of the data. The third option is the simplest one. It's very easy to upload shape file into Oracle database with Oracle's Mapbuilder tool. There is mush information on this topic, so I won't stop on it for a long time.
Next post will show how to build GDAL/OGR open-source tool with options required for it to work with Oracle Spatial option.
OBIEE specialist since 2007 and Oracle Discoverer before. DWH architect, BI enthusiast, blogger. Lazy cats owner. All opinions are my own and not the views of my employer.