Oracle Fusion Middleware Online Documentation Library

(1)

Oracle® Fusion Middleware

User's Guide for Oracle MapViewer

11g Release 1 (11.1.1)

E10145-05

December 2010

Describes how to use Oracle MapViewer, a tool that renders maps showing different kinds of spatial data.


(2)

Oracle Fusion Middleware User's Guide for Oracle MapViewer, 11g Release 1 (11.1.1) E10145-05

Copyright © 2001, 2010, Oracle and/or its affiliates. All rights reserved. Primary Author: Chuck Murray

Contributors: Joao Paiva, L.J. Qian, Ji Yang

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.


(3)

iii

Contents

List of Examples List of Figures List of Tables

Preface

... xvii

Audience... xvii

Documentation Accessibility ... xvii

Related Documentation ... xviii

Conventions ... xviii

New and Changed Features

... xix

MapViewer Core ... xix

Oracle Maps ... xxii

1

Introduction to MapViewer

1.1 Overview of MapViewer ... 1-1 1.1.1 Basic Flow of Action with MapViewer... 1-2 1.1.2 MapViewer Architecture ... 1-3 1.2 Getting Started with MapViewer ... 1-4 1.3 Prerequisite Software for MapViewer ... 1-4 1.4 Installing and Deploying MapViewer ... 1-4 1.4.1 Deploying MapViewer in a WebLogic Server Environment ... 1-5 1.4.1.1 Unpacking the MapViewer EAR Archive... 1-6 1.4.1.2 Configuring WebLogic Server ... 1-7 1.4.1.3 Deploying and Starting MapViewer in WebLogic Server... 1-7 1.4.1.4 Using the MapViewer Administration Page ... 1-11 1.4.2 Deploying MapViewer in an Oracle Fusion Middleware 10gR3 Environment ... 1-12 1.4.3 Installing MapViewer with a Standalone Installation of OC4J... 1-15 1.4.4 After Deploying MapViewer ... 1-15 1.4.4.1 Verifying That the Deployment Was Successful... 1-15 1.4.4.2 Running SQL Scripts... 1-16 1.4.4.3 Creating MapViewer Array Types, if Necessary... 1-16 1.5 Administering MapViewer... 1-17 1.5.1 Logging in to the MapViewer Administration Page ... 1-17 1.5.2 Configuring MapViewer ... 1-18 1.5.2.1 Specifying Logging Information ... 1-25 1.5.2.2 Specifying Map File Storage and Life Cycle Information... 1-27 1.5.2.3 Restricting Administrative (Non-Map) Requests ... 1-28


(4)

iv

1.5.2.4 Specifying a Web Proxy... 1-29 1.5.2.5 Specifying Global Map Configuration Options ... 1-29 1.5.2.6 Customizing the Spatial Data Cache ... 1-31 1.5.2.7 Specifying the Security Configuration ... 1-31 1.5.2.8 Registering a Custom Image Renderer... 1-32 1.5.2.9 Registering a Custom Spatial Provider ... 1-32 1.5.2.10 Registering Custom Nonspatial Data Providers... 1-32 1.5.2.11 Customizing SRS Mapping ... 1-33 1.5.2.12 Customizing WMS GetCapabilities Responses... 1-33 1.5.2.13 Configuring the Map Tile Server for Oracle Maps ... 1-34 1.5.2.14 Defining Permanent Map Data Sources ... 1-34 1.5.3 Performing MapViewer Administrative Tasks ... 1-37 1.6 Oracle Real Application Clusters and MapViewer... 1-38 1.6.1 Creating a Container Oracle RAC Data Source... 1-38 1.6.2 Adding the userThreads Option to the OC4J Container ... 1-40 1.6.2.1 Adding userThreads for a Standalone OC4J Instance ... 1-40 1.6.2.2 Adding userThreads for a Full Oracle Fusion Middleware 10gR3 Installation 1-40 1.6.3 Creating a MapViewer Data Source... 1-40 1.7 High Availability and MapViewer... 1-41 1.7.1 Deploying MapViewer on a Multiprocess OC4J Instance ... 1-41 1.7.2 Deploying MapViewer on a Middle-Tier Cluster... 1-41 1.8 Secure Map Rendering ... 1-42 1.8.1 How Secure Map Rendering Works ... 1-43 1.8.2 Getting the User Name from a Cookie ... 1-45 1.8.3 Authenticating Users: Options and Demo... 1-45 1.9 MapViewer Demos and Tutorials ... 1-46

2

MapViewer Concepts

2.1 Overview of MapViewer ... 2-1 2.2 Styles ... 2-2 2.2.1 Scaling the Size of a Style (Scalable Styles) ... 2-3 2.2.2 Specifying a Label Style for a Bucket ... 2-4 2.2.3 Orienting Text Labels and Markers ... 2-6 2.2.3.1 Controlling Text Style Orientation... 2-6 2.2.3.2 Controlling Marker Orientation ... 2-7 2.2.4 Making a Text Style Sticky ... 2-8 2.2.5 Getting a Sample Image of Any Style ... 2-8 2.3 Themes... 2-10 2.3.1 Predefined Themes ... 2-10 2.3.1.1 Styling Rules in Predefined Spatial Geometry Themes ... 2-11 2.3.1.2 How MapViewer Formulates a SQL Query for a Styling Rule ... 2-12 2.3.1.3 Styling Rules with Binding Parameters... 2-14 2.3.1.4 Applying Multiple Rendering Styles in a Single Styling Rule... 2-14 2.3.1.5 Caching of Predefined Themes... 2-15 2.3.1.6 Feature Labels and Internationalization ... 2-16 2.3.2 JDBC Themes... 2-19 2.3.2.1 Defining a Point JDBC Theme Based on Two Columns ... 2-20


(5)

v 2.3.2.2 Storing Complex JDBC Themes in the Database ... 2-22 2.3.3 Image Themes ... 2-22 2.3.3.1 Creating Predefined Image Themes ... 2-24 2.3.4 GeoRaster Themes ... 2-25 2.3.4.1 Creating Predefined GeoRaster Themes ... 2-27 2.3.4.2 Using Bitmap Masks with GeoRaster Themes ... 2-32 2.3.4.3 Reprojection of GeoRaster Themes ... 2-33 2.3.5 Network Themes... 2-33 2.3.5.1 Creating Predefined Network Themes... 2-35 2.3.5.2 Using MapViewer for Network Analysis ... 2-36 2.3.6 Topology Themes ... 2-37 2.3.6.1 Creating Predefined Topology Themes ... 2-39 2.3.7 WFS Themes ... 2-40 2.3.7.1 Creating Predefined WFS Themes ... 2-42 2.3.8 Custom Geometry Themes... 2-43 2.3.9 Annotation Text Themes ... 2-47 2.3.10 Thematic Mapping ... 2-51 2.3.10.1 Thematic Mapping Using External Attribute Data ... 2-57 2.3.11 Attributes Affecting Theme Appearance ... 2-60 2.4 Maps... 2-61 2.4.1 Map Size and Scale ... 2-62 2.4.2 Map Legend... 2-64 2.5 Data Sources ... 2-67 2.6 How a Map Is Generated ... 2-68 2.7 Cross-Schema Map Requests ... 2-69 2.8 Workspace Manager Support in MapViewer ... 2-71 2.9 MapViewer Metadata Views... 2-74 2.9.1 xxx_SDO_MAPS Views ... 2-75 2.9.2 xxx_SDO_THEMES Views ... 2-75 2.9.3 xxx_SDO_STYLES Views... 2-75

3

MapViewer Map Request XML API

3.1 Map Request Examples ... 3-2 3.1.1 Simple Map Request... 3-2 3.1.2 Map Request with Dynamically Defined Theme... 3-3 3.1.3 Map Request with Base Map, Center, and Additional Predefined Theme ... 3-3 3.1.4 Map Request with Center, Base Map, Dynamically Defined Theme, and Other

Features 3-4

3.1.5 Map Request for Point Features with Attribute Value and Dynamically Defined Variable Marker Style 3-5

3.1.6 Map Request with an Image Theme ... 3-6 3.1.7 Map Request for Image of Map Legend Only ... 3-7 3.1.8 Map Request with SRID Different from Data SRID ... 3-8 3.1.9 Map Request Using a Pie Chart Theme... 3-9 3.1.10 Map Request Using Ratio Scale and Mixed Theme Scale Modes... 3-11 3.1.11 Map Request Using Predefined Theme (Binding Parameter and Custom Type) ... 3-12 3.1.12 Map Request Using Advanced Styles and Rendering Rules... 3-12


(6)

vi

3.1.13 Map Request Using Stacked Styles ... 3-14 3.1.14 WFS Map Requests ... 3-15 3.1.15 Java Program Using MapViewer... 3-18 3.1.16 PL/SQL Program Using MapViewer ... 3-20 3.2 Map Request DTD ... 3-21 3.2.1 map_request Element... 3-26 3.2.1.1 map_request Attributes ... 3-27 3.2.2 bounding_themes Element... 3-31 3.2.3 box Element ... 3-34 3.2.4 center Element... 3-35 3.2.5 geoFeature Element ... 3-35 3.2.6 jdbc_georaster_query Element... 3-38 3.2.7 jdbc_image_query Element ... 3-38 3.2.8 jdbc_network_query Element ... 3-40 3.2.9 jdbc_query Element ... 3-40 3.2.10 jdbc_topology_query Element ... 3-42 3.2.11 legend Element... 3-42 3.2.12 map_tile_theme Element ... 3-46 3.2.13 north_arrow Element ... 3-46 3.2.14 operation Element... 3-47 3.2.15 operations Element ... 3-48 3.2.16 parameter Element ... 3-48 3.2.17 scale_bar Element ... 3-48 3.2.18 style Element ... 3-49 3.2.19 styles Element... 3-50 3.2.20 theme Element... 3-51 3.2.21 themes Element ... 3-54 3.2.22 theme_modifiers Element... 3-54 3.3 Information Request DTD ... 3-55 3.4 Map Response DTD... 3-56 3.5 MapViewer Exception DTD ... 3-57 3.6 Geometry DTD (OGC) ... 3-57

4

MapViewer JavaBean-Based API

4.1 Usage Model for the MapViewer JavaBean-Based API ... 4-1 4.2 Preparing to Use the MapViewer JavaBean-Based API ... 4-3 4.3 Using the MapViewer Bean... 4-3 4.3.1 Creating the MapViewer Bean... 4-4 4.3.2 Setting Up Parameters of the Current Map Request ... 4-4 4.3.3 Adding Themes or Features to the Current Map Request... 4-6 4.3.4 Adding Dynamically Defined Styles to a Map Request ... 4-8 4.3.5 Manipulating Themes in the Current Map Request... 4-10 4.3.6 Sending a Request to the MapViewer Service... 4-12 4.3.7 Extracting Information from the Current Map Response... 4-13 4.3.8 Obtaining Information About Data Sources... 4-13 4.3.9 Querying Nonspatial Attributes in the Current Map Window ... 4-14 4.3.10 Using Optimal Methods for Thick Clients ... 4-15


(7)

vii

5

MapViewer JSP Tag Library

5.1 Using MapViewer JSP Tags... 5-2 5.2 MapViewer JSP Tag Reference Information ... 5-3 5.2.1 addJDBCTheme... 5-3 5.2.2 addPredefinedTheme... 5-5 5.2.3 getMapURL ... 5-5 5.2.4 getParam ... 5-6 5.2.5 identify ... 5-6 5.2.6 importBaseMap... 5-8 5.2.7 init ... 5-8 5.2.8 makeLegend ... 5-8 5.2.9 run ... 5-9 5.2.10 setParam... 5-10 5.3 JSP Example (Several Tags) for MapViewer ... 5-11

6

MapViewer PL/SQL API

6.1 Installing the SDO_MVCLIENT Package... 6-1 6.2 Using the SDO_MVCLIENT Package ... 6-2 6.2.1 Granting Network Access ... 6-2 6.2.2 Creating a MapViewer Client Handle ... 6-3 6.2.3 Preparing a Map Request ... 6-3 6.2.4 Sending the Request to the MapViewer Service ... 6-4 6.2.5 Extracting Information from the Map Request ... 6-4

7

MapViewer XML Requests: Administrative and Other

7.1 Managing Data Sources ... 7-1 7.1.1 Adding a Data Source (Administrative)... 7-2 7.1.2 Removing a Data Source (Administrative) ... 7-4 7.1.3 Redefining a Data Source ... 7-4 7.1.4 Listing All Data Sources (Administrative or General-Purpose) ... 7-5 7.1.5 Checking the Existence of a Data Source (General-Purpose)... 7-6 7.2 Listing All Maps (General-Purpose) ... 7-7 7.3 Listing Themes (General-Purpose)... 7-8 7.4 Listing Styles (General-Purpose) ... 7-9 7.5 Listing Styles Used by a Predefined Theme (General-Purpose) ... 7-10 7.6 Managing In-Memory Caches... 7-11 7.6.1 Clearing Metadata Cache for a Data Source (Administrative) ... 7-11 7.6.2 Clearing Spatial Data Cache for a Theme (Administrative)... 7-12 7.7 Editing the MapViewer Configuration File (Administrative)... 7-13 7.8 Restarting the MapViewer Server (Administrative)... 7-13

8

Oracle Maps

8.1 Overview of Oracle Maps ... 8-1 8.1.1 Architecture for Oracle Maps Applications... 8-2 8.1.2 Simple Example Using Oracle Maps ... 8-3


(8)

viii

8.1.3 How Map Content Is Organized ... 8-6 8.1.3.1 Map Tile Layers ... 8-6 8.1.3.2 Theme-Based FOI Layers... 8-7 8.1.3.3 User-Defined FOI Layers... 8-7 8.1.3.4 Information Window Layer ... 8-8 8.1.3.5 Fixed Figures Layer... 8-8 8.2 Map Tile Server ... 8-8 8.2.1 Map Tile Server Concepts... 8-9 8.2.1.1 Map Tile Layers and Map Tile Sources ... 8-9 8.2.1.2 Storage of Map Image Tiles... 8-9 8.2.1.3 Coordinate System for Map Tiles... 8-9 8.2.1.4 Tile Mesh Codes... 8-10 8.2.1.5 Tiling Rules... 8-11 8.2.2 Map Tile Server Configuration ... 8-11 8.2.2.1 Global Map Tile Server Configuration ... 8-12 8.2.2.2 Map Tile Layer Configuration ... 8-12 8.2.3 External Map Source Adapter... 8-17 8.3 Feature of Interest (FOI) Server ... 8-21 8.3.1 Theme-Based FOI Layers... 8-22 8.3.1.1 Predefined Theme-Based FOI Layers ... 8-22 8.3.1.2 Templated Predefined Themes... 8-23 8.3.1.3 Dynamic JDBC Query Theme-Based FOI Layers ... 8-24 8.3.2 User-Defined FOI Requests... 8-24 8.4 Oracle Maps JavaScript API ... 8-24 8.5 Developing Oracle Maps Applications... 8-25 8.5.1 Creating One or More Map Tile Layers... 8-26 8.5.2 Defining FOI Metadata ... 8-26 8.5.3 Creating the Client Application... 8-26 8.6 Built-in Map Tile Layers (Google Maps and Bing Maps) ... 8-28 8.6.1 Defining the Built-in Map Tile Layers on the Client Side... 8-28 8.6.2 Defining the Built-In Map Tile Layers on the Server Side... 8-28 8.7 Transforming Data to a Spherical Mercator Coordinate System ... 8-29 8.7.1 Creating a Transformation Rule to Skip Datum Conversion... 8-30

9

Oracle Map Builder Tool

9.1 Running Oracle Map Builder ... 9-1 9.2 Oracle Map Builder User Interface... 9-2

A

XML Format for Styles, Themes, Base Maps, and Map Tile Layers

A.1 Color Styles ... A-2 A.2 Marker Styles ... A-2 A.2.1 Vector Marker Styles ... A-3 A.2.2 Image Marker Styles... A-4 A.2.3 TrueType Font-Based Marker Styles... A-4 A.2.4 Using Marker Styles on Lines ... A-5 A.3 Line Styles ... A-6 A.4 Area Styles ... A-7


(9)

ix A.5 Text Styles ... A-7 A.6 Advanced Styles... A-8 A.6.1 Bucket Styles... A-9 A.6.1.1 Collection-Based Buckets with Discrete Values... A-9 A.6.1.2 Individual Range-Based Buckets... A-10 A.6.1.3 Equal-Ranged Buckets ... A-10 A.6.2 Color Scheme Styles ... A-11 A.6.3 Variable Marker Styles... A-12 A.6.4 Dot Density Marker Styles ... A-12 A.6.5 Bar Chart Marker Styles... A-13 A.6.6 Collection Styles... A-13 A.6.7 Variable Pie Chart Styles ... A-14 A.6.8 Heat Map Styles ... A-15 A.7 Themes: Styling Rules ... A-16 A.8 Base Maps... A-21 A.9 Map Tile Layers... A-22

B

JavaScript Functions for SVG Maps

B.1 Navigation Control Functions... B-1 B.2 Display Control Functions... B-2 B.3 Mouse-Click Event Control Functions... B-2 B.3.1 Predefined Mouse-Click Control Functions ... B-2 B.3.2 User-Defined Mouse Event Control Functions ... B-3 B.3.2.1 Map-Level Functions ... B-3 B.3.2.2 Theme-Level Functions ... B-4 B.3.2.3 Selection Event Control Functions ... B-5 B.4 Other Control Functions ... B-5

C

Creating and Registering a Custom Image Renderer

D

Creating and Registering a Custom Spatial Data Provider

D.1 Implementing the Spatial Provider Class... D-2 D.2 Registering the Spatial Provider with MapViewer... D-5 D.3 Rendering the External Spatial Data ... D-5

E

OGC WMS Support in MapViewer

E.1 Setting Up the WMS Interface for MapViewer... E-1 E.1.1 Required Files... E-1 E.1.2 Data Source Named wms ... E-2 E.1.3 SDO to EPSG SRID Mapping File ... E-2 E.2 WMS Specification and Corresponding MapViewer Concepts... E-2 E.2.1 Supported GetMap Request Parameters ... E-3 E.2.1.1 BASEMAP Parameter (MapViewer-Only)... E-3 E.2.1.2 BBOX Parameter ... E-4 E.2.1.3 BGCOLOR Parameter ... E-4 E.2.1.4 DATASOURCE Parameter (MapViewer-Only)... E-4


(10)

x

E.2.1.5 DYNAMIC_STYLES Parameter (MapViewer-Only)... E-4 E.2.1.6 EXCEPTIONS Parameter... E-4 E.2.1.7 FORMAT Parameter ... E-4 E.2.1.8 HEIGHT Parameter... E-4 E.2.1.9 LAYERS Parameter ... E-4 E.2.1.10 LEGEND_REQUEST Parameter (MapViewer-Only)... E-5 E.2.1.11 MVTHEMES Parameter (MapViewer-Only)... E-5 E.2.1.12 REQUEST Parameter ... E-5 E.2.1.13 SERVICE Parameter ... E-5 E.2.1.14 SRS (1.1.1) or CRS (1.3.0) Parameter ... E-5 E.2.1.15 STYLES Parameter... E-5 E.2.1.16 TRANSPARENT Parameter... E-5 E.2.1.17 VERSION Parameter... E-6 E.2.1.18 WIDTH Parameter... E-6 E.2.2 Supported GetCapabilities Request and Response Features ... E-6 E.2.3 Supported GetFeatureInfo Request and Response Features ... E-8 E.2.3.1 GetMap Parameter Subset for GetFeatureInfo Requests ... E-9 E.2.3.2 EXCEPTIONS Parameter... E-9 E.2.3.3 FEATURE_COUNT Parameter ... E-9 E.2.3.4 INFO_FORMAT Parameter ... E-10 E.2.3.5 QUERY_LAYERS Parameter ... E-10 E.2.3.6 QUERY_TYPE Parameter (MapViewer-Only) ... E-10 E.2.3.7 RADIUS Parameter (MapViewer-Only)... E-10 E.2.3.8 UNIT Parameter (MapViewer-Only)... E-10 E.2.3.9 X and Y or I and J Parameters... E-10 E.2.3.10 Specifying Attributes to Be Queried for a GetFeatureInfo Request ... E-10 E.3 Adding a WMS Map Theme... E-11 E.3.1 XML API for Adding a WMS Map Theme ... E-11 E.3.2 Predefined WMS Map Theme Definition... E-14 E.3.3 Authentication with WMS Map Themes... E-14 E.3.4 JavaBean-Based API for Adding a WMS Map Theme ... E-15

Index


(11)

xi

List of Examples

1–1 Sample MapViewer Configuration File... 1-19 1–2 Restricting Administrative Requests... 1-28 1–3 PL/SQL Package for Secure Map Rendering ... 1-43 1–4 View for Secure Map Rendering... 1-44 1–5 Data Source Definition for Secure Map Rendering... 1-44 1–6 Data Source Definition Specifying Cookie Name ... 1-45 2–1 Scalable Marker Style ... 2-4 2–2 Scalable Line Style... 2-4 2–3 Advanced Style with Text Label Style for Each Bucket ... 2-4 2–4 Labeling an Oriented Point ... 2-7 2–5 Text Style with Sticky Attribute... 2-8 2–6 XML Definition of Styling Rules for an Airport Theme... 2-11 2–7 Styling Rules Using the <rendering> Element ... 2-15 2–8 JDBC Theme in a Map Request... 2-20 2–9 JDBC Theme Based on Columns ... 2-21 2–10 JDBC Theme Based on Columns, with Query Window... 2-21 2–11 Complex Query in a Predefined Theme ... 2-22 2–12 Creating a Predefined Image Theme ... 2-24 2–13 GeoRaster Theme Containing a SQL Statement... 2-27 2–14 GeoRaster Theme Specifying a Raster ID and Raster Data Table... 2-27 2–15 Creating a Predefined GeoRaster Theme ... 2-27 2–16 Preparing GeoRaster Data for Use with a GeoRaster Theme... 2-28 2–17 Bitmap Mask in Predefined GeoRaster Theme... 2-32 2–18 Reprojection Mode in Predefined GeoRaster Theme ... 2-33 2–19 Network Theme ... 2-35 2–20 Creating a Predefined Network Theme... 2-35 2–21 Network Theme for Shortest-Path Analysis ... 2-36 2–22 Network Theme for Within-Cost Analysis ... 2-37 2–23 Topology Theme ... 2-38 2–24 Topology Theme Using Debug Mode... 2-39 2–25 Creating a Predefined Topology Theme ... 2-39 2–26 WFS Request with a Dynamic WFS Theme ... 2-42 2–27 Creating a Predefined WFS Theme ... 2-42 2–28 Map Request with Predefined WFS Theme ... 2-43 2–29 Defining a Dynamic Custom Geometry Theme ... 2-46 2–30 Storing a Predefined Custom Geometry Theme ... 2-46 2–31 Styling Rules for a Predefined Annotation Text Theme ... 2-48 2–32 Dynamic Annotation Text Theme Definition ... 2-49 2–33 Dynamic Annotation Text Theme with Default Annotation Column ... 2-49 2–34 Script to Generate Annotation Text Data ... 2-49 2–35 XML Definition of Styling Rules for an Earthquakes Theme ... 2-52 2–36 Advanced Style Definition for an Earthquakes Theme... 2-53 2–37 Mapping Population Density Using a Graduated Color Scheme... 2-54 2–38 Mapping Average Household Income Using a Graduated Color Scheme ... 2-54 2–39 Mapping Average Household Income Using a Color for Each Income Range ... 2-55 2–40 Advanced Style Definition for Gasoline Stations Theme... 2-56 2–41 Styling Rules of Theme Definition for Gasoline Stations... 2-56 2–42 Nonspatial (External) Data Provider Implementation ... 2-58 2–43 XML Definition of a Base Map... 2-61 2–44 Legend Included in a Map Request... 2-64 2–45 Map Request with Automatic Legend ... 2-65 2–46 Automatic Legend with Themes Specified ... 2-66 2–47 Cross-Schema Access: Geometry Table ... 2-69 2–48 Cross-Schema Access: GeoRaster Table ... 2-70


(12)

xii

2–49 Cross-Schema Access: Topology Feature Table ... 2-70 2–50 Cross-Schema Access: Network Tables ... 2-71 2–51 Workspace Manager-Related Attributes in a Map Request ... 2-72 2–52 <list_workspace_name> Element in an Administrative Request... 2-72 2–53 <list_workspace_session> Element in an Administrative Request ... 2-73 2–54 Finding Styles Owned by the MDSYS Schema... 2-76 3–1 Simple Map Request ("Hello World") ... 3-3 3–2 Simple Map Request with a Dynamically Defined Theme... 3-3 3–3 Map Request with Base Map, Center, and Additional Predefined Theme ... 3-3 3–4 Map Request with Center, Base Map, Dynamically Defined Theme, Other Features... 3-4 3–5 Map Request for Point Features with Attribute Value and Dynamically Defined Variable

Marker Style 3-5

3–6 Map Request with an Image Theme... 3-6 3–7 Map Request for Image of Map Legend Only ... 3-7 3–8 Map Request with SRID Different from Data SRID... 3-8 3–9 Map Request Using a Pie Chart Theme ... 3-9 3–10 JDBC Theme Using a Pie Chart Style... 3-10 3–11 Map Request Using Ratio Scale and Mixed Theme Scale Modes ... 3-11 3–12 Map Request Using Predefined Theme (Binding Parameter and Custom Type) ... 3-12 3–13 Map Request Using Advanced Styles and Rendering Rules... 3-12 3–14 Map Request Using Stacked Styles ... 3-14 3–15 Map Request Using Predefined WFS Theme... 3-15 3–16 Map Request Using Dynamic WFS Theme ... 3-16 3–17 Map Request Using Dynamic WFS Theme with an Advanced Style... 3-17 3–18 Java Program That Interacts with MapViewer ... 3-18 3–19 PL/SQL Program That Interacts with MapViewer... 3-20 3–20 North Arrow ... 3-46 3–21 Normalization Operation with a GeoRaster Theme ... 3-47 3–22 Styling Rules with Normalization Operation in a GeoRaster Theme ... 3-48 3–23 Scale Bar ... 3-49 3–24 MapViewer Information Request ... 3-56 3–25 Map Response ... 3-57 5–1 MapViewer Operations Using JSP Tags ... 5-12 6–1 Preparing a Map Request... 6-3 7–1 Adding a Data Source by Specifying Detailed Connection Information... 7-3 7–2 Adding a Data Source by Specifying the Container Data Source... 7-3 7–3 Removing a Data Source... 7-4 8–1 Source Code for the Simple Application ... 8-5 8–2 XML Definition of an Internal Map Tile Layer... 8-14 8–3 XML Definition of an External Map Tile Layer ... 8-14 8–4 External Map Source Adapter... 8-18 8–5 MapSourceAdapter.getTileImageBytes Implementation ... 8-20 8–6 XML Styling Rules for Predefined Theme Used for FOI Layer ... 8-22 8–7 XML Styling Rules for a Templated Predefined Theme ... 8-23 8–8 Theme for Dynamic JDBC Query ... 8-24 8–9 Transformation Rules Defined in the csdefinition.sql Script ... 8-30 C–1 Custom Image Renderer for ECW Image Format ... C-2 D–1 Implementing the Spatial Provider Class... D-2 D–2 Map Request to Render External Spatial Data ... D-6 E–1 GetMap Requests ... E-3 E–2 GetCapabilities Response (Excerpt) ... E-7 E–3 GetFeatureInfo Request... E-8 E–4 GetFeatureInfo Response... E-9 E–5 Adding a WMS Map Theme (XML API) ... E-13 E–6 Creating a Predefined WMS Theme... E-14


(13)

xiii E–7 WMS Theme with Authentication Specified ... E-15


(14)

xiv

List of Figures

1–1 Basic Flow of Action with MapViewer ... 1-3 1–2 MapViewer Architecture ... 1-3 1–3 WebLogic Administration Console (Deployments)... 1-8 1–4 WebLogic Administration Console (Location)... 1-9 1–5 WebLogic Administration Console (Source Accessibility) ... 1-10 1–6 WebLogic Administration Console (Starting MapViewer) ... 1-11 1–7 Starting MapViewer Deployment ... 1-13 1–8 Specifying the mapviewer.ear Location ... 1-14 1–9 Specifying the Application Name... 1-14 1–10 MapViewer Welcome Page ... 1-17 1–11 MapViewer Administration Page... 1-18 1–12 Administration Tab for Creating Oracle RAC Container Data Source... 1-39 1–13 Testing the Connection for the Data Source ... 1-39 2–1 Varying Label Styles for Different Buckets ... 2-5 2–2 Map Display of the Label for an Oriented Point ... 2-7 2–3 Oriented Marker... 2-8 2–4 Sample Image of a Specified Marker Style... 2-9 2–5 Sample Image of a Specified Line Style ... 2-9 2–6 Specifying a Resource Bundle for a Theme... 2-18 2–7 Image Theme and Other Themes Showing Boston Roadways ... 2-23 2–8 Thematic Mapping: Advanced Style and Theme Relationship ... 2-52 2–9 Map with Legend... 2-65 3–1 Map Display Using a Pie Chart Theme ... 3-10 3–2 Bounding Themes ... 3-34 3–3 Orientation Vector ... 3-36 3–4 Map with <geoFeature> Element Showing Two Concentric Circles ... 3-38 3–5 Two-Column Map Legend ... 3-44 4–1 MapViewer Bean Usage Scenarios ... 4-2 8–1 Architecture for Oracle Maps Applications ... 8-2 8–2 Application Created Using Oracle Maps ... 8-4 8–3 Layers in a Map ... 8-6 8–4 Workflow of the Map Tile Server ... 8-8 8–5 Tiling with a Longitude/Latitude Coordinate System ... 8-10 8–6 Tile Mesh Codes ... 8-11 9–1 Oracle Map Builder Main Window... 9-2 A–1 Shield Symbol Marker for a Highway ... A-5 A–2 Text Style with White Background... A-8 A–3 Heat Map Showing Pizza Restaurant Concentration ... A-15 D–1 Map Image Using Custom Geometry Theme and External Spatial Data... D-7 E–1 Using Map Builder to Specify Authentication with a WMS Theme ... E-15


(15)

xv

List of Tables

2–1 Style Types and Applicable Geometry Types... 2-3 2–2 Table Used with Gasoline Stations Theme... 2-57 2–3 xxx_SDO_MAPS Views... 2-75 2–4 xxx_SDO_THEMES Views ... 2-75 2–5 xxx_SDO_STYLES Views... 2-75 3–1 Image processing Options for GeoRaster Theme Operations ... 3-47 5–1 JSP Tags for MapViewer ... 5-3 5–2 addJDBCTheme Tag Parameters ... 5-4 5–3 addPredefinedTheme Tag Parameters ... 5-5 5–4 getParam Tag Parameter... 5-6 5–5 identify Tag Parameters ... 5-6 5–6 importBaseMap Tag Parameter ... 5-8 5–7 init Tag Parameters... 5-8 5–8 makeLegend Tag Parameters... 5-9 5–9 run Tag Parameters... 5-10 5–10 setParam Tag Parameters ... 5-10 8–1 USER_SDO_CACHED_MAPS View ... 8-12


(16)

(17)

xvii

Preface

Oracle Fusion Middleware User's Guide for Oracle MapViewer describes how to install and use Oracle MapViewer (MapViewer), a tool that renders maps showing different kinds of spatial data.

Audience

This document is intended primarily for programmers who develop applications that require maps to be drawn. You should understand Oracle database concepts and the major concepts associated with XML, including DTDs. You should also be familiar with Oracle Spatial or Oracle Locator concepts, or at least have access to Oracle Spatial Developer's Guide.

This document is not intended for end users of Web sites or client applications.

Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our

documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading

technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an

otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or

organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/support/contact.html or visit


(18)

xviii

http://www.oracle.com/accessibility/support.html if you are hearing impaired.

Related Documentation

For more information, see the following documents in the Oracle Database documentation set:

Oracle Spatial Developer's Guide

Oracle Spatial GeoRaster Developer's Guide

Oracle Spatial Topology and Network Data Models Developer's GuideOracle Database Concepts

Oracle Database SQL Language Reference

See also the following document in the Oracle Fusion Middleware documentation set: ■ Oracle Fusion Middleware High Availability Guide

Conventions

The following text conventions are used in this document:

Convention Meaning

boldface Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.


(19)

xix

New and Changed Features

This section describes major features that are new or changed since the previous release of MapViewer, which was included in Oracle Application Server Release 10.1.3.1. This section groups the new features into "MapViewer Core" and "Oracle Maps" subsections.

In addition, the MapViewer JSP tag library and PL/SQL API are deprecated features. For more information, see the notes at the beginning of Chapter 5, "MapViewer JSP Tag Library" and Chapter 6, "MapViewer PL/SQL API".

MapViewer Core

This section describes features related to MapViewer generally, including the Map Builder Tool.

Secure Map Rendering

MapViewer now supports secure map rendering based on a Web user’s identity. Users with different roles or permissions will see different feature sets when viewing the same theme. For more information, see Section 1.8.

WFS Themes

Web Feature Service (WFS) features can now be viewed through MapViewer’s WFS themes. These themes support the parsing and caching of WFS capabilities, and the use of feature conditions and queries. WFS theme support also works with Oracle Maps; for example, you can display a WFS theme as an interactive feature of interest (FOI) layer. For information about WFS themes, see Section 2.3.7.

Map Builder Enhancements

The Map Builder tool now supports the creation of WFS themes and Annotation Text-based themes. The base map panel also supports identifying features (and a list of rendered themes) on mouse clicks. For information about Map Builder, see Chapter 9.

Improved Nonspatial Data Provider Support

MapViewer now supports a default provider and format for applications to supply XML-based nonspatial data for thematic mapping. You can also specify columns from the nonspatial data set to be used in conjunction with an advanced style. For

information about thematic mapping using nonspatial external attribute data, see


(20)

xx

Multiple Rendering Styles for a Single Feature

Previously, a feature could be rendered by only one rendering style. You can now use multiple rendering styles when rendering a theme’s features. For example, you can shade a polygon with a color style while also plotting a pie chart on top of it, without defining two themes. This is done using stacked styles in a theme’s definition. For an example of map request using stacked styles, see Section 3.1.13.

Automatic Reduction of Repetitive Labels

Previously, repetitive street labels or highway shields on linear features were

displayed when such features consisted of many small segments. You can now use the Map Builder tool to specify the No Repetitive Labels option in the base map

properties, to cause features (such as road segments) with same name to be labeled only once. For information about specific options in Map Builder, see the online help for that tool.

Scale Ranges for Theme Labeling

In the context of a base map, you can now assign scale limits to its themes’ labels. These scale limits control when a theme’s features will display their label texts. For more information and an example, see Section 2.4.1.

PDF Output

Full PDF map output support is provided. If you use PDF_URL or PDF_STREAM as the map format in your XML map request, MapViewer will generate vector PDF maps. For more information, see the explanation of the format attribute in Section 3.2.1.1.

Text Style Enhancements

The TEXT style has been improved to support customizable spacing between letters. It also supports additional (vertical) alignment options when labeling linear features.

Heat Map Support

MapViewer now supports heat maps, which are two-dimensional color maps of point data sets. Heat map styles are described in Section A.6.8.

Scalable Styles

MapViewer now supports scalable styles. A scalable style (such as a MARKER or LINE style) uses real-world units such as meter or mile to specify its size and other dimensional attributes; however, at run time MapViewer automatically scales the style so that the features rendered by the style always show the correct size, regardless of the current map display scale. For information about using scalable styles, see

Section 2.2.1.

Custom Tags for Theme and Base Map Definitions

The XML definition of a theme or base map now supports application-specific attribute tags. You can use the Custom Tags option in the theme definition in Map Builder to specify tags and their values, which can be interpreted by your application but are ignored by MapViewer itself.

Getting Style Names Referred to in a Predefined Theme

The new <list_theme_styles> element enables you to get the names of styles referred to in a predefined theme. This element is described in Section 7.5.


(21)

xxi

Simple URL Request to Get a Sample Image for a Style

You can now issue a simple URL request to the MapViewer server and get back a sample image of any style that you specified in the URL. This is useful if you want to build a custom map legend. For information about getting a sample image of any style, see Section 2.2.5.

Annotation Text

Support is provided for OpenGIS Consortium standard annotation text. Oracle Spatial in Oracle Database Release 11g supports storage of annotation text objects in the database, and MapViewer now supports displaying such annotation texts on a map. For information about annotation text themes, see Section 2.3.9.

Logging Mechanism Changes

A new logging mechanism based on Java logging is provided. You can also use the Oracle Application Server management console to customize how MapViewer logs things at run time.

Custom (External) Spatial Data Providers

MapViewer now supports rendering of geospatial data stored in non-Oracle Spatial repositories. This is achieved through a Custom Spatial Data Provider API, where you can implement an Interface that feeds your own (proprietary) spatial data to

MapViewer for rendering. Note that you will still need an Oracle Database to manage the mapping metadata, such as styles and themes definitions. For more information, see Section 1.5.2.9.

User-Specified JDBC Fetch Size for Predefined Themes

You can now specify a nondefault row fetch size on a theme, by setting the Fetch Size base map property with the Map Builder tool. MapViewer can use this value when fetching theme features from the database. Specifying an appropriate value can make performance tuning easier in certain situations.

New Array Types (MV_xxxLIST)

MapViewer uses the SQL array types MV_STRINGLIST, MV_NUMBERLIST, and MV_DATELIST, which support array-type binding variables that might exist in some predefined themes. In some situations, you will need to create these types. For more information, see Section 1.4.4.3.

transparent_nodata Attribute for GeoRaster Themes

The optional transparent_nodata attribute can be specified for GeoRaster themes (described in Section 2.3.4). If transparent_nodata is true, any GeoRaster NODATA value is to be rendered as transparent. The default value is false.

Reprojection of GeoRaster Themes

Effective with Oracle Spatial GeoRaster for Release 11.2.0.1, GeoRaster objects can be reprojected into a different SRID. For more information, see Section 2.3.4.3.

Authentication

with Predefined WMS Map Themes

You can specify the user and password in a predefined WMS map theme for a WMS server that requires authentication for access to the WMS data. For more information, see Section E.3.3.


(22)

xxii

Oracle Maps

This section describes features for Oracle Maps, which is documented in Chapter 8.

Displaying Google Maps and Bing Maps Tiles as Built-in Map Tile Layer

Applications can now display Google Maps tiles or Microsoft Bing Maps tiles as a built-in map tile layer. Internally, the Oracle Maps client uses the official Google Maps or Bing Maps API to display the map that is directly served by the Google Maps server. For more information, see Section 8.6, "Built-in Map Tile Layers (Google Maps and Bing Maps)". (If you need to overlay your own spatial data on top of the Google Maps or Microsoft Bing Maps tile layer, see also Section 8.7, "Transforming Data to a Spherical Mercator Coordinate System".)

MVBaseMap Renamed to MVMapTileLayer

The class MVBaseMap in the Oracle Maps Javascript API is renamed to

MVMapTileLayer to prevent possible confusion with the concept of MapViewer base map. For more information, see the JavaScript API documentation for

MVMapTileLayer.

Web-Based User Interface for Map Tile Layer Management

A new Web-based user interfaced has been added to the MapViewer Web

administration console for editing map tile layer definitions, as well as previewing and managing map tiles.

External Map Tile Support

The Oracle Maps JavaScript client can now display map tiles rendered directly by an external map tile server without caching the tiles with the MapViewer map tile server. For more information, see the JavaScript API documentation for

MVCustomMapTileLayer.

Improved Client-Side Support for Accessing Cross-Domain Map Tile Server

and FOI Server

The Oracle Maps client can now communicate with cross-domain map cache tile and FOI servers without relying on a proxy server, which was previously required. For more information, see the JavaScript API documentation for

MVMapView.enableXMLHTTP.

Dynamic Client Side Styles

More support is provided for rendering FOI data using dynamic client side styles for business intelligence (BI) applications. New classes are added to the Javascript API to support client side defined styles such as color style (MVStyleColor), marker style (MVStyleMarker), bar chart style (MVBarChartStyle), pie chart style

(MVPieChartStyle), bucket style (MVBucketStyle), as well as any MapViewer supported style defined in XML (MVXMLStyle).

JDBC Theme-Based FOI

Oracle Maps now supports client side dynamically constructed JDBC theme-based FOI layers. For more information, see the JavaScript API documentation for


(23)

xxiii

Simplified Dynamic BI Data Injection and Visualization

Business Intelligence applications can now visualize application generated nonspatial attribute data on the map through the combined use of a nonspatial data provider and theme-based FOIs. For more information, see the JavaScript API documentation for MVNSDP.

Improved Information Window

The positioning, styling, and sizing of the information window have been improved. Previously, the Oracle Maps client always displayed the information window at a fixed position relative to the specified map location. The Oracle Maps client now can place the information window at the optimal variable position relative to the specified map location. As the result, the map does not to be panned in order to make the information window visible inside the map. In addition, you can specify tabs for the information window.

For more information, see the JavaScript API documentation for

MVMapView.displayInfoWindow and

MVMapView.displayTabbedInfoWindow. The Tabbed info window demo on the

Oracle Maps tutorial page shows how to display a tabbed information window.

Enhanced Map Decoration

The client now supports multiple collapsible map decoration components that can be positioned at arbitrary positions inside the map container. Map decoration can now be dragged inside the map container. For more information, see the JavaScript API documentation for MVMapDecoration.

Flexible Placement and Visibility for Navigation Panel and Scale Bar

The navigation panel and the scale bar can now be placed inside a map decoration component, which can be displayed or hidden and can be placed at a position of your choice inside the map container. For more information, see the JavaScript API

documentation for addNavigationPanel.

Navigation Panel Informational Tips

Applications can now define mouseover informational tips or labels for map zoom levels. The informational tips are displayed when the user moves the mouse over the navigation panel. The user can then zoom to a selected zoom level by clicking on the corresponding info tip. For more information, see the JavaScript API documentation

for MVNavigationPanel.setZoomLevelInfoTips and the Navigation Panel

demo on the Oracle Maps tutorial page

Polygon Theme-Based FOI Layer Labeling

Applications can now choose whether to label the polygon features of a polygon theme-based FOI layer. For more information, see the JavaScript API documentation

for MVThemeBasedFOI.

Image-Less Polygon Themes with FOI Layers

You can now base a feature of interest (FOI) layer on an image-less polygon theme, causing FOI images not to be rendered if the theme is already rendered as part of the base map. This feature can result in much faster performance with polygon layers. For more information, see the JavaScript API documentation for MVThemeBasedFOI.


(24)

xxiv

FOI Layer Automatic Selection and Highlighting

You can now associate a filtering geometry with any predefined theme-based FOI layer so that only the features that fall inside the filtering geometry are rendered on the map. This feature is part of the new support for proximity and within-distance mapping. It can be used with the selection tools (circle, rectangle, or polygon) to implement theme feature highlighting. For more information, see the JavaScript API documentation for MVThemeBasedFOI.

Client-Side Construction of Geodetic Geometries Based on Earth Distance

Parameters

You can now construct the following type of geometries in geodetic coordinate systems with parameters based on Earth distance: a circle polygon geometry specified by its center and radius, a rectangle with its height and width specified, and a point geometry at the specified distance and bearing from the start point. These geometries, especially the first two, can be used for implementing proximity and within-distance type mapping. For more information, see the JavaScript API documentation for

MVSdoGeometry.

Animated Loading Icon for Maps and Themes

The Oracle Maps client now displays an animated icon during the loading of a base map or a theme. This is especially useful for providing visual reassurance to users with maps and themes that take a long time to load.

User-Defined FOI Customizations

The JavaScript API now provides methods for applications to modify the geometry representation and rendering style of an already rendered user-defined FOI, as well as the custom marker image for a user-defined point FOI. For more information, see the JavaScript API documentation for MVFOI.

Prompt Mode for Marquee Zoom Tool

The new prompt mode provides enhanced user control over marquee zoom

operations. Prompt mode zooms the map when the use clicks on the marquee zoom rectangle, which eliminates the possible problem of accidental zooming associated with "continuous" mode. For more information, see the JavaScript API documentation

for MVMapView.startMarqueeZoom.

Mouse Cursor Customization

Applications can now customize the appearance of the mouse cursor when the cursor is over different map components, such as map tiles, FOIs, and map decorations.

Built-in Toolbar and Distance Measurement

Applications can now use a built-in distance measurement tool to measure distance on the map. The built-in toolbar provides an easy graphic user interface for accessing utilities such as the redline tool, rectangle tool, circle tool, distance measurement tool, and any user-defined capabilities. For more information, see the JavaScript API documentation for MVToolBar and the Tool bar demo on the Oracle Maps tutorial page.

Automatic Determination for Whole Image Theme Display

Displaying a theme-based FOI layer as a whole image may greatly improve the application performance, but it may be difficult for application developers to determine when to display a theme as a whole image theme. However, you can now


(25)

xxv

choose to let MapViewer make the determination automatically. For more information, see the JavaScript API documentation for

MVThemeBasedFOI.enableAutoWholeImage.

Automatic Long Tile Administrative Request Recovery

Long running tile admin requests that are interrupted due to Fusion Middleware or MapViewer shutdown will be able to resume automatically after MapViewer is restarted. (You do not need to do anything to enable this feature, other than creating the new database view USER_SDO_TILE_ADMIN_TASKS if it does not already exist. For more information, see Section 2.9.)

Wraparound Map Display

Applications can now display a map in the wrap-around manner. When the map is displayed in this manner, the map wraps around at the map coordinate system boundary horizontally and therefore can be scrolled endlessly. For more information, see the JavaScript API documentation for MVMapView.enableMapWrapAround.

Individual Theme Feature Highlighting (Selection)

Applications can enable the user to select and highlight individual theme features (FOIs) by clicking the mouse on the features. For more information, see the JavaScript API documentation for MVThemeBasedFOI.enbleHightlight and the Highlighting individual features of a theme based FOI layer demo on the Oracle Maps tutorial page.

Enhanced Redline Tool

The redline line tool can now be used to create polyline, polygon, and point geometries. The redline line tool also supports an editing mode, in which you can move an existing redline point or line segment, remove a redline point or line segment, or add a redline point or line segment programmatically. For information about redlining using the Oracle Maps JavaScript API, see Section 8.4.

Error Reporting

Previously, all error messages thrown by the Oracle Maps client were displayed as browser alerts. Now applications can customize how the error messages are handled by using a custom error handler. For more information, see the JavaScript API documentation for MVMapView.setErrorHandler.

New Tutorials

Many new Oracle Maps tutorials illustrate the new features. To access the MapViewer demos and tutorials, go to:


(26)

(27)

1

Introduction to MapViewer 1-1

1

Introduction to MapViewer

Oracle Mapviewer (MapViewer) is a programmable tool for rendering maps using spatial data managed by Oracle Spatial or Oracle Locator (also referred to as Locator). MapViewer provides tools that hide the complexity of spatial data queries and cartographic rendering, while providing customizable options for more advanced users. These tools can be deployed in a platform-independent manner and are designed to integrate with map-rendering applications.

This chapter contains the following major sections: ■ Section 1.1, "Overview of MapViewer"

■ Section 1.2, "Getting Started with MapViewer" ■ Section 1.3, "Prerequisite Software for MapViewer" ■ Section 1.4, "Installing and Deploying MapViewer" ■ Section 1.5, "Administering MapViewer"

■ Section 1.6, "Oracle Real Application Clusters and MapViewer" ■ Section 1.7, "High Availability and MapViewer" (for advanced users) ■ Section 1.8, "Secure Map Rendering"

■ Section 1.9, "MapViewer Demos and Tutorials"

1.1 Overview of MapViewer

MapViewer is shipped as part of Oracle Fusion Middleware. Its main deliverable is a J2EE application that can be deployed to a J2EE container, such as that for Oracle Fusion Middleware. MapViewer includes the following main components:

■ A core rendering engine (Java library) named SDOVIS that performs cartographic rendering. A servlet is provided to expose the rendering functions to Web

applications.

■ A suite of application programming interfaces (APIs) that allow programmable access to MapViewer features. These APIs include XML, Java, PL/SQL, and an AJAX-based JavaScript API.

■ 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


(28)

Overview of MapViewer

1-2 Oracle Fusion Middleware User's Guide for Oracle MapViewer

rules, and symbologies created through the Map Builder tool) from the database, and applies the metadata to the retrieved spatial data during rendering operations.

The XML API provides application developers with a versatile interface for submitting a map request to MapViewer and retrieving the map response. The JavaBean-based API and the PL/SQL API provide access to MapViewer's rendering capabilities. The JavaScript API enables you to create highly interactive web applications that use the Oracle Maps feature of MapViewer.

The Map Builder tool simplifies the process of creating and managing map, theme, and symbology metadata in a spatial database. For information about this tool, see

Chapter 9.

Oracle Maps, built on core MapViewer features, uses a map tile server that caches map image tiles, and a feature of interest (FOI) server that streams live data out of a

database to be displayed as interactive features on a map. You can use the AJAX-based JavaScript API with Oracle Maps to provide sophisticated mapping solutions. Oracle Maps also allows for advanced customization and querying capabilities.

The primary benefit of MapViewer is its integration with Oracle Spatial, Oracle Locator, and Oracle Fusion Middleware. MapViewer supports two-dimensional vector geometries stored in Oracle Spatial, as well as GeoRaster data and data in the Oracle Spatial topology and network data models. Oracle MapViewer is also an Open Geospatial Consortium (OGC)-compliant Web Map Service (WMS) server.

1.1.1 Basic Flow of Action with MapViewer

With MapViewer, the basic flow of action follows a two-step request/response model, whether the client requests a map or some MapViewer administrative action.

For a map request:

1. The client requests a map, passing in the map name, data source, center location, map size, and, optionally, other data to be plotted on top of a map.

2. The server returns the map image (or a URL for the image) and the minimum bounding rectangle (MBR) of the map, and the status of the request.

For a MapViewer administrative request:

1. The client requests a MapViewer administrative action, passing in the specific type of request and appropriate input values.

2. The server returns the status of the request and the requested information.


(29)

Overview of MapViewer

Introduction to MapViewer 1-3

Figure 1–1 Basic Flow of Action with MapViewer

1.1.2 MapViewer Architecture

Figure 1–2 illustrates the architecture of MapViewer.

Figure 1–2 MapViewer Architecture

As shown in Figure 1–2:

■ MapViewer is part of the Oracle Fusion Middleware middle tier. ■ MapViewer includes a rendering engine.

■ MapViewer can communicate with a client Web browser or application using the HTTP protocol.

■ MapViewer performs spatial data access (reading and writing Oracle Spatial and Oracle Locator data) through JDBC calls to the database.

■ The database includes Oracle Spatial or Oracle Locator, as well as mapping metadata.

Oracle Spatial

MapViewer

Mapping Client

Map Request:

- Map Name - Data Source - Center and Size

or

Administrative Request:

- Type of Request - Input Values

Map Response:

- Map Image - MBR of the Map - Status

or

Administrative Response:

- Status - Output Values

MapViewer

Client

Middle Tier (Oracle Application

Server)

Database

JDBC HTTP

(rendering engine) Web Browser or Application

Spatialor Locator

Mapping Metadata


(30)

Getting Started with MapViewer

1-4 Oracle Fusion Middleware User's Guide for Oracle MapViewer

1.2 Getting Started with MapViewer

To get started using MapViewer, follow these steps:

1. Either before or after you install and deploy MapViewer, read Chapter 2 to be sure you understand important terms and concepts.

2. Ensure that you have the prerequisite software (see Section 1.3). 3. Install (if necessary) and deploy MapViewer (see Section 1.4).

4. Use MapViewer for some basic tasks. For example, create an Oracle Maps application (see Chapter 8.

5. Optionally, use the Map Builder tool (described in Chapter 9) to familiarize yourself with styles, themes, and maps, and the options for each, and optionally to preview spatial data.

1.3 Prerequisite Software for MapViewer

To use MapViewer, you must have the following software: ■ A J2EE server supported by Oracle MapViewer (see

http://www.oracle.com/technetwork/middleware/mapviewer/j2ee-s erver-support-097757.html)

■ Oracle Database with Spatial or Locator (Release 9i or later)

■ Oracle Client (Release 9i or later), if you need to use JDBC Oracle Call Interface (OCI) features. Note that in general, the JDBC thin driver is recommended for use with MapViewer, in which case Oracle Client is not required.

■ Java SDK 1.5 or later

MapViewer also supports the headless AWT mechanism in J2SE SDK, which enables MapViewer to run on Linux or UNIX systems without setting any X11 DISPLAY variable. To enable AWT headless mode on Linux or UNIX systems, specify the following in the command line to start MapViewer:

-Djava.awt.headless=true

1.4 Installing and Deploying MapViewer

This section describes how to install (if necessary) and deploy MapViewer to run in the middle tier. As mentioned previously, MapViewer runs as a J2EE Web application and listens for incoming map requests on the container’s HTTP port.

You can deploy MapViewer either in a full Oracle Fusion Middleware environment or to a standalone installation of OC4J. Choose the procedure that applies to your needs: ■ If you have already installed WebLogic Server 10 or later and you want deploy

MapViewer to it, follow the instructions in Section 1.4.1.

■ If you have already installed Oracle Fusion Middleware and you want to deploy MapViewer to that instance, follow the instructions in Section 1.4.2.

■ If you have not installed Oracle Fusion Middleware, but have installed the OC4J standalone kit and now want to install and deploy MapViewer, follow the instructions in Section 1.4.3. OC4J standalone is a small footprint J2EE container and Web server provided by Oracle.

■ Alternatively, you can download the latest MapViewer Quick Start kit from the MapViewer page on the Oracle Technology Network (OTN). This kit includes a


(31)

Installing and Deploying MapViewer

Introduction to MapViewer 1-5 standalone OC4J with MapViewer already deployed and configured. It takes only minutes to get MapViewer running, and is convenient for testing and basic development.

Regardless of where and how MapViewer is deployed, the application server (or standalone OC4J) will create a home directory for MapViewer during deployment. This directory is typically located under the following directory:

$ORACLE_HOME/j2ee/<oc4j_instance_name>/applications

$ORACLE_HOME is the top directory of either the Application Server or standalone

OC4J install. The value for <oc4j_instance_name> is typically home if deployed to standalone OC4J, or the name of the target OC4J instance if deployed to a full Oracle Fusion Middleware installation. This MapViewer directory is typically named mapviewer (or the same as the context path under which MapViewer is deployed), and has many subdirectories. You may wish to familiarize yourself with some of the subdirectories in case you want to perform debugging, administration, or manual configuration.

The following are the main subdirectories of a MapViewer deployment:

/mapviewer sql/ web/ fsmc/ WEB-INF/ lib/ conf/ log/ mapcache/ classes/ admin/

The /mapviewer/sql directory contains several SQL scripts that are necessary for installing the MapViewer PL/SQL API package into the database. The

/mapviewer/web/fsmc directory contains the JavaScript API library and several tutorials for Oracle Maps. The /mapviewer/web/WEB-INF directory and its

subdirectories contain libraries and MapViewer administration and configuration files. If you want to use GeoRaster themes to view GeoRaster data, after successfully deploying MapViewer you may need to ensure that certain JAI (Java Advanced Imaging) library files are in the MapViewer Java classpath. The library files are jai_ core.jar, jai_codec.jar, and jai_imageio.jar, and they can be found in a full Oracle Fusion Middleware or Oracle Database installation, usually under the directory for Oracle Multimedia (formerly called Oracle interMedia) files. You can copy them into the MapViewer WEB-INF/lib directory.

For annotation themes, MapViewer uses the JAXB 2.x libraries jsr173_api.jar,

jaxb-api.jar, jaxb-impl.jar, and activation.jar. If you deploy

MapViewer with a 10g OC4J instance, you must copy these files to a directory in the MapViewer CLASSPATH definition, such as the WEB-INF/lib directory.

1.4.1 Deploying MapViewer in a WebLogic Server Environment

This section explains how to deploy MapViewer to WebLogic Server Version 10 or 10.3. (Deployment to earlier WebLogic versions has not been tested.) For the deployment: ■ MapViewer must be deployed from an exploded directory.

■ The WebLogic console is used in this section, although you could also use the WLS command line instead.


(32)

Installing and Deploying MapViewer

1-6 Oracle Fusion Middleware User's Guide for Oracle MapViewer

■ A new WebLogic domain is created to host MapViewer. This approach is

recommend because MapViewer is a resource-intensive application, and it is better to run it in a separate environment such as its own domain. However, it is also possible (although not recommended) to deploy MapViewer to an existing WebLogic domain.

The main steps for deploying MapViewer to WebLogic Server are the following: 1. Unpack the MapViewer EAR Archive.

2. Configure WebLogic Server.

3. Deploy and Start MapViewer in WebLogic Server. 4. As needed, use the MapViewer Administration Page.

1.4.1.1 Unpacking the MapViewer EAR Archive

You must deploy MapViewer from an exploded directory, that is, a directory where mapviewer.ear has already been unpacked. (If you instead, and incorrectly, deploy from the unpacked mapviewer.ear file, MapViewer will fail at run time.)

You can unpack the mapveiwer.ear archive to any directory on the server where WebLogic is running. This directory will become the working folder of your

MapViewer installation, in that MapViewer will (by default) read the configuration file from this location, and will save generated map images to a folder under this directory. It is recommended that the directory be a permanent (not temporary) one. It can be a shared directory if you want the same MapViewer binaries to be deployed to multiple WebLogic servers running on multiple hosts.

In the following instructions, assume that you have created a directory named /ul/mapviewer as the top MapViewer directory. (If you create another directory, adapt the instructions accordingly.) Follow these steps:

1. Copy mapviewer.ear into /ul/mapviewer.

2. If /ul/mapviewer is not already your current directory, go there. 3. Rename mapviewer.ear to mapviewer1.ear.

4. Create a subdirectory named mapviewer.ear.

5. Unpack mapviewer1.ear into mapviewer.ear (that is, into

/ul/mapviewer/mapviewer.ear).

6. Go to mapviewer.ear. 7. Rename web.war to web1.war. 8. Create a subdirectory named web.war. 9. Unzip web1.war into web.war (that is, into

/ul/mapviewer/mapviewer.ear/web.war).

10. Modify the Mapviewer configuration file

(/ul/mapviewer/mapviewer.ear/web.war/WEB-INF/conf/mapViewerCo

nfig.xml) as needed, such as to change its logging level or to add permanent data source definitions. You can also modify this configuration file at any time later.

MapViewer is now unpacked and configured. You must next ensure that WebLogic Server is properly configured for MapViewer, so that you will be able to deploy and run MapViewer in WebLogic Server.


(33)

Installing and Deploying MapViewer

Introduction to MapViewer 1-7

1.4.1.2 Configuring WebLogic Server

To configure WebLogic Server, follow these steps:

1. Create a new WebLogic domain to host MapViewer by running the following script:

$BEA_HOME/wlserver_10.0/common/bin/config.sh

This script starts a configuration wizard. It is suggested that you name the administration user weblogic; although if you use a different name, you can specify it when you configure MapViewer. You will use the administration user to log in to the MapViewer Administration page.

2. Start the domain by running the following script:

$BEA_HOME/user_projects/domains/map-domain/startWebLogic.sh

where map-domain is the name of the domain that you created in step 1.

1.4.1.3 Deploying and Starting MapViewer in WebLogic Server

After the new domain is running, you can log in to its console to start deploying MapViewer. Follow these steps.

1. Log in to the console, which is typically accessed at:

http://<host>:7001/console

where <host> is the host name or IP address of the system running WebLogic server.

2. In the Change Center, if a Lock & Edit button is visible, click it.

If a Lock & Edit button is not visible, go to the next step. If this button is not visible, it probably means that the WebLogic server has been configured with the Automatically Acquire Lock and Activate Changes option enabled.

3. Under Domain Structure, click Deployments.


(34)

Installing and Deploying MapViewer

1-8 Oracle Fusion Middleware User's Guide for Oracle MapViewer Figure 1–3 WebLogic Administration Console (Deployments)

4. Under Deployments, click Install.

The next page is displayed, as shown in Figure 1–4. Note that the location of the MapViewer directory (/ul/mapviewer/mapviewer.ear in this case) is the name of the directory, not the name of the .ear file.


(35)

Installing and Deploying MapViewer

Introduction to MapViewer 1-9

Figure 1–4 WebLogic Administration Console (Location)

5. Click Next.

6. Select Install this deployment as an application, and click Next.


(36)

Installing and Deploying MapViewer

1-10 Oracle Fusion Middleware User's Guide for Oracle MapViewer Figure 1–5 WebLogic Administration Console (Source Accessibility)

7. In the Source Accessibility section, select I will make the deployment accessible from the following location.

This option causes the unpacked MapViewer location to becomes the "working" directory of MapViewer. It also makes it easier if you want to upgrade MapViewer in the future, in which case you simply unpack the new mapviewer.ear file to this directory and restart WebLogic Server.

8. Click Finish, to start the deployment of MapViewer.

9. If the WebLogic server has been configured with the Automatically Acquire Lock and Activate Changes option enabled, skip the rest of this step and go to the next step when the deployment is finished.


(37)

Installing and Deploying MapViewer

Introduction to MapViewer 1-11 If the WebLogic server has not been configured with the Automatically Acquire Lock and Activate Changes option enabled, when the deployment is finished, go to the Change Center, and click Activate Changes and then Release

Configuration to complete the deployment process.

10. Start MapViewer by selecting mapviewer from Deployments, clicking Start, and selecting Servicing all requests, as shown in Figure 1–6

Figure 1–6 WebLogic Administration Console (Starting MapViewer)

11. Go to the following location to access MapViewer.

http://<host>:7001/mapviewer

where <host> is the host name or IP address of the system running WebLogic server.

1.4.1.4 Using the MapViewer Administration Page

When you first click the Admin button on the MapViewer home page, you are prompted for login information. You can use the default WebLogic administration account user name of weblogic to log in; however, if your WebLogic domain administration account uses a different user name, you must change the MapViewer


(38)

Installing and Deploying MapViewer

1-12 Oracle Fusion Middleware User's Guide for Oracle MapViewer

weblogic.xml file, located in $MAPVIEWER_

HOME/mapviewer.ear/web.war/WEB-INF/.

To change the weblogic.xml file, open it is a text editor and replace the two

occurrences of weblogic with the actual administration account name. The following except shows the lines with the name to be replaced:

<security-role-assignment>

<role-name>map_admin_role</role-name> <principal-name>weblogic</principal-name> </security-role-assignment>

<security-role-assignment>

<role-name>secure_maps_role</role-name> <principal-name>weblogic</principal-name> </security-role-assignment>

1.4.2 Deploying MapViewer in an Oracle Fusion Middleware 10

g

R3 Environment

If you have already successfully installed Oracle Fusion Middleware 10gR3, you can deploy the MapViewer using the Oracle Enterprise Manager Server Control web interface. The main steps are the following:

1. Select an OC4J instance as the target for deploying MapViewer. You can select an existing OC4J instance, or create a new instance specifically for MapViewer. It is suggested that you create a new instance for MapViewer, but it is not required. 2. Locate the mapviewer.ear file. This file is either shipped with the Oracle Fusion

Middleware 10gR3 software or can be downloaded from OTN.

3. Deploy the mapviewer.ear file to the selected OC4J instance using the Server Control web interface, or use Oracle Fusion Middleware 10gR3 command-line admin tool to deploy MapViewer (or any other J2EE application). For information about using the admin tool, see the Oracle Fusion Middleware Administration Guide. To start deploying MapViewer, navigate to the Oracle Fusion Middleware 10gR3 Server Control page and select the desired OC4J instance, as shown in Figure 1–7, where the default home OC4J instance is selected.


(39)

Installing and Deploying MapViewer

Introduction to MapViewer 1-13

Figure 1–7 Starting MapViewer Deployment

Click Deploy to display a page (shown in Figure 1–8) in which you enter the location of the mapviewer.ear file (a directory named tmp in this figure).


(40)

Installing and Deploying MapViewer

1-14 Oracle Fusion Middleware User's Guide for Oracle MapViewer Figure 1–8 Specifying the mapviewer.ear Location

Click Next to display a page (shown in Figure 1–9) in which you specify the name of the application.

Figure 1–9 Specifying the Application Name

For Application Name, specify mapviewer. The Context Root will be set to

/mapviewer by default. Do not use any other value for Context Root. Using any other value will prevent MapViewer from operating.

Click Next to display the Deployment Setting page. You usually do not need to change any of the settings on this page.


(1)

WMS support by MapViewer, E-1 oms_error element, 3-57

omserver (in URL)

getting a sample image of a style, 2-9 onclick attribute, 3-37, 3-53

map request, 3-30

onClick function (SVG map), 4-6, 4-12 onmousemove attribute, 3-54

map request, 3-30 onmouseout attribute, 3-54 onmouseover attribute, 3-54 onpolyselect attribute, B-5

map request, 3-30 onrectselect attribute, B-5

map request, 3-30 Open GIS Consortium

Geometry DTD, 3-57

WMS support by MapViewer, E-1 operation element, 3-47

operations element, 3-48 Oracle Map Builder tool, 9-1 Oracle Maps, 8-1

feature of interest server, 8-21 JavaScript API, 8-24

map tile server, 8-8

Oracle Real Application Clusters (RAC) using MapViewer with, 1-38 orientation vector, 3-36

using with an oriented point, 2-6 oriented points

pointing label or marker in direction of orientation vector, 2-6

P

pan method, 4-12 parameter element, 3-48 parameter value for map request

getting, 5-6 parameters

binding, 2-14

parameters for map request setting, 5-10

part_of_basemap attribute, 3-53 PDF image format support, 3-29 permanent data sources

defining, 1-34 pickling

fast_unpickle theme attribute, 3-52 setThemeFastUnpickle method, 4-11 pie chart

map request using, 3-9 PL/SQL

API for MapViewer, 6-1

PL/SQL example program using MapViewer, 3-20 plsql_package attribute, 1-37

PNG image format support, 3-28

PNG8 (indexed) image format support, 3-28 point features

adding, 4-7

removing, 4-8 polygon mask

setting for GeoRaster theme, 2-26, 4-11 polygon selection

enabling and disabling, B-2 polygon_mask attribute, 2-26

predefined mouse-click event control functions, B-2 predefined themes, 2-10, 3-51

adding, 4-7, 5-5

binding parameters example, 3-12 caching of, 2-15

LAYERS parameter (WMS), E-4 listing, 7-8

listing styles used by, 7-10 WMS map, E-14

prerequisite software for using MapViewer, 1-4 preserve_aspect_ratio attribute, 3-32, 3-34 progress indicator

loading of map, B-2

projection of geodetic data to local non-geodetic coordinate system, 1-30

proxy (Web) for MapViewer service setting, 4-6

Q

query type

for WMS requests, E-10 query window

setting, 4-4

QUERY_LAYERS parameter (WMS), E-10 QUERY_TYPE parameter (WMS), E-10 Quick Start kit, 1-4

R

RAC (Oracle Real Application Clusters) using MapViewer with, 1-38 radius

for WMS requests, E-10 RADIUS parameter (WMS), E-10 rasterbasemap attribute, 3-30 ratio scale mode

example, 3-11

Real Application Clusters (Oracle RAC) using MapViewer with, 1-38 recenter function, B-1

rectangle selection

enabling and disabling, B-3 redefine_data_source element, 7-4 redlining, 8-24

remove_data_source element, 7-4 removeAllDynamicStyles method, 4-10 removeAllLinearFeatures method, 4-8 removeAllPointFeatures method, 4-8 renderer

creating and registering custom image renderer, C-1

custom_image_renderer element, 1-32 renderers (mappers), 2-67


(2)

number_of_mappers attribute, 1-36, 7-3 rendering a map, 2-61

secure map rendering, 1-42 rendering rules

example, 3-12 reprojection

with GeoRaster themes, 2-33 REQUEST parameter (WMS)

GetMap or GetCapabilities, E-5

required software for using MapViewer, 1-4 resolution

setThemeUnitAndResolution method, 4-12 response string for map

getting, 4-13 restart element, 7-13

restarting the MapViewer server, 7-13 rotation attribute, 3-31

rules

styling, 2-11 run method, 4-12 run tag, 5-9

S

sample image

getting for a style, 2-8 save_images_at element, 1-27 scalable styles, 2-3

scale bar, 3-48 scale mode

mixed theme example, 3-11 ratio example, 3-11 scale of map, 2-62

setting for theme, 4-12 scale_bar element, 3-48 scaling

of image, 3-28, 5-11

SDO_MVCLIENT package, 6-1 sdonm.jar file, 1-5

secure, 1-42

secure map rendering, 1-42 plsql_package attribute, 1-37 web_user_type attribute, 1-37 secure rendering, 1-42

security

security_config element, 1-31 security_config element, 1-31 selectable themes (SVG map), 4-12 selectable_in_svg attribute, 3-36, 3-53 selectFeature function, B-3

selection event mouse-click event control functions, B-5

sendXMLRequest method, 4-13 seq attribute, 2-53

SERVICE parameter (WMS), E-5 setAllThemesEnabled method, 4-11 setAntiAliasing method, 4-4 setBackgroundColor method, 4-4 setBackgroundImageURL method, 4-4 setBaseMapName method, 4-4

setBoundingThemes method, 4-4 setBox method, 4-4

setCenter method, 4-4

setCenterAndSize method, 4-4 setClickable method, 4-16 setDataSourceName method, 4-4 setDefaultStyleForCenter method, 4-4 setDeviceSize method, 4-5

setFullExtent method, 4-5

setGeoRasterThemePolygonMask method, 4-11 setImageFormat method, 4-5

setImageScaling method, 4-5 setLabelAlwaysOn method, 4-11 setMapLegend method, 4-5 setMapRequestSRID method, 4-5 setMapResultFileName method, 4-5 setMapTitle method, 4-5

setNetworkThemeLabels method, 4-11 setParam tag, 5-10

setSelectPolygon function, B-3 setSelectRectangle function, B-3 setServiceURL method, 4-5 setShowSVGNavBar method, 4-6 setSize method, 4-6

setSVGOnClick method, 4-6 setSVGShowInfo method, 4-6 setSVGZoomFactor method, 4-6 setSVGZoomLevels method, 4-6 setSVGZoomRatio method, 4-6 setThemeAlpha method, 4-11 setThemeEnabled method, 4-11 setThemeFastUnpickle method, 4-11 setThemeOnClickInSVG method, 4-12 setThemeScale method, 4-12

setThemeSelectableInSVG method, 4-12 setThemeUnitAndResolution method, 4-12 setThemeVisible method, 4-12

setWebProxy method, 4-6 setZoomRatio function, B-1 shortcut keys

for Map Builder tool menus, 9-3 shortest-path analysis, 2-36

addShortestPath method, 4-7 showLoadingBar function, B-2 showTheme function, B-2 simplify_shapes attribute, 3-53 size (map)

setting, 4-6 size of map, 2-62 size_hint attribute, 3-32

snap_to_cache_scale attribute, 3-31 spatial data cache

clearing, 7-12 customizing, 1-31 spatial data provider

custom, 1-32 spatial filter

getting, 4-14 spatial reference ID


(3)

spatial_data_cache element, 1-31 spot light radius (heat map), A-16 SRID

conversion by MapViewer for map request, 3-8 setting, 4-5

srid

attribute of map request, 3-28 SRS mapping

customizing, 1-33 SRS parameter (WMS), E-5 srs_mapping element, 1-33 stacked styles

example, 3-14

sticky attribute for text style, 2-8 style element, 3-49

styles, 2-2

adding to map request, 4-8 advanced, 2-2

pie chart example, 3-9 thematic mapping and, 2-51 XML format for defining, A-8 area, 2-2

XML format for defining, A-7 bar chart

XML format for defining, A-13 bucket

adding to map request, 4-8 specifying labels for buckets, 2-4 XML format for defining, A-9 collection

XML format for defining, A-13, A-14 color, 2-2

adding to map request, 4-9 XML format for defining, A-2 color scheme

adding to map request, 4-9 XML format for defining, A-11 dot density

XML format for defining, A-12 dynamically defined, 2-3, 3-49

adding to map request, 4-8 getting sample image, 2-8 heat map

XML format for defining, A-15 image marker

adding to map request, 4-9 XML format for defining, A-4 label styles for buckets, 2-4 line, 2-2

adding to map request, 4-9, 4-10 XML format for defining, A-6 listing, 7-9

listing those used by a predefined theme, 7-10 marker, 2-2

adding to map request, 4-10 XML format for defining, A-2 metadata view, 2-74

removing, 4-10 scaling size of, 2-3 stacked

example, 3-14 text, 2-2

adding to map request, 4-10 XML format for defining, A-7 TrueType font-based marker

XML format for defining, A-4 variable marker

adding to map request, 4-10 XML format for defining, A-12 vector marker

adding to map request, 4-10 XML format for defining, A-3 XML format, A-1

styles element, 3-50

STYLES parameter (WMS), E-5 styling rules, 2-11, A-1

XML format for specifying, A-16

SVG Basic (SVGB) image format support, 3-29 SVG Compressed (SVGZ) image format

support, 3-29 SVG maps

display control functions, B-2 fixed_svglabel attribute, 3-52 hidden themes, 4-12

hidden_info attribute, 3-37 infoon attribute, 3-30 initscale attribute, 3-30 JavaScript functions, B-1

mouse-click event control functions, B-2 navbar attribute, 3-30

navigation bar, 4-6

navigation control functions, B-1 onclick attribute, 3-30, 3-37, 3-53 onClick function, 4-6, 4-12 onmousemove attribute, 3-30, 3-54 onmouseout attribute, 3-54 onmouseover attribute, 3-54 onpolyselect attribute, 3-30, B-5 onrectselect attribute, 3-30, B-5 other control functions, B-5 part_of_basemap attribute, 3-53 rasterbasemap attribute, 3-30 selectable themes, 4-12

selectable_in_svg attribute, 3-36, 3-53 setSVGShowInfo method, 4-6 setSVGZoomFactor method, 4-6 setSVGZoomLevels method, 4-6 setSVGZoomRatio method, 4-6 setThemeOnClickInSVG method, 4-12 setThemeSelectableInSVG method, 4-12 setThemeVisible method, 4-12

SVG_STREAM and SVG_URL format attribute values, 3-29

SVGTINY_STREAM and SVGTINY_URL format attribute values, 3-29

SVGZ_STREAM and SVGZ_URL format attribute values, 3-29

visible themes, 4-12

visible_in_svg attribute, 3-53 zoomfactor attribute, 3-29


(4)

zoomlevels attribute, 3-29 zoomratio attribute, 3-30

SVG Tiny (SVGT) image format support, 3-29 switchInfoStatus function, B-2

switchLegendStatus function, B-2

T

taglib directive, 5-2 templated themes, 2-14 temporary styles

See dynamically defined styles text style, 2-2

adding to map request, 4-10 orienting, 2-6

sticky attribute, 2-8

XML format for defining, A-7 thematic mapping, 2-51

using external attribute data, 2-57 theme element, 3-51

theme_modifiers element, 3-54 theme_type attribute

for certain types of predefined themes, A-18 theme-level mouse-event control functions, B-4 themes, 2-10

adding to a map, 2-61 annotation text, 2-47

attributes affecting appearance, 2-60 checking for, 4-11

clearing spatial data cache, 7-12 deleting, 4-10

disabling, 4-11 dynamic

adding to map request, 4-6 dynamically defined, 2-19, 3-40, 3-51 enabling, 4-10, 4-11

fast unpickling, 3-52, 4-11 feature selection

enabling and disabling, B-2 fixed SVG label, 3-52

for WMS requests, E-5 GeoRaster, 2-25

adding to current map request, 4-7 defining with jdbc_georaster_query

element, 3-38

setting polygon mask, 2-26, 4-11

theme_type attribute in styling rules, A-18 getting, 4-11

hidden information display, 3-30 image, 2-22

adding, 4-7

defining with jdbc_image_query element, 3-38 setting transparency value, 4-11

setting unit and resolution values, 4-12 theme_type attribute in styling rules, A-18 initial scale, 3-30

JavaScript function to call on click, 3-37, 3-53 JavaScript function to call on mouse-move

event, 3-54

JavaScript function to call on mouse-out

event, 3-54

JavaScript function to call on mouse-over event, 3-54

JavaScript function to call on polygon selection, B-5

JavaScript function to call on rectangle selection, B-5

JDBC, 2-19

keeping in order, 3-31 listing, 4-11, 7-8

map_tile_theme element, 3-46 metadata view, 2-74

minimum distance, 3-52 moving down, 4-11 moving up, 4-11 navigation bar, 3-30 network, 2-33

adding, 4-7

defining with jdbc_network_query element, 3-40

setting labels, 4-11

theme_type attribute in styling rules, A-18 north_arrow element, 3-46

part of base map, 3-53 predefined, 2-10, 3-51 raster base map, 3-30 resolution value

setting, 4-12

selectable in SVG maps, 3-36, 3-53, 4-12 setting GeoRaster theme polygon mask, 2-26,

4-11

setting labels always on, 3-52, 4-11 setting network theme labels, 4-11 setting scale values, 4-12

setting visible or hidden, 4-12 styling rules, A-16

templated, 2-14 topology, 2-37

adding, 4-8 debug mode, 2-38

debug mode (adding theme), 4-8 defining with jdbc_topology_query

element, 3-42

theme_type attribute in styling rules, A-18 unit value

setting, 4-12

visibility in SVG maps, 3-53 WFS, 2-40

WMS map adding, E-11

adding (JavaBean-based API), E-15 adding (XML API), E-11

authentication with, E-14 Workspace Manager support, 2-71 XML format, A-1

zoom factor, 3-29 zoom levels, 3-29 zoom ratio, 3-30 themes element, 3-54 thick clients


(5)

using optimal MapViewer bean methods for, 4-15

tiny SVG images

SVG Tiny (SVGT) image format support, 3-29 tips

specifying using hidden_info attribute, 3-37 title

attribute of map request, 3-29 setParam tag parameter, 5-11 specifying for map, 1-29 title_style attribute, 3-29, 3-31

map request, 3-29 topology themes, 2-37

adding, 4-8 debug mode, 2-38

adding theme, 4-8

defining with jdbc_topology_query element, 3-42 theme_type attribute in styling rules, A-18 translation

of feature labels, 2-16 transparency

setThemeAlpha method, 4-11 transparency attribute, 3-53 transparent

attribute of map request, 3-29 TRANSPARENT parameter (WMS)

supported for PNG format, E-5 TrueType font-based marker style

XML format for defining, A-4

U

unit

setThemeUnitAndResolution method, 4-12 unit of measurement

for WMS requests, E-10 UNIT parameter (WMS), E-10 unpickling

fast_unpickle theme attribute, 3-52 setThemeFastUnpickle method, 4-11 use_cached_basemap attribute, 3-31 use_globular_projection option, 1-30 USER_SDO_CACHED_MAPS view, 2-75 USER_SDO_GEOM_METADATA view

entry for predefined theme based on a view, 2-10 inserting row into, 2-10

USER_SDO_MAPS view, 2-74, 2-75 USER_SDO_STYLES view, 2-74, 2-75 USER_SDO_THEMES view, 2-74, 2-75 USER_SDO_TILE_ADMIN_TASKS view, 2-75 user-defined mouse event control functions, B-3

theme-level, B-4

user-defined mouse-click event control functions map-level, B-3

selection event, B-5

V

variable marker style

adding to map request, 4-10

XML format for defining, A-12 vector marker style

adding to map request, 4-10 XML format for defining, A-3 VERSION parameter (WMS), E-6 views

key_column styling rule attribute required for theme defined on join view, A-19 metadata, 2-74

visible themes

getThemeVisibleInSVG method, 4-11 setThemeVisible method, 4-12 visible_in_svg attribute, 3-53

W

Web Map Service (WMS) protocol, E-1 adding a WMS map theme, E-11 setting up for MapViewer, E-1

See also entries starting with "WMS" Web proxy for MapViewer service

setting, 4-6

web_user_type attribute, 1-37 WFS map requests

examples, 3-15 WFS themes, 2-40

WGS 84 coordinate system, 2-61 WHERE clause

getting, 4-15 width

attribute of map request, 3-28 setParam tag parameter, 5-11 WIDTH parameter (WMS), E-6 within-cost analysis, 2-37

addLinksWithinCost method, 4-7 WMS Capabilities responses

customizing, 1-33 WMS data source

default for GetMap requests, E-3 WMS map themes

adding, E-11

JavaBean-based API, E-15 XML API, E-11

authentication with, E-14 predefined, E-14

wms_config element, 1-33

wms_getmap_request element, E-11 WMSFilter.jar file, E-1

Workspace Manager

support in MapViewer, 2-71 workspace_date attribute, 2-71 workspace_date_format attribute, 2-71 workspace_date_nlsparam attribute, 2-71 workspace_date_tswtz attribute, 2-71 workspace_name attribute, 2-71 workspace_savepoint attribute, 2-71

X


(6)

X11 DISPLAY variable

no need to set when using AWT headless mode, 1-4

XML

API for MapViewer, 3-1

format for base maps, map tile layers XML format, A-1

format for map tile layers, A-1 format for styles, A-1

format for themes, A-1 xmlparserv2.jar file, E-2

Y

Y parameter (WMS), E-10

Z

zoom factor, 3-29, 4-6 zoom levels, 3-29, 4-6 zoom ratio, 3-30, 4-6

setting, B-1

zoomfactor attribute, 3-29 zoomIn method, 4-12, 4-13 zoomlevels attribute, 3-29 zoomOut method, 4-13 zoomratio attribute, 3-30