
IMS Examples
Live Web Sites Powered by IMS
Manifold Internet Map Server
See the Manifold® Internet Map Server (IMS) page for an introduction to Manifold IMS. This page provides examples of "live" IMS sites hosted on manifold.net servers. Click on the thumbnails to visit the "live" site. Manifold IMS is a built in part of Manifold® Release 8 Ultimate.
Manifold can write ASP or ASP .NET web sites from a project automatically using standard templates. Most website developers will begin a project by letting Manifold create the web site for them. As developers gain more experience they will often modify the code Manifold writes to customize a site to their taste or to add capabilities. Experienced developers will often write a web site from the ground up, instantiating and using Manifold objects as needed for a fully custom site.
Sophisticated use of Manifold IMS can provide nationwide web sites even for a country as large and as populated as the United States without breaking the budget. Manifold IMS scales extremely efficiently from a cost perspective because Manifold IMS can run as a true 64-bit application within x64 Windows, enabling webmasters to take advantage of large quantities of inexpensive RAM, 64-bit DBMS and multicore 64-bit processors for maximum reliability and cost efficiency.
Tutorial Examples
The following sections provides examples using standard templates and also programmed web site examples to provide a representative range of tutorial examples. The example sites shown have been created for download as tutorial examples to teach techniques of interest to Manifold IMS programmers. Sites are therefore relatively simple; however, the experienced web site developer will immediately see how the features illustrated in these example sites can be combined to make arbitrarily custom sites to serve any need.
Standard Templates
Manifold IMS automatically creates web sites from Manifold projects using a variety of templates. These example sites show the use of three different templates.

High compatibility template: Mexico
This template creates a site that will work with older browsers. The sites use more austere style with text link menus instead of command buttons. Tables created by the Find tool and queries will pop open in a new browser window. Pan by clicking near the edges of the map.

High compatibility template: Surface with Vector Layers
Montara Mountain SDTS DEM surface overlayed on a base map of the San Francisco Bay region, with roads and hydrography layers. Zoom in to see the surface. This generates detailed images (due to the surface... same as raster images) that do not compress well and so the image served to your browser may be over 150K in size. If you have a slow Internet link it could take a while for the image to be downloaded. Note how much faster the mexico example is ("sparse" images compress well and so are smaller) even though it too is a large image size.

Standard template: Theater
This template creates attractive sites designed for newer browsers. It provides a point and click Info tool as well as a prettier, tool-based interface. Pan by selecting the Center tool and then clicking anywhere near the edge of the map. The example shows architectural plans for the TSB Theater in Plymouth, New Zealand taken from .dxf files. A smaller window, but showing how one can use Manifold IMS to publish CAD drawings.

Standard template with frames: 107th Congressional Districts
A very fast and convenient template for newer browsers that reports the results of queries, Find and the Info button in tables that appear below the main map display. With or without frames, the standard template is a good choice for high performance intranet use and internet web sites aimed at more sophisticated users who want greater interactivity with the data sets.
The example shows a practical application that shows historical Congressional districts in the United States for the 107th Congress with many IMS features such as a legend, a query and Info and Find tools. Zoom in to see ever more detailed city names. Click on the Info tool and then click on a district to see the name of the representative and their web site. Try entering Barton in the Find box to see a bizarrely "Gerrymandered" district. The Query pane is set up with a query that will list all representatives in a particular state. Enter the state's two letter postal code and press Query to see the representatives, sorted by last name.
Locator Sites for Businesses
Without any programming, in 15 minutes or less an experienced Manifold user can create GIS-enabled websites that are immediately useful in real life.
The next two examples show "locator" maps that help find popular burger restaurants in the US, showing cult favorites In-N-Out Burger® locations primarily in the West. Variations on these sites can be used to create "locator" sites for everything from homes for sale and apartments for rent to the locations of ships, trucks or other assets.

Standard template: In-N-Out Burger® Locations
Using the default, standard template the site shows all In-N-Out locations as of October, 2009, using yellow and red square icons to mark each restaurant and a background map from Microsoft streets. Click on the center, zoom in, zoom out, zoom box or zoom to fit button and then click into the map to pan or zoom using that command. Most will use the zoom in, zoom out and zoom box buttons to zoom into a region of interest. Zoom far enough and the address for the restaurant appears.
A site like this is especially useful when planning a road trip where you would like to dine at In-N-Out restaurants. Most "store locator" sites require entering a zip code or town name to find a location, but who knows all the zip codes or wants to enter town names one at a time to find restaurants along the way? These locator sites allow zooming in to a region and right away seeing the desired restaurant locations along the way.

IMS Sites Using Image Servers
Manifold users have many image server modules to choose from, including source code examples which open source enthusiasts can use to write their own if they prefer alternatives to existing image server modules. Click on the thumbnail at left to see an In-N-Out locator web site implemented using two different image servers from Google, a "transparent" streets layer above a satellite photo layer.
Manifold IMS caches image server renderings by default. The more people who visit your web site, the faster it becomes as previously viewed background images get stored in cache. This helps performance when using slower, open source servers because even though the first time someone pans or zooms into a particular location it might be slow, the next time anyone pans or zooms into that same view it will be virtually instantaneous, often as fast as Manifold itself. Outstanding!
A Non-Geographic Example

Villa dei Papiri
This example shows how a standard template can be used in a non-geographic setting. The drawing shows the Villa of the Papyri in Herculaneum, an enormous Roman villa entombed by the eruption of Vesuvius in 79 AD. Although the villa is known for the many papyri found there, it is also the site where one of the largest collections of ancient sculpture was found. Round circles show the "findspots" of statuary. Blue spots show available images. Click on a blue spot to see the image of the statue found at that spot. This example uses the built-in high compatibility template. Navigate by clicking the menu commands and pan the image by clicking near the border.
This project was created by scanning at 1200 DPI a paper drawing created in the late 1700's. Three smaller scans were built as a mosaic into a single large image, over 600 MB in size, to create the background. The image is such high resolution that individual lithography color dots become visible at high zoom.
The image displays instantaneously because it has been stored as an ECW file and linked into the Manifold project. Numbers show findspots of statues as recorded during excavations in the 1700's. Villa structural elements are in red. Tunnels used to excavate the villa are in brown. The villa was buried by over 60 feet of hardened volcanic flow, so after discovery during the digging of a well it was explored by digging narrow, longitudinal tunnels deep underground to reach different parts of the villa, much of which is still buried and unknown

Number labels use locked scale so the numbers get larger and smaller when zooming in or out. Drawing layers above the image layer include area objects in the shapes of circles at the find spots, with thematic formatting turned on so that findspots which have a picture attached are shown in blue. A URL data type in the drawing's table points to the URL for each image. Clicking on an object will launch the URL if it has one. The project also shows an interesting use of a transparent rectangular area to create an effect similar to the use of an image map: Clicking into the room shown in the illustration at right will click onto a transparent area object (not seen, but still has effect) to launch the URL for that area object to show an image of a bronze bust discovered in that room.
This project is non-geographic in that it uses a scanned paper drawing as a visual user interface from which to launch other images or web pages. The drawing could be an image of a grocery store aisle with hyperlinks launched to show details of what is in that aisle, it could be an image of a factory floor with hyperlinks to maintenance documentation for machinery visible or it could be any one of many other similar applications where clicking into an image calls up other images or web sites. This example was created using a default template with no programming at all. Once images were scanned and numbers entered, the actual project took less than fifteen minutes to author and only a few minutes to deploy.
Tutorial Examples
Manifold provides programming examples for IMS that show how simple programming can be used to create custom sites. The following examples teach advanced web programming with IMS. They assume the user is familiar with Manifold and with standard Microsoft Web programming techniques. The user interfaces for these examples have been deliberately kept simple in order to make the programming techniques being taught more obvious.
Download a zip file containing source code and data for these examples: IMS_prog_examples.zip

Webcities
This site provides an example of programmatic use of Manifold IMS to create web pages. It was created without use of a template by scripting in Javascript in the .asp files used. Two new toolbar buttons are added. Click the Zoom to Cities button and then click near a city dot to get information (lat/lon location) on that city. Click on the Zoom to Query button and click anywhere in the map to find all cities within the given distance of the clicked point. A table with hyperlinks to the city appears for all cities within range.

Navigation
Shows the combined use of server-side and client-side code to implement zoom box functionality and custom scaling. Also demonstrates how to switch themes by toggling map layers. Zoom ranges allow new layers (roads, rivers, cities) to come into view when zooming in.

Overview Map
Demonstrates how to create and use an overview map for navigation in the main map. Shows various techniques to re-center and re-scale the map view. Includes use of user-specified locations using coordinate conversion on the fly to specify desired views. Also shows how to organize labels in layers so that more important layers are given priority.

Geocoding
Demonstrates how to use the Manifold geocoding engine from IMS. This requires installation of the Manifold Geocoding Data product on the IMS machine as well as Manifold System. To keep the example easily downloadable it does not contain complete streets for the US but rather just pans to show town names. Only the main cities have labels on them. The example allows entering addresses either as a single, concatenated line or as separate street address, city, state and zip fields. Entering just a zip code is a handy way of looking up a zip code.
It has reasonable error return despite being a tutorial example. For instance, if a visitor enters an address of "1600 Pennsylvania Ave, Washington, DC" into the single line address box it will return an alternative match using the correct street name of "1600 Pennsylvania Ave NW".


MultiMap
This example web site demonstrates the use of IMS with multiple .map files. Click on any state to drill down into a regional map that shows counties. Within a regional map, click the Info tool and then click on a county to get demographic info for that county. You can also use the Info tool at the main US level to get demographic info on a state. Counties within regional maps are colored by population, with more densely populated counties in lighter colors.
Advanced Web Site Programming Examples
The following examples require more advanced programming skills.

AltFuelStations
A fully-developed website that can be used as a dealer locator or other facilities location web site. Demonstrates how to use a query to locate facilities within the desired distance of a user-supplied zip code. This example website finds alternative fuel stations such as liquid natural gas, electricity charge points, etc., within Texas. The stations are kept within an Access .mdb file and automatically drawn on the fly in maps.
Try looking up all stations within 5 miles of zip code 75202 and it will show the stations and provide a table list that includes hyperlinks to display a local map (using MapQuest). Other Texas zip codes to try - with varying distances from 5 to 50 miles - are 77057, 79331, 75013, and 75248.
The web site is easily maintained without stopping the web server because any changes desired can be made to the .mdb file that provides the stations list. The .mdb is used for simplicity: an enterprise class version would use exactly the same technique but store points in Oracle, PostgreSQL or SQL Server. The example uses very simple background maps, which of course could be made more elaborate if desired.

Tiles
This example shows a fully custom navigation cluster of controls that "floats" above a map that is created by tiling many smaller IMS-served tile images. The example illustrates:
- How to render and navigate a map on the whole screen.
- How to render a map with tiles to facilitate client-side caching.
- How to register clicks into individual map tiles.
- How to display table data in a semi-transparent overlay window over the map image.

Terrains
This example website demonstrates how to render terrains. Navigating within the shaded relief surface of the Grand Canyon shows the 3D view in a terrain window along the bearing direction specified. Options include the ability to turn on vector overlays (using a simple drawing). The example illustrates:
- How to set the display options of a terrain component.
- How to serve a dynamic image component without running into multi-user conflicts.
- How to create an instance of the MapServer object without a configuration file.
- How to update an image served on a web page without reloading the entire page.

Elevations
This example website demonstrates how to render elevations. The elevation window shows heights in profile (elevation) along the line drawn through the shaded relief surface of the Grand Canyon. The example illustrates:
- How to visually create a profile line.
- How to set the display options of an elevation component.
- How to serve a dynamic image component without running into multi-user conflicts.
- How to create an instance of the MapServer object without a configuration file.
- How to share data between pages using the ASP Session object.

Breadcrumb
This example website demonstrates a breadcrumb control, that is a navigation line that shows where within a display or navigation hierarchy the view is located. The example illustrates:
- How to obtain the bounding box of the area shown by IMS in the coordinate system of the served component.
- How to run a parameter query and consume the records it returns.
- How to use parameter queries to create and run a breadcrumb control.

Routing
This website uses the optimal routing engine delivered with the Business Tools option to plan highway routes between locations in Mexico complete with driving directions. Choose a beginning location, any intermediate locations (if desired) and an end location and Manifold will create an optimal route. Driving directions are reported in a side pane. If desired the route can be animated. This example illustrates:
- How to convert a location in the coordinate system of the component served by IMS to screen coordinates.
- How to extract the columns of a clicked object by processing XML returned by IMS.
- How to overlay icons on top of the map image and adjust their locations according to the current viewport.
- How to locate an optimal route between given locations.
- How to render the located optimal route using a dynamic drawing.
- How to animate the located optimal route with a client-side script.
- How to report driving directions.

Query Builder (Requires MSXML4 or greater on client machine)
This IMS application allows users to construct their own spatial SQL queries and to execute them. A sophisticated example of client-side scripting, this example illustrates:
- How to design an ad-hoc query using client-side controls.
- How to run an ad-hoc query and display the records it returns.
- How to persist the records returned by the query on the page so there is no need to recompute them.
- How to zoom to objects using an identity column.
Click here for the free Microsoft download site for MSXML4. Get msxml.msi from that page (bottom of page).

Tooltips (Requires MSXML4 or greater on client machine)
A subtle, but effective, example showing how to fetch data from map objects via IMS and display it as pop-up tooltips that appear when the cursor hovers over an object, complete with additional database information displayed to the right of the map. This example illustrates:
- How to display a tooltip using a timer.
- How to request data from the server without reloading the page.
- How to obtain data from the XML using XPath.
- How to transform XML into HTML using XSLT.
Click here for the free Microsoft download site for MSXML4. Get msxml.msi from that page (bottom of page).

Geocoding Label
This example website demonstrates how to use the Manifold geocoding engine from Manifold IMS, popping up a persistent label on a map of the US at the geocoded location. This example illustrates:
- How to convert a location in the coordinate system of the component served by IMS to screen coordinates.
- How to create the geocoder object and use it to locate user-supplied addresses.
- How to place a label over a match returned by the geocoder.

Folders
This example shows how to group layers using folders. The example illustrates:
- How to use server-side code to generate dynamic client-side code.
- How to organize layers into folders.

Scale Well
A "scale well" is a vertical column of scale settings that may be clicked to change scale, to zoom in and out. This example shows how to control scale via a scale well. The example illustrates:
- How to convert display scale to absolute scale and vice versa.
A Commercial Template

Town of Monroe Master Plan Update
Many users employ Manifold IMS for commercial and government web sites, beginning with templates that are sold by consultants or commercial companies. This example shows a large, sophisticated IMS site that is a commercial product. This site assists various Town of Monroe departments in creating, updating and implementing the town's master plan. It includes a variety of different layer types (drawings, images, etc) and allows free-form SQL entry. This is a "cloned" version of the town's actual site. However, it is not being updated and should not be used for actual legal or government purposes. This web site was designed for daily use by trained personnel and requires large monitors with good resolution for best viewing. Used by permission. This IMS site was created using the gisadvisor.com template for Manifold IMS.
Visit the following pages for additional, detailed information on Manifold IMS:
- Internet Map Server - Manifold IMS home page.
- IMS Requirements - Hardware and software requirements for running Manifold IMS.
- Top 10 IMS Advantages - The top ten advantages reported by Manifold users over using old-fashioned, archaic IMS products.
- IMS FAQ - Frequently asked questions and answers.
Buy Now via the Online Store
Buy Manifold products on the Online Store. The store is open 24 hours / seven days a week / every day of the year. Orders are processed immediately with serial number email sent out in seconds. Use Manifold products today!
Suggestions
Suggestions to improve Manifold are always welcome. Please see the Suggestions page for tips on making effective suggestions.
About Manifold
Manifold is a deep technology company creating advanced, parallel algorithms, next-level technology, and computation know-how that powers faster performance and smarter operations.
License Manifold® technology to power your company's products, or take advantage of Manifold's off-the-shelf commercial products. Jump decades ahead of your competition.
Manifold® brand products deliver quality, performance and value in the world's most sophisticated, most modern, and most powerful spatial products for GIS, ETL, DBMS, and Data Science. Total integration ensures ease of use, amazing speed, and unbeatably low cost of ownership. Tell your friends!
Illustration, left: The Manifold Internet Map Server can serve a vast variety of data, including CAD drawings. The illustration shows detailed plans of a theater in New Zealand, used by theater professionals to plan performances. Using a Runtime License the cost of such capabilities is effectively zero.