Moxi Media Inc.
Internet Mapping Framework for OpenGIS Discussion Forum
IMF Developer's Guide » IMF for OpenGIS Overview  

Introduction

The Internet Mapping Framework for OpenGIS (OpenIMF) 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.

OpenIMF 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 or later 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:

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.

OpenIMF also uses Web Feature Services (WFS) in conjunction with WMS services to support more advanced queryability and processes involving spatial geometry. If the WFS is transactional, OpenIMF can be used to edit spatial data over the web.


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.

IMF is fully internationalized, and can be configured to communicate with the user in any language.

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.


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:

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:

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.

For more information about the technical setup of IMF, please refer to the rest of this development guide.


Valid HTML 4.01!