Image Servers

Image servers, often written in concatenated form as imageservers, are a subset of web servers  that serve imagery in a form supported by dedicated modules specific to each such image server.   Such image servers typically do not utilize an "open" protocol but use their own specific protocols and methods to do something similar, serving tiles dynamically on demand to fill in a desired view.   See the Example: Spectacular Images and Data from Web Servers topic for examples of image servers in action.

 

Choosing the Web Server: imageserver type in the New Data Source dialog when creating a data source provides a choice of popular image servers providing street maps and satellite views,  like Bing, Google, Here, MapBox, MapQuest, NearMap, OpenStreetMap, WikiMapia, Yandex, and custom servers.    Pre-built image servers provide options for both free access as well as paid access requiring API or other credentials.

 

Web servers are operated by third parties, not by Manifold.   The operators of web servers have their own rules for free access (if any) to their servers, or how much free access is allowed before we must start paying to use servers.  Web server operators often change their rules without notice.  The built-in list of popular web servers in Manifold is a convenience, not a guarantee that those web server operators will continue to offer free access.   Manifold updates the list fairly frequently, but web server operators can change their rules overnight.  

A Shortcut:  Use New Map

There are two ways to add image layers to a project:

 

 

 

Using the New Map dialog is how many users add image servers to a project, because usually we want to use an image server as a base layer in a map anyway, and most often we want to use one of the image servers in the Favorites list.

 

 

To create an image server data source using New Map:

 

  1. Launch Manifold.

  2. Choose File - Create - New Map, or use the Project pane context menu.

  3. The New Map dialog's Base layer box will be loaded with all image servers in the Favorites list. Choose the one desired.

  4. Choose any other layers desired by clicking their boxes.

  5. Press Press Create Map.

  6. The new map and the image server data source it uses will appear in the project.

  7. Double-click open the map to see what the image server provides.

 

See the Example: An Imageserver Tutorial topic for a fast shortcut example.

 

Using the New Data Source Dialog

Choose File - Create - New Data Source, and then choose More... if one of the Favorites in the initial list is not the desired choice.

 

 

Use the New Data Source dialog to configure a new image server or web server.

 

To create an image server data source:

 

  1. Launch Manifold.

  2. Choose File - Create - New Data Source, or use the Project pane context menu.

  3. Choose one of the favorites in the list, or press More... to launch the New Data Source dialog.

  4. In the Type box choose Web Server: imageserver.

  5. In the box just below the Type box choose the desired image server, for example, Bing Maps Street Map.

  6. Press OK.

  7. The new data source appears in the project.  Click on the + icon to expand it.

  8. Double-click on the image within to open it and see what the image server provides.

 

See File - Create - New Data Source for instructions on connecting to many different types of web servers, including custom web server connection strings.

 

For examples, see the Example: An Imageserver Tutorial topic or the Example: Create a New Data Source from a Manifold Image Server topic.

Favorites

Manifold comes pre-loaded with many image servers in the Favorites for data sources, typically Bing streets, Bing satellite, Google streets, Google satellite and OpenStreetMap streets.  To use one of those we can choose File - Create - New Data Source. and simply click on the image server desired from the list of favorites that appears.

Available Image Servers

Image servers provide pre-built connections to popular services that provide layers using raster tiles.  The following image servers are built into Manifold.   Servers in green color are in the Favorites list by default.

 

 Some image servers may require licensing or a key for access.   If nothing happens when using an image server, choose View - Panes - Log Window to take a look at what the log says.   If there are error messages indicating access is Unauthorized, that means you need an API key or login credentials to use the image server.  Contact the image server's vendor to obtain an API key or login credentials.

 

Bing Maps Hybrid

Bing Maps showing streets overlaid on satellite imagery.

Bing Maps Satellite

Bing Maps showing satellite imagery.

Bing Maps Street Map

Bing Maps showing streets and features.

Google Maps Satellite

Google Maps showing satellite imagery.

Google Maps Street Map

Google Maps showing streets and features.

Google Maps Street Map (Transparent)

Google Maps showing streets with transparency between, to allow lower layers to show through.

Google Maps Terrain

Google Maps showing hill shaded terrain elevation.

Google Maps v2 Hybrid

Google Maps version 2 showing streets overlaid on satellite imagery.

Google Maps v2 Satellite

Google Maps version 2 showing satellite imagery.

Google Maps v2 Street Map

Google Maps version 2 showing streets and features.

Google Maps v2 Terrain

Google Maps version 2 showing hill shaded terrain elevation.

Here Maps Base

Here Maps showing streets and features.

Here Maps Hybrid

Here Maps showing streets overlaid on satellite imagery.

Here Maps Satellite

Here Maps showing satellite imagery.

Here Maps Terrain

Here Maps showing hill shaded terrain elevation.

MapBox Hybrid

MapBox Maps showing streets overlaid on satellite imager

MapBox Satellite

MapBox Maps showing satellite imagery.

MapBox Street Map

MapBox Maps showing streets and features.

MapQuest Hybrid

MapQuest Maps showing streets overlaid on satellite imagery.

MapQuest Satellite

MapQuest Maps showing satellite imagery.

MapQuest Street Map

MapQuest Maps showing streets and features.

NearMap Street Map

NearMap Maps showing streets and features.

NearMap Street Map (Direct)

NearMap Maps showing streets and features.

OpenStreet Maps Base

OpenStreet Maps showing streets and features.

OpenStreet Maps Migurski's Terrain

OpenStreet Maps showing Migurski styled hill shaded terrain elevation.

OpenStreet Maps OpenCycleMap

OpenStreet Maps showing streets and features with terrain elevations of interest to cyclists.

OpenStreet Maps OpenCycleMap Transport

OpenStreet Maps OpenCycleMap with public transportation added.

WikiMapia Street Map

WikiMapia data showing streets and features.

WikiMapia Street Map (Transparent)

WikiMapia data showing streets with transparency between, to allow lower layers to show through.

Yandex Maps Satellite

Yandex Maps showing satellite imagery.

Yandex Maps Street Map

Yandex Maps showing streets and features.  Depending on the Manifold build being used, this not appear in the choice list, given apparent Yandex work on a newer version.

Yandex Maps v2 Hybrid

Yandex Maps version 2 showing streets overlaid on satellite imagery.

Yandex Maps v2 Satellite

Yandex Maps version 2 showing satellite imagery.

Yandex Maps v2 Street Map

Yandex Maps version 2 showing streets and features.

Custom

Used for generic tile servers.   See the Custom Servers topic.

 

Cache

The New Data Source dialog provides the option to Cache data when using a web server, including when using an image server.

 

 Beginners should not check the Saved cached data between sessions box.   That causes all tiles that have been fetched to be saved into the project file, which can cause project files to become very large, hundreds of megabytes, if we have browsed many locations with the image server layer turned on.

 

 

Using cache by checking the Cache data box (checked by default) can provide faster performance with slower web servers because data that is reused, say, because we return to a previously-viewed scene, need not be re-fetched.  If we are no longer connected to Internet or if the remote server goes down, the data source can still show what tiles have been downloaded into cache.   Checking the Cache data box will save tiles that have been fetched during our current Manifold session into virtual memory.   When we close the project or exit Manifold those saved tiles will be discarded.

 

Checking the Saved cached data between sessions box (not checked by default) tells the system to save all tiles that have been fetched into the project itself, stored in cache tables within the Cache folder in the System Data hierarchy.  When we save the project into a .map file, those tiles will be saved within the .map project.  If the web server has more recent data than the last time tiles were downloaded and saved, the new tiles will automatically be downloaded.  Storing fetched tiles can be convenient, because whenever we use that image server in the project any view that we have already seen will be fetched instantly.   If we want to use the image server, we can do so even if we no longer have an Internet connection, so long as we visit only those views (pan and zoom) that have already been seen.  

 

If cached data saved by using the Saved cached data between sessions box is no longer desired, individual cache tables or even the entire Cache folder can be deleted to reduce the size of the project file.  When the data source created with the Saved cached data between sessions box option enabled is opened again, the Cache folder and cache table for that source will be re-created so the cache can grow again.

 

   

 

The downside to saving cached tiles in the project, by using the Saved cached data between sessions box, is that cache tables can accumulate hundreds of megabytes of data within the project file.   Therefore, beginners should not  check the Saved cached data between sessions box, since it is easy to forget that caching data and then browsing can grow apparently small projects to large size.   As a practical matter, most web servers used by most users tend to be image servers provided by large companies such as Microsoft Bing and Google, which provide tiles so rapidly that there is no need to use save cached data between sessions to achieve a reasonably speedy presentation.

 

See the discussion and illustrations in the File - Create - New Data Source topic.

 

Notes

Download manager - This dataport is accelerated using Manifold's internal, parallel, download manager, to fetch data from the server using multiple threads.

 

Problems connecting - Check the Log Window to see what is going on behind the scenes if an attempted connection does not work.     The usual problem with image servers is not providing an API key when an API key is required.   The next most frequent problem is that some image servers from big vendors (like Google and Bing)  may allow a reasonable number of accesses without providing an API key, but when the server operator decides we are using the server too frequently, it will insist that an API key must be provided.   Operators like Microsoft (Bing) make it easy to get a free developer API key that normally allows ample usage for most people.

 

Visit the Manifold community forum and talk out difficulties with other users.  Make sure to post full information on what you are doing, the connection URL you used, all details of how you tried to connect (including all settings in the data source dialog), what happened, and what the Log Window reported.    If other users cannot help you, spending a tech support incident will produce an authoritative analysis of the issue.

 

Try the URL in a browser - Checking the URL by launching it in a browser can reveal many problems with the URL or with the web server.  If a URL does not work in a Manifold web server dataport, try exactly the same URL in a browser.  If a browser cannot connect to the URL, the Manifold web server dataport will not be able to connect to it either.  If a browser cannot connect to that URL, that indicates the problem is the URL or the web server.   For example, the web server might be offline.  Or, for example, If the browser connects to a page other than the actual web service endpoint, such as, to a web page that lists various options for web servers, that shows the URL is not a URL for a web server but a URL to some other sort of web page.   

 

Connection problems are often caused by incorrect URLs.  There might be a typographical error in the URL or the URL might not be an endpoint to a functioning server but instead a URL to some other web page.  The server responding to the URL may have geographic restrictions (surprisingly common) that does not respond to connections from IP addresses that are thought to be in a canceled country.  Trying the URL in a browser will fail in such cases.  Web servers may also have other restrictions, such as only allowing connections from white listed IP addresses, from paying clients, or from those clients that use a special security scheme.  

 

Must Have Internet - It seems obvious that to connect to an image server we must have a live, functioning Internet connection.  What might not be obvious is that sometimes we may have only a partial Internet connection, without realizing we do not have a full Internet connection.  A classic example is using a browser, such as Opera, which may ignore failed IPv6 DNS resolution but work OK using IPv4 DNS resolution.  Without IPv6 DNS resolution we can browse Internet using Opera but we might not be able to connect to Microsoft, Google, or some other web servers.   

 

Manifold's web server connections, just like the latest Google Chrome and Microsoft Edge browsers, require full IPv6 DNS resolution.   That normally happens automatically using whatever IPv6 DNS servers are assigned by our Internet service provider, but at times IPv4 DNS continues to work OK while the IPv6 DNS servers assigned by our ISP do not work.  If we are using Opera, and not Edge or some other browser that uses IPv6 DNS resolution, we might not notice that our ISP-provided IPv6 DNS resolution is not functioning.    We might only notice the problem when trying to use an image server or other web server within Manifold and it does not work.

 

If we cannot get a display from a web server, we can check the Manifold Log Window. If the log reports that a connection cannot be made, in Windows network dialogs for our Internet connection  we can try setting the IPv6 DNS servers to some "known good" DNS servers.   A good choice is using Google's public DNS service, using the following addresses for primary and backup DNS server addresses:

 

2001:4860:4860::8888
2001:4860:4860::8844

 

Collections of Web Servers - Check the Product Downloads page for pre-packaged project files in Release 9 / Viewer .map format that Manifold publishes which contain collections of dozens of popular web servers data sources.

 

See Also

File - Create - New Data Source - an absolutely key topic for connecting to many thousands of different web servers.

 

Web Servers

 

ArcGIS REST Servers

 

CSV Servers

 

Custom Servers

 

GeoJSON Servers

 

Image Servers

 

JSON Servers

 

OSM Servers

 

TMS Servers

 

WFS Servers

 

WMS Servers

 

WMTS Servers

 

Example: Spectacular Images and Data from Web Servers - A must see topic providing a gallery of views illustrating how Manifold can use web servers such as image servers and other free resources to provide a seemingly endless selection of spectacular background maps, satellite images and GIS data with nearly zero effort.

 

Example: Vector Layers from an ArcGIS REST Feature Server - Visit an ESRI web site, copy a URL, and then use that URL to connect to an ArcGIS REST web server that shows petroleum fields in Kansas, getting the data as a vector drawing layer. Style the layer as if it were local.  ESRI refers to ArcGIS REST servers that provide vector data as feature servers.  

 

Example: Connect to a WFS Server for State Government Data - Gathering our courage, we connect to a WFS server that provides 1200 vector layers, run by the state of Massachusetts.   We open a layer showing airports and then scrape the vector data into our own local storage.  

 

Example: Connect to a WMS Server for National Map Layers - Visit the National Map services web page, copy a URL for a shaded relief layer from USGS, and then use Style to enhance that shaded relief data for combination with other layers and really spectacular effects.

 

Example: Connect to a Custom Server for Cadastral Data - We connect to a custom image server that provides cadastral information originally from the French national cartographic agency, IGN.  We create a map and use the Style pane to re-style the web served image on the fly into a more usable form.

 

Example: Connect to a Custom OpenRailwayMap Server - We connect to a custom server that provides an OpenRailwayMap view of railroads worldwide, showing railway, tram, and subway infrastructure based on OpenStreetMap data.  Our first try at creating a data source does not work.  After consulting the Log Window we try again with a slight adjustment and our second try works.

 

Example: Connect to an OSM Vector Server - We connect to an OSM Server that provides a vector layer containing points and lines in the OpenStreetMap database.  We then show how to scrape (copy) data from the OpenStreetMap server into local storage.  We extract building footprints from the local copy.

 

Example: Raster Layers from an ArcGIS REST Image Server - Visit an ESRI web site, copy a URL, and then use that URL to connect to an ArcGIS REST web server that provide a raster layer showing a mosaic of aerial photographs near Portland, Oregon.

 

Example: Create a New Data Source from a Web Server - Many web servers are image servers, providing image.  tiles for a geographic view to browsers or to applications.  Typical image servers are Bing, Google Maps, Yandex and many others. Image servers can provide street maps, overhead satellite imagery, combinations of streets and satellite imagery and other data as well.  This topic shows how to create a new data source that is an image server.  Using image servers is one of the most popular Manifold features.

 

Example: Trace an Area in a Map over an Image Background - In a map with a drawing layer above an image layer (served dynamically by an image server), create an area object in the drawing by tracing over the outlines of something seen in the image layer below

 

Example: Change the Shape of Areas - Step-by-step editing of an existing area in a drawing: changing the shape by moving a vertex, by moving several vertices together, by moving the entire object, by deleting a vertex and by adding a vertex.

 

Example: Style Applied to an Image Server Image - Because the Style dialog simply changes the way an image is displayed and not the data, it can operate on read-only data served by various web servers such as WMS REST servers.    In this example we look at every detail of creating a data source using a WMS REST  server and then manipulating the appearance of the display with Style.  We will connect to a WMS server that provides LiDAR data in various forms, including as terrain elevation.