Tag Archives: WMS
Drag and Drop Files on Your Web Map
With the
latest release of ArcGIS Online, you can now add shapefiles, text files (TXT
and CSV), and GPX files directly to your web map. You can drag data from
your computer onto your map or, with just the click of a button, add it to your
map in the ArcGIS.com
map viewer or ArcGIS
Explorer Online. Once you’ve added your data, you can configure pop-up
windows and change the symbols.
When you
add your data to a web map, the ArcGIS.com map viewer and ArcGIS Explorer
Online automatically add the location information from your file, draw features
for each item, and store the information in the map.
In
addition to the above-mentioned formats, you can also add Open Geospatial
Consortium, Inc. (OGC), Web Map Service (WMS) layers to the ArcGIS.com map
viewer and ArcGIS Explorer Online. Simply click the Add button and
enter the URL to the service. The ArcGIS.com map viewer also supports the
addition of KML layers.
You can
share your data or saved maps in ArcGIS Online so others can find them and use
them to create their own maps and mashups.
Learn
more about adding features to your map, or watch a
short video.
ArcGIS Online at the UC 2011 Plenary – Part I
New capabilities in ArcGIS Online were highlighted during the opening plenary session at the recent Esri 2011 International User Conference. Here’s a recap of what was shown, along with a few additional details. Part I (this post) covers recent capabilities introduced prior to the User Conference. Part II covers new features still in beta, including organizational subscriptions and hosted services.
The ArcGIS Online plenary presentation can be viewed online. To view the ArcGIS Online Part I demonstration covered here you can fast forward by advancing to the 4:00 minute mark in the video:
ArcGIS Online at the UC Plenary - Part I
ArcGIS Online was introduced at last year’s User Conference, and since then it’s become both an integral and integrated part of the ArcGIS System. But while it’s a part of the ArcGIS System, anyone – not only GIS professionals – can make a map by going to ArcGIS.com, the Web gateway to ArcGIS Online. Just click Make a Map to open the built-in ArcGIS.com map viewer. The map viewer opens with the default World Topgraphic basemap, built using authoritative content compiled from GIS users worldwide.
We’d like to quickly create a map using information we have in a spreadsheet (a CSV file with crime data) downloaded from the Washington, D.C., website. To create the map we simply drag and drop the spreadsheet from our folder onto the basemap:

The lat/long coordinates in the spreadsheet are automatically discovered and used to add the locations to our map. They appear on the map below as dots, and clicking each of them we can view the information from the spreadsheet in a pop-up:

We can style the symbols in a variety of ways; by choosing a different symbol for all, or by choosing to symbolize by unique values, or by choosing a field to color or change the size of the symbols. Below we’ve chosen to vary the size of the symbols based on the severity of the crime; crimes like homicides are represented by large dots, less severe crimes are symbolized by smaller dots:

Next we may want to learn more about why these crimes might occur by adding demographic information, also published and easily found on ArcGIS Online. Using the map viewer we can search by keywords and find additional layers that we can mashup quickly and easily. Below we’ve searched for and found the median household net worth layer and added it to our map (and adjusted the layer transparency).

We’ve finished our map (in just a minute or two!) and have saved it in our free ArcGIS Online account. All you need is to register your Esri global account and you can save maps and more, share them with others, and create groups and organize your content.
Once saved, there are many ways that we can share our map and make it available to others. We can share it via a link that we can copy and paste in an email, or we can embed it in a website or blog, or we can use one of the templates (from the built-in template gallery) that lets us view and share the map using a different application.
Here’s one that includes a widget for locating tweets. We enter “crime” and the matching tweets found in our view are instantly added to the map we just made (there are many more templates to choose from):

The intelligent maps supported by ArcGIS Online can be easily created and shared by anyone.
Another feature of intelligent maps is that they present information in meaningful ways, and the way information is displayed can be configured easily by anyone. An example is the USA Tapestry Segmentation map which includes paragraphs and pie charts to display the demographic profile information in more meaningful ways than just a list of attributes. Just click a feature to display the pop-up:
Intelligent maps can also be time-enabled. Here is an example from the ArcGIS.com map gallery that shows World Bank data with population growth over time. Note the slider along the bottom, which advances yearly from 1960 to present. It’s been set to auto-play, but can be interactively moved instead. The map has become “time aware” simply by connecting to a time-enabled GIS service:
Intelligent maps are also timely, meaning that they can present real-time information in a timely manner rather than just displaying static maps. This map shows USGS stream gauge data that is updated in 15-minute intervals. As we captured this graphic we noticed that the current stage height was 24.77 feet, considerably above the 18-foot flood stage.

Zooming in we took a closer look at Fargo, located in Cass County, North Dakota, and its across-the-river neighbor Moorhead, located in Clay County, Minnesota. The cities of Fargo and Moorhead, as well as Cass and Clay counties, are all participating in the Community Maps Program which enables GIS users to add their detailed data to the Esri World Topographic basemap.
The advantages are many; users own their data and can update it when they need to, and Esri provides the hosting for free. And everyone benefits when events occur, like the flooding that the Fargo/Moorhead area experience, as Nature doesn’t pay attention to jurisdictional boundaries. Having a comprehensive, up-to-date, authoritative, multi-scale basemap readily available makes situational awareness easier to attain.
Zooming in to the Oak Grove School area, we turn on additional layers published by the City of Fargo via their ArcGIS Server. These layers include levees and parcels. The parcel pop-ups have also been configured to display property value information.

Intelligent webmaps can also be used in many different ways. This same map shown above can be embedded in any website using the automatically generated HTML snippet and using copy/paste. Shown below is the City of Fargo website with the embedded map:

ArcGIS Explorer Online is another ready-to-use application that is hosted on ArcGIS Online. It includes unique capabilities, including the ability to author presentations. These are similar to PowerPoint presentations but much more powerful because you are using live, interactive maps. You create “slides” which capture what you see on the map, but you can interact with the map and pan/zoom or click features in any slide. Presentations enable you to communicate geographically with anyone, and can be viewed anywhere and easily shared.
Shown below are the ArcGIS Explorer presentation tools in the presentation tab showing several slides, and one being authored:

Intelligent maps can also be used in many applications, on any device. Any webmap can be viewed using Explorer Online or the map viewer, opened in ArcGIS Desktop, or on your iPad (using ArcGIS for iOS or displaying the presentation using the Safari browser). Shown below is the presentation being displayed on the iPad using Safari:

Intelligent maps are also open, and can be used with many different kinds of data. We’ve already used spreadsheets (CSV files), but ArcGIS Online also supports importing GPX files, using KML and WMS services, and more. Shown below is a webmap made by mashing up a KML showing locations of dams and an OGC WMS service published by the USGS with state geology:

Shapefiles can also be imported and used in any map, and shown below using Explorer Online are two shapefiles of hospital service areas and locations. Like any other layer they can be symbolized in many different ways, and pop-ups can be configured.

Intelligent maps also enable analysis, and shown below in Explorer Online is a dashboard with gadgets that enable us to look at population totals and demographics and compare them to other features as we hover over them. The dashboard enables us to look at information in a very visual and interactive way that helps us understand more about what we see on the map:

ArcGIS Online’s intelligent webmaps are truly unique and powerful, and offer compelling ways to share and use geospatial information in many ways, devices, and applications.
Creating a time-enabled WMS with ArcGIS Server 10
The much-requested ability to show time in a WMS is now available at ArcGIS Server 10.0. A time-enabled WMS advertises a temporal extent of its layers in the GetCapabilities response, just as it does for the spatial extent. A client can “zoom” the map to a particular point in time using a “TIME” parameter in the GetMap request. This post shows an example of a time-enabled WMS and describes how it was built.
Preparing the data
To get a time-enabled WMS, your data has to have some temporal information associated with it. Temporal data can theoretically be stored within raster data or it can be associated with vector features in an attribute field. With ArcGIS Server, you can only publish a time-enabled WMS from a map service (as opposed to an image service), so we’re just going to focus on vector data for this example.
The test dataset we’ll use are some point and line features in Port-au-Prince, Haiti, collected from the Open Street Map (OSM) database. OSM is a crowdsourced geographic database into which any editor can contribute data. Before the January, 2010 earthquake in Haiti, OSM didn’t have much coverage of Port-au-Prince. Here’s what it looked like:

(C) OpenStreetMap and contributors, CC-BY-SA
After the earthquake, volunteers quickly digitized data for the Port-au-Prince area to provide more accurate maps for responders on the ground. In a few weeks, the dataset grew into quite possibly the most complete and accurate GIS dataset of Port-au-Prince that has ever been compiled.

(C) OpenStreetMap and contributors, CC-BY-SA
To better visualize this amazing power of crowdsourcing, I decided to build a WMS that shows the growth of OSM in Haiti during the days following the earthquake.
The original data I downloaded from Geofabrik was a snapshot from January 25, 2010. This was only two weeks after the earthquake, so if you download the data now, you’ll get an even more recent snapshot. A nice perk of the site is that it offers the OSM data in Esri shapefile format. For this example, I decided to download streets, waterways, and points of interest.
Here’s an example of the attribute table for the streets layer. The highlighted field “timestamp” contains the time the feature was submitted into the OSM database. All the layers I downloaded have a similar “timestamp” field.

Configuring time settings in the ArcMap document
Before publishing the map document through ArcGIS Server, you need to enable time settings on each layer in ArcMap. This involves opening the layer properties and telling your map which field holds the time information that should be used for that particular layer. Here’s an example screenshot for the streets layer:

To get here, I just right-clicked the streets layer in the ArcMap table of contents and clicked Properties. Then I clicked the Time tab, which is new at ArcGIS 10.
Here are some of the settings I adjusted:
- Layer Time – This specifies whether a feature in the layer is associated with a single time point (defined by one attribute field) or a time span (defined by two attribute fields). With the OSM data, each feature has a single time field showing when it was added to the database, so I picked Each feature has a single time field.
- Time Field – This is the attribute field that holds the time information. Depending on what you selected above for Layer Time, you get either one or two dropdowns here. In my case, I specified the “timestamp” field I showed earlier.
- Field format – This denotes the pattern or format of the values in the Time Field. The OSM data has a timestamp format of “yyyy-mm-dd hh:mm:ss”, which is valid according to the ISO8601 spec and is also supported by ArcMap. You can see that it’s one of the choices in the dropdown.
There are other settings you can adjust in this dialog which will all affect the resulting time-enabled WMS. The ArcGIS Desktop Help explains these options in detail.
After adjusting these settings, you can save the map and prepare for publishing to ArcGIS Server.
Publishing the time-enabled WMS
The workflow for publishing a time-enabled WMS with ArcGIS Server is the same as publishing a regular WMS. You just publish your map as an ArcGIS Server map service, and enable the WMS capability on it. Both .msd and .mxd files can be published as map services exposing time-aware data.
Once you start the map service, you can begin making WMS requests to it.
Consuming the time-enabled WMS
There are many good WMS clients in either the commercial or open source realms, but ArcMap is a particularly appropriate client for a time-enabled WMS because it comes with a time slider. This not only lets you display or animate your map using the TIME parameter, but also helps you parse and display temporal extent information advertised in the GetCapabilities response.

Here are some brief steps to consume a time-enabled WMS in ArcMap:
- Start ArcMap and add your WMS layer.
- Click the Open Time Slider Window button.

- Experiment with dragging the time slider or playing the time animation.
In the series of images below, the time slider demonstrates the daily addition of data to OSM in the Port-au-Prince area in the weeks following the earthquake.

Contributed by Yingqi Tang of the ArcGIS Server software development team
Styling a WMS GetFeatureInfo response with ArcGIS Server 10
The GetFeatureInfo operation on a WMS is designed to return attributes of features in the map. The WMS spec doesn’t really define the schema for the GetFeatureInfo response, so you’ll see it handled differently as you look at various WMS implementations. With an ArcGIS Server WMS, you can request the feature info in various formats, including HTML, XML, and plain text.
For example, here’s a GetFeatureInfo request along with its response in the default HTML format:
Request
http://localhost:8399/arcgis/services/ihs_petroleum/MapServer/WMSServer?&service=WMS&version=1.1.0&request=GetFeatureInfo&layers=fields&query_layers=fields&styles=&bbox=47.130647,8.931116,48.604188,29.54223&srs=EPSG:4326&feature_count=10&x=562&y=193&height=445&width=1073&info_format=text/html&
Response

In many cases, the default response in HTML, XML, or plain text may be good enough for your own purposes, but there may be times when you want to customize the response format or schema. Perhaps you want your own look and feel to the response, or for interoperability reasons maybe you want to get the feature information back in a standard schema like GML or GeoJSON.
In ArcGIS Server 10, both server administrators and WMS clients can customize the GetFeatureInfo response using XSLT templates. This blog post explains the basic steps.
Background
When you work with a WMS created by ArcGIS Server, the GetFeatureInfo response is generated by applying an XSLT template on a raw internal XML format. This internal XML just contains a list of fields and values of identified features. A default XSLT template for the particular format (HTML, text, etc.) is applied to make the final response look readable.
Knowing this workflow, you can customize both the format and schema of the GetFeatureInfo response. You need to understand:
- The raw internal XML format of the ArcGIS Server WMS GetFeatureInfo response
- The default XSLT templates that come with ArcGIS Server for the different types of supported formats
Let’s tackle these one at a time.
The raw internal XML format
Here’s an example of the raw internal XML GetFeatureInfo response from an ArcGIS Server 10.0-produced WMS:
<?xml version="1.0" encoding="UTF-8"?>
<esri_wms:FeatureInfoResponse version="1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:esri_wms="http://www.esri.com/wms" xmlns="http://www.esri.com/wms">
<esri_wms:FeatureInfoCollection layername="fields">
<esri_wms:FeatureInfo>
<esri_wms:Field>
<esri_wms:FieldName><![CDATA[OBJECTID]]></esri_wms:FieldName>
<esri_wms:FieldValue><![CDATA[1]]></esri_wms:FieldValue>
</esri_wms:Field>
<esri_wms:Field>
<esri_wms:FieldName><![CDATA[Shape]]></esri_wms:FieldName>
<esri_wms:FieldValue><![CDATA[Polygon]]></esri_wms:FieldValue>
</esri_wms:Field>
<esri_wms:Field>
<esri_wms:FieldName><![CDATA[Shape_Area]]></esri_wms:FieldName>
<esri_wms:FieldValue><![CDATA[0.009079]]></esri_wms:FieldValue>
</esri_wms:Field>
...
<!-- there could be more <esri_wms:Field> -->
...
</esri_wms:FeatureInfo>
...
<!-- there could be more <esri_wms:FeatureInfo> -->
...
</esri_wms:FeatureInfoCollection>
...
<!-- there could be more <esri_wms:FeatureInfoCollection> -->
...
</esri_wms:FeatureInfoResponse>
Notice that:
- The root tag <FeatureInfoResponse> can contain multiple <FeatureInfoCollection> elements.
- Each <FeatureInfoCollection> element contains the attribute fields and values of all identified features from a single WMS layer.
- The information for a single identified feature is contained in a <FeatureInfo> tag. Notice the name-value pair for each field.
Since the whole idea of XSLT transformation involves converting one format of information to another, it’s really important to take some time to understand the above format before you continue.
Default XSLT templates in ArcGIS Server
The ArcGIS Server 10.0 installation comes with XSLT templates for the supported formats listed in the WMS’s capabilities files. You can see these default templates if you open <ArcGIS Server install location>StylesWMS. As indicated by their names, each template is used to produce the default GetFeatureInfo response in a given format. In example at the beginning of this post, the HTML table with the blue caption was produced thanks to the default XSLT for the HTML format.

If you ever need to get the raw XML as the response, you can set the GetFeatureInfo request parameter INFO_FORMAT to application/vnd.esri.wms_raw_xml. You might do this if you wanted to create your own template and you needed some understanding of the raw format.
How to customize your WMS GetFeatureInfo response
Given all of the information above, let’s explore a couple of ways you can customize the WMS GetFeatureInfo response in ArcGIS Server 10.0.
Modify the default XSLT templates in ArcGIS Server
You’ve seen where the default XSLT templates live, and one option is to just open them up and start tweaking the styles to fit your liking. Remember, though, that if you change these templates, it will affect any WMS published through ArcGIS Server. For this reason, avoid trying to put any map-service-specific logic into the templates.
Here’s an example change to featureinfo_text_html.xsl, the HTML template. If you opened the file in a text editor and replaced the <Style> tag with the following, you would see the table caption color change to red.
<style type="text/css">
table, th, td {
border:1px solid #e5e5e5;
border-collapse:collapse;
font-family: arial;
font-size: 80%;
color: #333333
}
th, td {
valign: top;
text-align: center;
}
th {
background-color: #ffb7b7
}
caption {
border:1px solid #e5e5e5;
border-collapse:collapse;
font-family: arial;
font-weight: bold;
font-size: 80%;
text-align: left;
color: #333333;
}
</style>
An example response using this template would look like this:
Override the behavior of the default XSLT template using the xslt_template parameter
xslt_template is an Esri-specific parameter that you can set to the URL of an XSLT template file. The ArcGIS Server-produced WMS will then pick up the template and override the default template.
When using the xslt_template parameter, your XSLT template doesn’t have to follow the same naming convention as the default templates, but it does need to be available through a URL; a local path or UNC path won’t work.
Here’s an example of a GetFeatureInfo request with the xslt_template parameter:
http://localhost:8399/arcgis/services/ihs_petroleum/MapServer/WMSServer?&service=WMS&version=1.1.1&request=GetFeatureInfo&layers=pipelines&query_layers=pipelines&styles=&bbox=47.119661,28.931116,48.593202,29.54223&srs=EPSG:4326&feature_count=10&x=389&y=120&height=445&width=1073&info_format=text/plain&xsl_template=http://server:8080/dev-summit-2010/resource/xsl/featureinfo_application_geojson.xsl
The above URL references an external template that overrides the default template. The customized template looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:esri_wms="http://www.esri.com/wms" xmlns="http://www.esri.com/wms">
<xsl:output
method="text"
indent="yes"
encoding="ISO-8859-1"/>
<xsl:template match="/">{
"type": "FeatureCollection",
"features": [<xsl:for-each select="esri_wms:FeatureInfoResponse/esri_wms:FeatureInfoCollection/esri_wms:FeatureInfo">
{
"type": "Feature",
"properties":
{<xsl:for-each select="esri_wms:Field">
"<xsl:value-of select="esri_wms:FieldName"/>":"<xsl:value-of select="esri_wms:FieldValue"/>",</xsl:for-each>
},
"layerName":"<xsl:value-of select="../@layername"/>"
},</xsl:for-each>
]
}
</xsl:template>
</xsl:stylesheet>
The above template has been created to make the WMS return its GetFeatureInfo responses in plain text instead of the default HTML format. In fact, here this plain text is styled in the popular GeoJSON format. GeoJSON can be parsed by many JavaScript libraries, allowing you to integrate your responses with your Web pages in an easy-to-read format.
Here’s an example of using a GetFeatureInfo GeoJSON response as a data source of an Ext.Grid in an OpenLayers Web Map application:
Click here (or right-click the link and save) to see the code for an example template that could be used to embed a video object in the response.
Click here (or right-click the link and save) to see the code for a more comprehensive example that heavily customizes the GetFeatureInfo HTML response to embed a JavaScript code snippet. The code plays a tour in the Google Earth plug-in Web application.
Notice that in this XSLT template, there is logic specific to a particular WMS service. Therefore, this template should always be referenced through the xslt_template parameter; it should not be made the default template.
Contributed by Yingqi Tang of the ArcGIS Server development team
Sharing WMS services via ArcGIS Online
A question came up recently - can I share WMS services via ArcGIS Online? The answer is yes, and here’s how.
First, WMS services, unlike ArcGIS services, can’t be shared on ArcGIS Online in their native form. Why you might ask? Not all client applications support them (at least not just yet), so WMS services are supported in a way that exposes them to the clients that can use them – via layer files or layer packages.
This means the way to share WMS services on ArcGIS Online is to use ArcGIS Desktop to create layer files or layer packages which you can easily add to ArcGIS Online. We should note that the upcoming release of ArcGIS Explorer (build 1500) also supports saving WMS services (and other map items) as layer packages.
In this example we’ll use ArcMap to connect to a WMS service and share it.
Start ArcMap, and click the add data button as shown below:

Choose GIS Servers from the drop-down list

Then choose Add WMS Server

Enter the connection information (here we’re connecting to a NOAA WMS service of stream gauges) in the next dialog. You can also connect directly to any layer in the service. You may notice that the NOAA WMS service we’ve used is published from ArcGIS Server. ArcGIS Server provide you an option to publish any service as a WMS service.

Once we completed those steps, here’s what the service looked like in our map.

To share this via ArcGIS Online we need to save it as a layer file or a layer package. Layer packages are the easiest direct path to ArcGIS Online since with ArcGIS 10 you can share layer packages directly to your ArcGIS Online account.
Right-click the layer, and choose Create Layer Package…

We’re using ArcGIS 10 and among the new features in this latest release is that ArcGIS Online is deeply integrated into the user experience. So when we create a layer package, we have a choice of saving it locally as a file, or adding it directly to our ArcGIS Online account.
Below we’ve chosen to share the layer package directly to ArcGIS Online. No data is copied of course, the layer package simply contains the URL reference to the WMS service.

WMS services are shareable via ArcGIS Online by following these two simple steps – connect to the service, then share to ArcGIS Online as a layer package.
ArcGIS (Desktop, Engine, Server) 10.0 WMS Service Memory Leak Patch
The ArcGIS (Desktop, Engine, Server) 10.0 WMS Service Memory
Leak Patch is now available . This patch addresses a memory leak issue that occurs in the ArcGIS
Server WMS service each time a map image or legend graphic image is requested.
The patch deals specifically with the issue listed below under Issues Addressed with this Patch.
Connecting to ArcGIS Server from MicroStation
Many users of the Bentley MicroStation CAD platform have asked us how to connect to image or map data that is served from ArcGIS Server. ArcGIS Server can serve various formats easily consumable by non-ESRI clients. One of these popular formats, supported by MicroStation, is OGC WMS (Open Geospatial Consortium Web Map Service).
Support for WMS in MicroStation was added in version V8 XM (08.09.03) and updated in version V8 XM (08.09.04). In V8 XM, access to WMS services requires a manually-created xWMS file. In V8i (8.11), you can connect to WMS services using an updated interface within the Raster Manager. This post describes both techniques.
Connecting to a WMS in MicroStation V8 XM
To connect to a WMS using Raster Manager in V8 XM, you must create an xWMS file. An xWMS file is a simple XML file with the extension .xWMS, which contains some properties about the WMS.
The following values must be contained in the xWMS file:
- URL: The URL to the service.
- REQUEST:
- VERSION: The version of WMS supported. MicroStation only supports WMS version 1.1.1 at this time.
- SRS: The EPSG Code for the service’s spatial reference system.
- LAYERS: The layer name of the service.
- BBOX: The bounding box of the service in the aforementioned spatial reference system.
- WIDTH: Width of the service in pixels.
- HEIGHT: Height of the service in pixels.
- FORMAT: The image format in which the service is to be returned. Examples are image/jpeg or image/png
Most of the remaining values in the file can be left as defaults, but you can edit them as necessary. To identify appropriate values, you can use Get Capabilities on the WMS. For example:
http://eg1119/ArcGIS/services/ambwms/ImageServer/WMSServer?request=GetCapabilities&service=WMS
Below is a sample xWMS file. You can copy this into a text editor and change the values to suit your own WMS. Note that the URL must be entered without the “http://” prefix. This is automatically added by MicroStation.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BentleyWMSFile>
<VERSION>1.1</VERSION>
<URL>eg1119/ArcGIS/services/amberg/ImageServer/WMSServer?</URL>
<REQUEST>
<VERSION>1.1.1</VERSION>
<SRS>EPSG:31494</SRS>
<LAYERS>amberg</LAYERS>
<BBOX>4488761.853491,5477485.126490,4491005.146509,5479555.401510</BBOX>
<WIDTH>850</WIDTH>
<HEIGHT>1000</HEIGHT>
<FORMAT>image/jpeg</FORMAT>
</REQUEST>
<IMAGESIZE>
<MINSIZE width="85" height="100" />
<MAXSIZE width="850000" height="100000" />
</IMAGESIZE>
<SERVERCAPABILITIES>
<MAXBITMAPSIZE width="1024" height="1024" />
</SERVERCAPABILTIES>
</BentleyWMSFile>
Once you have the above file, follow these steps to add it in V8 XM using Raster Manager
- Open Raster Manager.
- Click File > Attach.
- Navigate to and select the xWMS file, then click Open.

- If necessary, click Fit To View to zoom to the extent of the service.
Connecting to a WMS in MicroStation V8i
Although you can also add xWMS files in MicroStation V8i, it’s easier to use the improved user interface for adding a WMS service interactively. Here’s how:
- Open Raster Manager.
- Create a new WMS connection by clicking File > New > WMS.
- Type in a URL, or click the Servers button and select a service from the server list.

- Select a layer from the Available Layers list and click Add to map.
- Click Save or Save and Attach to add it to the drawing.
Using a jpeg connection for improved performance
By default, the format for the WMS connection is image/png. However, it’s recommended that you make a jpeg connection to ArcGIS Server because the transfer rate is faster.
To change the connection properties in MicroStation V8 XM, modify the .xWMS file prior to attaching it within MicroStation. The XML node to change is:
<FORMAT>image/jpeg</FORMAT>
In MicroStation V8i you can make the change before adding the WMS to the map. See the diagram below.
You can also access this dialog for an open connection. Follow these steps:
- Open the Raster Manager.
- Select the WMS connection to edit.
- Edit the WMS connection (From the Open menu, click Utilities, and click Edit WMS.)
- Change the Format to image/jpeg.
Contributed by Randall Rebello of ESRI
ArcGIS Explorer = Many Kinds of Layers
One of Explorer’s distinguishing features is its ability to connect directly to a wide variety of Web service-based content and a wide variety of local data, both vector and raster, and integrate and manipulate them all in a single map. It’s truly in a league of its own in this regard. Shown below is Explorer with:
- 2 ArcGIS Online layers
- 1 WMS layer
- 1 ArcIMS layer
- 2 2D ArcGIS Server layers (1 of them dynamically updated every 10 minutes)
- 1 3D ArcGIS Server layer
- 1 KML (from the USGS site)
- 1 KMZ (from the NOAA site)
- 1 Shapefile
- 1 Result (a collection of points imported from GPS coordinates in a textfile)
- 1 BSQ raster image (from the EROS Data Center)
And we could add even more.

Several of the layers have been made partially transparent so they can be overlayed, and several have scale dependencies. The underlying data sources for the Web-based content include everything from enterprise ArcSDE geodatabases, file and workgroup geodatabases, and local sources that include shapefiles, rasters, and points added from textfiles containing GPS coordinates.
Adding spatial reference systems to a WMS service's capabilities file
Yingqi Tang, a product engineer specializing in ArcGIS Server and OGC services, contributed the following post:
In ArcGIS Server 9.2 you can publish a map document as an OGC WMS service. All WMS services advertise the spatial reference systems they support through capabilities files. WMS clients read the capabilities file to find out which spatial reference systems they can use to request a map.
The WMS services you create with ArcGIS Server support hundreds of spatial reference systems, but only two are advertised in the capabilities file: EPSG 4326 (required by every WMS service) and the spatial reference of the data frame from which you published the service. Although you can request a map from the WMS service using any of the hundreds of supported spatial reference systems, some WMS clients will return an error if the spatial reference you request does not appear in the capabilities file. Other clients, such as ArcMap, only allow you to switch among the spatial reference systems listed in the capabilities file.
This post shows how to add more spatial reference systems to the capabilities file of a WMS service that you have published with ArcGIS Server. To do this, you publish the WMS service using an external capabilities file. You can then manually add spatial reference systems to this file. This procedure is mentioned in the ArcGIS Server 9.2 documentation as one reason to use external WMS capabilities files.
Assume that you have a map document whose data frame’s spatial reference system is “World_Fuller (EPSG:54050)”. So by default the WMS service being published on that map document will only support spatial reference system EPSG:4326 and EPSG:54050. Now let’s add one additional spatial reference system “World_Aitoff (EPSG:54043)” into this WMS service by following detailed steps below.
-
Publish the map document as a WMS service using system generated capabilities
files. Use a system generated capabilities file as a template when creating an
external WMS capabilities file. To use system generated capabilities files,
select the option “Enter service properties below” in the WMS capabilities page
in the Service Properties.
-
Assume you named your map service “world”, so the WMS service URL for “world”
will be something like
“http://<host>:port/arcgis/services/world/MapServer/WMSServer?”. Start a
browser and type
“http://<host>:port/arcgis/services/world/MapServer/WMSServer?version=1.1.1&service=WMS&request=GetCapabilities”.
Save the response as an XML file called “capabilities111.xml”. -
Copy “capabilities111.xml” to a place on your file system and make it
accessible as a URL. As an example, “capabilities111.xml” can be copied to
“C:InetpubwwwrootArcGISWmsworld” (assuming you are using ArcGIS Server for
the Microsoft .NET Framework and you have created the folder “world” yourself).
So now the file can be accessible as URL
“http://<host>/arcgis/wms/world/capabilities111.xml”. Before you keep
going, start a browser and type in this URL to make sure the file is
accessible. -
Stop the map service you just published in step 1. Go to the WMS capabilities
page of the map service properties panel.Switch to use the second option “Use external capabilities files” to publish
this WMS service. Type in the URL of the folder where you put
“capabilities111.xml” plus the prefix of file “capabilities” in the “Specify
the location and prefix” input box. (So in this example you would type
“http://<host>/arcgis/wms/world/capabilities”) The reason why only the
URL of folder and file prefix are required is to allow you to create external
capabilities files for other versions of WMS (1.0.0, 1.1.0, 1.3.0). Click “OK”
and restart the map service “world”.
-
Before you keep going,
make a connection in ArcCatalog to the WMS service you just republished
in step 4. The URL of your service is “http://<server name>/<instance
name>/services/<folder name (if applicable)>/<service
name>/MapServer/WMSServer?”. Preview the WMS service and make sure it’s
working properly. -
Now you can add spatial reference systems to your WMS service. Make a copy of
your map document and open the copy in ArcMap. Change the data frame’s
coordinate system to “World_Aitoff (EPSG:54043)”, which is the one we want to
add, and save the map document.
-
Zoom to the full extent of the map. Right click the data frame and click
Properties > Data Frame. Write down the extent values of current map (see
the values in Extent > Fixed Extent).
-
Open “capabilities111.xml” which you saved in step 3 in a text editor. Search
for the root “<Layer>” element (There will be only root <Layer>
element in the xml).Add “<SRS>EPSG:54043</SRS>” right after
“<SRS>EPSG:4326</SRS>” and “<SRS>EPSG:54050</SRS>”.How can you get the EPSG code for the spatial reference you want to add? One way
is to look it up here in the
Coordinate IDs and Descriptions book.Now add “<BoundingBox SRS=”54043″ minx=”-22041257.7736507″
miny=”-17284666.2314989″ maxx=”22041257.7724258″ maxy=”17222309.5138405″/>”
right after “<BoundingBox SRS=”54050″ . . .>” Substitute your own minx,
miny, maxx, and maxy values that you wrote down.Original XML file:

XML after adding new spatial reference system “EPSG:54043″ and its “BoundingBox” for root
layer:
-
For each layer of the map document, do the following things in order to figure
out the layer’s extent: (1) Right-click the data frame and go to Properties
> Data Frame. (2) Select “Other” in “Extent used by Full extent command” and
click “Specify”; (3) Select “Outline of the Feature”, and pick the layer. (4)
Apply the change and return to the map document. (5) Click Full Extent. (6) Go
back to Properties > Data Frame and note the extent of the layer.
-
In “capabilities111.xml”, search for each <Layer> element according to
its name and tile. For each layer add “<SRS>EPSG:54043</SRS>” right
after “<SRS>EPSG:4326</SRS>” and
“<SRS>EPSG:54050</SRS>”; Add “<BoundingBox SRS=”54043″ minx=”"
miny=”" maxx=”" maxy=”"/>” right after “<BoundingBox SRS=”54050″……>”
(you need to fill in minx, miny, maxx and maxy values with what you got in step
9).
- Save “capabilities111.xml” and restart the map service.
-
You’ve successfully added a spatial reference system to your WMS service. To
prove it, connect to the WMS service in ArcCatalog and view the layer’s
properties. “EPSG:54043″ should be listed as a “Supported SRS”.
-
Add the WMS service in ArcMap. In the table of contents, right-click the service and click Change Coordinate System. Notice that World Aitoff is now a supported spatial reference system. You can use this dialog to switch among the supported spatial reference systems.





