Linked Images from TerraServer

Manifold can automatically link images served by Microsoft’s TerraServer image server. TerraServer is a free server operated by Microsoft Corporation that serves free aerial images and scanned USGS maps (DRGs) provided via a partnership with the U.S. Geologic Survey. At present, TerraServer provides images and raster maps for the United States, including Puerto Rico. See http://terraservice.net or http://www.terraserver-usa.com for details.

 

Important: The very cool Microsoft TerraServer should not be confused with the various non-Microsoft enterprises (such as terraserver.com) that have nothing to do Microsoft even though they have managed to obtain confusingly similar domain names.

 

TerraServer may be accessed either via an interactive web site visited by users, or as a web service to which applications like Manifold may connect to automatically fetch desired images.

 

·      The Download and Mosaic TerraServer Images example topic shows how to work with images obtained using the interactive TerraServer website by hand and to manually assemble them into mosaics.

·      This topic describes how to use the built-in Manifold capability of automatically downloading and combining images from TerraServer.

 

For most purposes, using the built-in Manifold ability to fetch and assemble TerraServer images is much more convenient than manually visiting the web site and then downloading and assembling images by hand.

 

Manifold can automatically access TerraServer to fetch desired images that cover a particular area of interest. When images are available for the area of interest, Manifold can automatically fetched the required TerraServer images and seamlessly mosaic them together into a single image.

 

If a component window is open and has the focus Manifold can automatically fetch and mosaic images from TerraServer to cover the region represented by that window (assuming, of course, the opened window is correctly georegistered and shows a region somewhere in the US). If a window is not open, we can still fetch images from TerraServer by specifying the desired latitude and longitude ranges of the region to be imaged.

 

To fetch an image from TerraServer, use the File - Link - Image command. In the Link Image dialog, choose TerraServer Server () in the Files of type box to launch the Link TerraServer Data dialog.

 

TerraServer images will be streamed from TerraServer as image "tiles" at the level of resolution required to construct the desired image. As we zoom into an image, Manifold will fetch more detailed tiles from TerraServer.

 

Manifold will cache image tiles streamed from an TerraServer server so that panning and zooming in the image can be as fast as possible. For example, when zooming into an TerraServer image Manifold will make use of less detailed image tiles that have already been fetched to quickly render the desired view as best as possible and then progressively update the display as more detailed tiles stream in.

 

Images linked from TerraServer are read-only images and cannot be re-projected. They can only participate in maps that use the same projection as the image, although they may be used in maps that have the same projection (coordinate system) except for the datum used. At any time, an image linked from TerraServer may be unlinked to create a local image that may be re-projected and otherwise altered as desired.

 

An image linked from an image server may be converted to a local image within the project either by using the Image - Unlink command or the Image - Download command. The Unlink command converts the existing linked image to a local image at whatever resolution is currently in use. The Download command may be used to automatically fetch all image tiles at any available resolution to create a local image at that resolution. Images linked from TerraServer may also be exported to image files. In that case, the exported image will be the same as that which would be obtained by unlinking the TerraServer image.

 

Note that exporting or unlinking an image linked from TerraServer will only use the data already downloaded from the server and will not attempt to download any more data. It will also only use the data for the most detailed image level. It is usually a good idea to use Image - Download to check how much data has already been downloaded for the most detailed image level prior to exporting or unlinking the image.

 

Another way to create a local image from a linked TerraServer image is to open the TerraServer image and then to use the keyboard F6 command or the Tools - Make Image command. The Make Image dialog allows us to create a local image in several different ways from the TerraServer image without unlinking the TerraServer image. For example, we can use this command to create an image of the displayed window or of the entire linked TerraServer image at a desired number of pixels or scale.

 

If the connection is severed between a linked image in a project and the image server (such as, for example, if the project is moved to a different machine and a local URL must be changed to a global URL) the link to the image server may be re-established using the Image - Relink command.

 

To create a linked image from TerraServer:

 

1. Open a component window (such as a drawing or a map or other component) and pan it and zoom it so show the region you would like to have covered by TerraServer imagery.

2. Choose File - Link - Image

3. In the Link dialog's Files of type box choose TerraServer Server ()

4. In the Link TerraServer Data dialog enter a URL to the TerraServer server in the Server box and press the Refresh button. The Server box will be pre-loaded with the URL of the default Microsoft TerraServer server, but it is possible that experts may wish to use different URLs.

5. If your connection to Internet goes through a proxy server, press the Proxy button and provide the required connection information for your proxy server.

6. Specify the maximum Scale of interest. Note that the Latitude and Longitude range boxes have been pre-loaded with latitudes and longitude values that precisely cover the extent of the view seen in whatever open component window has the focus. Press the Refresh button next to the Server box.

7. When the Refresh button is pressed, Manifold will communicate with the TerraServer server to find out what images are available for the region specified by the given latitudes and longitudes. This can take a very long time, possibly even a few minutes at a time, when TerraServer is busy. When the catalog of layers (the "Themes" in TerraServer jargon) has been fetched, all available images for the region of interest will be displayed as choices in the Themes box. For many parts of the US the choices are normally a DOQ, which is an overhead aerial image, or a DRG, which is an image created by scanning a paper USGS map. Some regions may have no images available. Choose a desired image in the Theme box.

8. Press OK. An image using a linked image icon will appear in the project pane using a name based on the theme, for example, "DOQ". In a background process, Manifold will begin downloading the image into local cache so that it may be conveniently displayed.

9. Highlighting the image in the project pane will report it as a TerraServer image in the status bar together with the size of the image in pixels.

 

The new linked image can now be opened and used like other images except that until they are unlinked to create a local image, TerraServer images are read-only and cannot be re-projected. Until the image is completely fetched, when the image component is clicked open it will appear in an image window as a partially transparent gray rectangle covering the extents of the image. If the image is used as a layer in a map, it will appear in transparent color in those parts not yet fetched from TerraServer.

 

Link TerraServer Data Dialog Controls

 

Server

URL to be used to connect to the TerraServer server. The Server combo remembers recently used TerraServer servers, including those used in earlier sessions of Manifold.

images\btn_refresh.gif

Refresh - Update the Theme box with images available from the TerraServer server.

Theme

Images available for the specified region. Populated only after the Refresh button has been used to make contact with TerraServer.

Scale

Maximum resolution of the desired image expressed as the smallest discernable feature size. For example, 1 m images have pixels that are one meter in size.

Longitude

Longitudinal extent of the desired image. If a component window is open and has the focus these values will automatically be filled in to cover the view shown in the window.

Latitude

Latitudinal extent of the desired image. If a component window is open and has the focus these values will automatically be filled in to cover the view shown in the window.

Cache data between sessions

Controls whether the cache folder used to cache image tiles retains its content between different sessions of Manifold or not. By default, the option is turned on.

Proxy

Calls up the Tools - Options - Proxy server dialog that allows configuration of a proxy server connection, if a proxy server is used to connect to the Internet. Passwords supplied for proxy servers will be stored in encrypted form.

 

If no windows are open when the Link TerraServer Data dialog is opened, we will have to provide the latitude and longitude extents of the region for which we desire an image. If a window is open, then the latitude and longitude extents of that window will be automatically filled into the Latitude and Longitude boxes for the dialog. This is a great convenience but is subject to a few common-sense rules:

 

The open window must be a 2D graphical window, such as a drawing, theme, image, surface, labels component or map. The component must be correctly georegistered so that the window shows some real location on Earth. This is easy to verify: when moving the mouse cursor over the opened window the status bar will report the location of the mouse cursor. If the Tools - Options - Status Bar pane setting for Current location is selected and set to latitude / longitude the status bar will report the position of the mouse cursor in latitude and longitude coordinates.

 

If the latitude and longitude locations make sense (that is, if they are what we would expect them to be given the view shown in the window) then we know that the component in the window has, in fact, been correctly georegistered. If on the other hand the locations are obviously wrong (say, as if we are looking at an image showing an aerial photograph of Chicago and the locations are reported as some spot in the ocean off the coast of Africa) we know that the component is not correctly georegistered. This usually happens when a component from a non-geographically aware format has been incorrectly imported.

 

See the Projections and Imported Components topic for information about correctly importing components from formats that do not save georegistration information.

 

The Scale Parameter

 

The value of the scale parameter determines the size of pixels in the Manifold image that is created from TerraServer data served into the link. For example, a scale parameter of 1m will create an image where each pixel is one meter in size. Together with the bounding box of the image (that is the geographic extent of the image), the pixel size determines the dimensions of the image component in number of pixels vertically and horizontally. The dimensions and pixel size of the image are used when exporting the image and in other operations (such as Image - Download) done with the image.

 

The value of the scale parameter represents the maximum scale used by Manifold when downloading data from TerraServer. As we zoom in and out in the image, Manifold will switch display scales in order to download as little data as possible from TerraServer (fetching only enough data to fill the display window at the current zoom), except that it will never use a scale that is more detailed than the scale parameter specified when linking the image. Zooming in beyond that scale will result in pixels "expanding" into larger block shapes just as occurs when zooming far into an ordinary, local image.

 

Thus, the scale parameter allows us to limit the amount of data with which we work. This is an important consideration when working with TerraServer data, since requesting TerraServer coverage over a large geographic region can involve an immense amount of data at the highest resolution TerraServer can provide. By asking for a larger scale, we can still image a large geographic region at a convenient level of detail without waiting eons for the download of lots of fine detail that is not necessary.

 

Cache Data Option

 

The Cache data option is important because it keeps a copy of the linked image in local disk cache. If this option is on, the next time we open a project containing a linked image, Manifold will be able to use the copy of the image saved in the local disk cache and will not have to go through the process of downloading the image again. The data cache will persist across sessions and projects so that once a tile is downloaded it will not have to be downloaded again.

 

The location of the cache folder is a TerraServer folder at what ever location is specified in the Data Cache item in Tools - Options - File Locations. The default value for the location is %MyDocuments%, so by default each user's files will be stored in the user's own cache folder.

 

When multiple users are working it might make sense to modify the default Data Cache setting for each user so the cache folder location is the same for all users and is on a shared resource available from all machines on the local network. For example, if there is a machine called Storage on our local network with a Cache folder on its C: drive, we might use a Data Cache setting of \\Storage\C\Cache for all users. In that case, any tile files that are retrieved by one user will be available to all users so that tile files for a given view will never have to be fetched twice over the network. This assumes, of course, that the network is fast enough so that use of cache over the network will not be too slow.

 

It is also important when working with large TerraServer images that the location specified for the cache is on a disk drive with plenty of free space. Users sometimes will ask for download of TerraServer images without thinking about how large the resultant image may be and thus end up inadvertently requesting immensely large data sets.

 

The data cache folder may be moved to a different location so long as the path specified in the Data Cache option is adjusted to point to the new location.

 

Caution: Cache files persist forever and, in extreme cases, use up your free disk space unless they are manually deleted. See the recommended actions in the Managing Cache Files topic.

 

Notes

 

Not all imagery that can be fetched interactively from the TerraServer website is available for automatic download via the web service.

 

Even if we have a very fast Internet connection we must keep in mind that the connection to TerraServer may be much slower. Even though TerraServer uses very fast database technology, it is a free service that quite often is overloaded due to its great popularity. There may be times when images are very slow to load from TerraServer. To cancel a connection when using the Link TerraServer Data dialog, press the Escape key on the keyboard.

 

Using TerraServer Images in IMS Websites

 

When using TerraServer linked images within a Manifold Internet Map Server web page, keep in mind that linked images may take a long time to render as image tiles are fetched from the remote image server. For example, an IMS project that contains an image linked from TerraServer won't render that image on the website until the system fully downloads the entire required portion of the image from TerraServer.

 

The IMS page including the linked image can be no faster than the image server providing the image. If speed is of the essence, consider downloading the linked image into local storage, perhaps as a compressed image in ECW form.

 

The Manifold Image Server Interface (ISI)

 

Connection to TerraServer uses Image Server Interface (ISI) drivers built into Manifold to present TerraServer as a Manifold Image Server.

 

Manifold's Image Server Interface (ISI) is an open standard published by manifold.net to make it easy for third party developers to create drivers that connect image servers to Manifold System. Image servers that can work with Manifold System using an ISI driver are called Manifold Image Servers and can be automatically accessed as if they were a built-in part of Manifold System using the File - Link - Image dialog. See the Linked Images from Manifold Image Servers topic.

 

 

See Also

 

Linked Images

Linked Images from Manifold Image Servers

Linked Images from Manifold IMS Web Sites

Linked Images from OGC WMS Servers

Image - Download

Image - Relink / Unlink

Tools - Make Image

Download and Mosaic TerraServer Images