Moxi Media Inc.




Internet Mapping Framework
OCG-Compliant Version
Overview / Technical Notes

Introduction

The Internet Mapping Framework (OWS edition) is an application framework used to develop and deploy customized web-mapping applications that are based upon OGC-compliant Web Services.

This product is an offspring of our existing IMF application that uses ESRI's ArcIMS as the map and query engine. The ArcIMS version of IMF has been adopted by more than twenty enterprise level organizations internationally to support their web-mapping applications. A great deal of well-tested code, concepts, and lessons learned have been applied to the OWS version.

The inital OWS/IMF release (v1.0.0 - 30-Apr-2003) uses one or more Web Map Services (WMS) to generate its maps and respond to feature queries. Services that are compliant with WMS specifications 1.0.0, 1.1.0, and 1.1.1 (the current specification) may be used. There is growing support for OpenGIS among major GIS vendors, and there are a number of new high-quality OGC-compliant server products that can be used in an IMF application, including:

  • ESRI (ArcIMS)
  • Cubewerx
  • UMN MapServer
  • Microsoft TerraServer
  • Intergraph GeoMedia
  • MapInfo MapXtreme

In addition to having the flexibility to use a variety of server products, IMF is able to combine information from multiple hetrogeneous data sources simultaneously for display within your application. IMF provides true interoperability and opportunites for inter-agency collaberation.

A key benefit of being able to use multiple services is that data no longer needs to be duplicated. One agency can share their spatial data with another organization by publishing an OGC-compliant service. The data stays where it belongs, with the custodian responsible for keeping it up to date.

Work is underway to extend IMF to use Web Feature Services (WFS) in conjunction with WMS services to support more advanced queryability and processes involving spatial geometry. These routines are currently being tested and will be released in the v1.1.0 update in mid-summer, 2003.


Management Overview

IMF is used for rapidly deploying multiple Internet mapping sites within an organization with a common look and feel, while providing an infrastructure for the management of web application software and hardware. IMF sites are thin-client applications that operate efficiently without plug-ins or applets.

The application framework is intended to provide common mapping tools and processes for mapping web sites without needing to duplicate the core application code. A set of powerful, configurable routines are included, and the design of IMF makes it easy to add more.

This version of IMF is fully internationalized, and can be configured to communicate with the user in any language. Canadian French, Canadian English, and US English examples can be seen on our IMF Example Sites page.

Using IMF, most sites are deployed without any programming at all. A site can be fully configured using XML configuration files and a few HTML documents relevant to the site. It is far easier and more cost-effective to develop a web-mapping application using IMF than any other approach.


Functional Overview

The following is a general list of pre-built IMF functionality. Additional functions are under development, and it is trivial to add new capabilities. Note that this is not a complete or final list of IMF capability.

  • Sites easily configured using XML.
  • Multiple WMS service support. Data and maps from multiple services combined in application.
  • Projection of WMS responses to common coordinate system if necessary.
  • Forwarding routine to fetch images from secure servers.
  • Support for graphics layers containing user markup shapes, north arrow, etc.
  • Geoprocessing capability (buffer, intersect, contains, etc.)
  • Display your title document containing logo, etc.
  • Internationalization support for languages other than English
  • Multiple tab bar formats including rounded tabs, easy to add new tabs using XML.
  • Button and tool bar with built-in tools that can be included in your site
    • Zoom to full extent
    • Zoom to previous extent
    • Display index map. Index map refreshes automatically when extent changes and can be clicked to reposition the map.
    • Create printable map at specific scale in Adobe PDF format.
    • Send the map to yourself or someone by e-mail.
    • Drill-down identify tool to display information from all visible layers.
    • Identify tool to display information about active layer.
    • Zoom in using mouse click or rectangle.
    • Zoom out by mouse click.
    • Pan (recenter) by mouse click or dragging the map.
    • Measure distance tool drawing multiple segment lines.
    • Measure area tool drawing a polygon.
    • Pushpin tool adding marker and text to the map. Location text available.
    • User redlining function. Draw a point, line, polygon or box to add to the map.
    • Clear tool to remove user markup.
  • Spacing control to separate tools and buttons into logical groups.
  • Easily add new tools and buttons using XML.
  • Support for multiple toolsets.
  • Context sensitive help for active toolset.
  • Auto-generated help from XML text associated with tools and tabs.
  • Feedback link to send an e-mail message to your site administrator.
  • Advanced layer control.
    • Layers grouped into nested folders.
    • Display order independent of drawing order.
    • Folder controls, all on, all off.
    • Support for radio folders where only one layer can be on at a time.
    • Layers can be hidden from user control.
    • A layer's labels can be turned off independently of the layer.
    • Metadata availably by layer name hyperlink.
    • Scale dependent layers.
    • Virtual layers, layers organized into a group that appears as one layer.
    • User restrictions preventing the user from changing visibility of a layer.
    • Automatically refresh option.
    • Layer naming based on XML setup rather than capabilities title.
    • Styled layer descriptor (SLD) symbolization support.
  • Advanced identify reporting routines.
    • Automatic default report for queryable layers.
    • Drill down identify report to show information from all visible layers.
    • Field aliases or alternate display titles.
    • Fields can be hidden from default reports.
    • Fields containing URLs automatically hyperlinked.
    • Field level metadata supported.
    • Coordinate position reported in multiple coordinate systems.
    • Links can be shown in report constructed from field contents.
    • Open related reports instead of showing default report.
    • URL to related reports automatically built from field contents.
    • Database connectivity to insert selected record information in database for join filter.
  • Map limits can be set (maximum extent, minimum scale, etc.)
  • Real-time coordinate display when user moves mouse over the map.
  • North arrow on map, automatically angled.
  • Scalebar on map, configurable units.
  • Map centre coordinates printed on map in desired coordinate system.
  • Scale display in status bar.
  • Zoom to user-entered scale.
  • Copyright message on map.
  • Display legend information
  • Extensible find location routines.
    • Zoom to latitude / longitude position.
    • Zoom to UTM position.
    • Bookmarks, save and restore a location extent.
    • Gazetteer search and zoom routine.
    • Zoom to place name from extents saved in database.
    • Easy to add more, defined in XML.
  • Predefined themes or views that can be opened by the user.

Technical Overview

IMF is a pure Java / JSP application that is platform independent. It runs on a variety of web servers and servlet engines on Windows, UNIX or Linux servers, including the following:

  • Microsoft Internet Information Server (IIS)
  • Sun One (formerly iPlanet)
  • Apache HTTP server
  • Oracle OC4J
  • Oracle 9iAS
  • Apache Tomcat
  • ServletExec
  • Resin
It requires Java v1.4.1 or later to be installed on the web server, as well as Sun's Java Advanced Imaging (JAI) classes. Both of these products can be downloaded free of charge from http://java.sun.com. The J2SE SDK is recommended over a Java Runtime Environment (JRE) installation.

It is a server-side application, with all significant processing taking place on the web server. This results in a very thin-client, low bandwidth application for the user, requiring minimal client computer capability and network speed. Supported browser clients include:

  • Internet Explorer v4.0+
  • Netscape v4.0+
  • Mozilla v4.0+
  • Opera v6.0+
The IMF application contains a package of Java classes that manage the application properties and communication to the spatial web servers. The classes also contain routines to handle projections and geoprocessing of geometric shapes such as buffer, intersection, etc.

Most of the routines that the user interacts with are implemented as JSP scripts. The JSP scripts use object-oriented methods of the Java class objects to manage the user's session. The JSP approach was chosen to make it easier for IMF licensees to learn from the core scripts and copy or modify them to create new functionality.

The IMF is intended to be used for custom applications with a preset data set and layers list. The map settings are predefined by the site developer to specify the layers to include, their order and properties, and how they are organized into folders.

Most of the time, map images are returned directly from the WMS servers to the user's browser, stacking multiple transparent images on top of each other. In some cases, the image may come from the IMF server, if it needs to be projected or for security reasons. Acetate layers, such as user redlines and graphics such as the north arrow are served directly by the IMF server. IMF also combines some images for printing and e-mailing to users.

It is easy to set up layers to display dynamic reporting documents that can be called with parameters from the associated feature on the map. It is also very easy to create new interactive map tools where the user draws a point, box, line or polygon on the map and something magic happens.

Please refer also to the IMF General Technical Notes page for more general information about IMF. If you are interested in more detailed information about the configuration of IMF sites, please feel free to contact us for a copy of the applicable IMF Development Guide.

© 2002, Moxi Media Inc. All rights reserved.
Moxi Media is a trademark of Moxi Media Inc.