Introduction
The Internet Mapping Framework for ArcIMS is an application framework
used to develop and deploy customized web-mapping applications that are
based upon ArcIMS image map services. IMF is compatible with all
ArcIMS versions (3.0, 3.1, 4.0 and 4.0.1).
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.
IMF provides a rich set of well-tested configurable common mapping
tools and processes for creating robust and powerful web-mapping
sites without needing to duplicate the core application code each time
a site is deployed. The design of IMF makes it easy to add more.
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.
The Application Service Provider Model
The Internet Mapping Framework was developed for use as an Application
Service Provider (ASP) type of application.
In the context of the IMF application, this means that a remote web site
can be set up to use the ArcIMS application services, data, and web server
processes that are operated and maintained at a single location within
your organization. As you create new web-mapping applications, you do not
copy the core IMF code from its original location.
This approach facilitates a supportable infrastructure for better
application management, support, and maintenance.
Functional Overview
The following is a general list of pre-built IMF functionality. Note that this
is not a complete or final list of IMF capability. New features are regularly
added to IMF based on enhancement requests from the user community, and it is
easy for IMF licensees to add new custom routines of their own.
- Sites easily configured using XML.
- Geoprocessing capability (buffer, intersect, contains, etc.)
- Projection capabilities (coordinate conversion routines).
- Save and restore a user's session.
- Customizable to your organization's look and feel.
- Multiple tab bar formats including rounded tabs, easy to add new tabs using XML.
- Support for multiple toolsets.
- 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.
- Buffer identify tool to display information within a distance of a point.
- 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.
- Location tool adding marker and geographic position text to the map.
- User markup tools. Draw a point, line, polygon, box or add a grid or text to the map.
- Clear tool to remove user markup.
- Extract tool for saving features to a local shapefile, GML file, or Excel spreadsheet.
- Upload routines to display data in local shapefiles or GML files.
- 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.
- Legend graphics in layer list.
- Independently controlled visibility of a layer's labels.
- 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.
- Virtual layers, layers organized into a group that appears as one layer.
- Metadata for layers or layer groups.
- Scale dependent layers.
- User restrictions preventing the user from changing visibility of a layer.
- Automatically refresh option.
- Advanced identify and selection routines.
- Automatic default report for queryable layers.
- Acetate layers are queryable like any other.
- 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.
- Selected set capability.
- Extract selected records to shapefile, GML or Excel format.
- 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.
- Zoom to place name from extents saved in database.
- Find by a layer's attribute value.
- 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.3 or later to be installed on the web server as well as a
servlet engine. If you are installing it on your ArcIMS server, you already have
everything that you need. The Java 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 v1.2+
It works best with Internet Explorer v5.0 or higher.
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.
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.