IMS Examples

Live Web Sites Powered by IMS

Manifold Internet Map Server

Manifold IMS

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 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.

These examples show how easy it is to create and host an IMS web site. Clicking on thumbnail may jump to a third party site. Thanks go out to companies who have participated by contributing or hosting examples, as well as to gisadvisor.com for first rate video tutorials on working with Manifold IMS.

Note: for some sites hosted in other countries, to see the domain name in the original language when IE prompts for a web address that contains letters or symbols in a different language, click on the "Click here for options" bar, choose "Change Language Settings" and add "Chinese (PRC) [zh-CN]" in addition to the languages you already have installed. This will add Chinese characters to English and other languages your browser already knows. Close the browser window and open the site again and you will see the correct language in the address bar.

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.


Immediately Useful Examples

Without any programming, in 15 minutes or less an experienced Manifold user can create GIS-enabled websites that are immediately useful in real life.

Standard template: VMAP1 Download

Here is a practical application from the Manifold data downloads page. This site shows all of the VMAP1 tiles which are available in green. VMAP1 was created by the National Geospatial-Intelligence Agency (NGA) and is the highest resolution (approximately 1:250,000 equivalent) public domain vector map of the world that is available to the public. Not all tiles have been made available by NGA, but those that have may be obtained in Manifold format via this web site. Click the Center button and then doubleclick on a green tile to download it.

You must have pop-ups enabled in IE and have all download options enabled in IE. Or, just use Firefox. The site exploits the "URL" capability of Manifold IMS that allows launching web pages, downloads or other URL-driven tasks from URLs embedded in objects within the map. The site uses a very small compressed image as a background map for superb speed in zooming and panning. This is a fast and simple site that is typical of download sites that may be created with IMS in minutes using no programming at all. Important Note: Data downloaded from this sample site is in Manifold .map format and requires Manifold System to be used. This site and the data it provides are not supported in any way.


Locator Sites for Businesses

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 and 5 Guys ® Burgers and Fries locations primarily in the East. 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. 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.


Standard template: 5 Guys ® Burgers and Fries Locations

Using the default, standard template the site shows all 5 Guys locations as of October, 2009, using green or yellow dot icons to mark each restaurant. 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 and telephone number (and fax number, if any) for the restaurant appears.


Both of the above examples started with a list of restaurant street addresses taken from the In-N-Out or 5 Guys web sites. Both use the Open Street Maps image server module contributed by Manifold user jkelly on the georeference.org forum to generate a free, public domain background map using MapNik. Manifold has the ability to use "image servers" like OSM servers, TerraServer, Virtual Earth, Google Earth, Yahoo and many others to automatically fetch background map layers to provide context. These examples use the MapNik open source connection to the Open Street Map project for completely public domain street layers.

The examples are especially useful when planning a road trip where you would like to dine at In-N-Out or 5 Guys 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.

The Manifold IMS part of the web site is virtually instantaneous (as can be seen from the "all Manifold" examples which do not use third party image servers); however, the speed of rendering for the In-N-Out and 5 Guys examples is largely dependent upon the Open Street Maps database that is being accessed through the MapNik layer as well as on the number of prior visitors (the more visitors to a Manifold image server site, the faster it becomes due to caching on the server). Other image server backgrounds such as Virtual Earth are usually much faster even without caching. The image server layer controls the style and color of the background map. The MapNik layer, for example, uses a particular style of formatting which is appealing to MapNik users.


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 thumbnails at left to see the same In-N-Out locator web site implemented using background layers for the open source Osmarenderer Open Street Maps server on the left and the Microsoft Virtual Earth "hybrid" display on the right, with street map overlays on a satellite image using the image server module contributed by Manifold forum user csb. Both examples were created from the first In-N-Out locator site shown above in less than five minutes with zero programming. Note how the different image server layers provide dramatically different formatting of streets, different selections of what features to show in the map and, in the case of Virtual Earth, faster performance.

Try using the Zoom In button to zoom far into the In-N-Out location in the north of San Francisco, by Aquatic Park and Fisherman's Wharf, to see the different styles used by the MapNik, Osmarenderer and Virtual Earth image server examples.

One more thing about image servers: 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.

SVG

This example website demonstrates how to send vector data to the client in SVG format. This example illustrates:

  • How to render a drawing to an SVG stream.
  • How to display SVG on the client.

Download a zip file containing source code and data for these examples: IMS_prog_examples.zip


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:


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!

 Click to begin shopping


Suggestions

Suggestions to improve Manifold are always welcome. Please see the Suggestions page for tips on making effective suggestions.


Manifold

About Manifold

Manifold products deliver quality, performance and value in the world's most sophisticated, most modern and most powerful spatial engineering products. Total integration ensures 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.