wiki:MapGuideRfc134

Version 2 (modified by jng, 12 years ago) ( diff )

--

MapGuide RFC 134 - HTTP Runtime Map Creation

This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission Date13 May 2013
Last Modified13 May 2013
AuthorJackie Ng
RFC Statusdraft
Implementation Statuspending
Proposed Milestone2.6
Assigned PSC guide(s)(when determined)
Voting History(vote date)
+1
+0
-0
-1
no vote

Overview

This RFC proposes to add support for creating Runtime Maps via the mapagent

Motivation

It is currently not possible for a client-side application to be able to create a Runtime Map without assistance from the Web Extensions API or through knowledge of how the runtime map state is stored server-side. Current methods include:

a) Implementing a helper script via the Web Extensions API to return the key pieces of information needed to work and interact with a runtime map. The MapGuide OpenLayers sample requires the client application specify key missing information that only the Web Extensions API can provide:

  • Session ID
  • Map Name
  • Coordinate System (WKT/EPSG code)
  • Meters-Per-Unit

b) Using the Maestro API in .net to construct the Runtime Map client-side by building the expected binary blob (that will be saved server-side) containing the initial runtime map state. This is somewhat of a hack as it relies on undocumented internals of the runtime map blob being serialized that could change with any new release of MapGuide.

There is no way to build a Runtime Map client-side without the assistance of the Web Extensions API or a hacky solution like Maestro. This RFC addresses this shortcoming.

Proposed Solution

We introduce a new operation to the mapagent: CREATERUNTIMEMAP

This new operation has the following parameters (in addition to the standard OPERATION, VERSION, LOCALE, SESSION, USERNAME, PASSWORD and FORMAT parameters)

NameDescriptionRequired
MAPDEFINITIONThe resource id of the Map Definition to create a Runtime Map fromYes
REQUESTEDFEATURESA bitmask specifying what pieces of information to includein the CREATERUNTIMEMAP responseNo
ICONSPERSCALERANGEThe number of icons to render inline (as base64 images) per scale range in each layer of the mapNo

The REQUESTEDFEATURES parameters can be logically ORed with the following values:

  • 1 - The basic layer and group structure is returned.
  • 2 - Associated style icons are returned with each layer. This value only takes effect if (1) was logically ORed into the mask.
  • 4 - Feature Source information is included with each layer. This value only takes effect if (1) was logically ORed into the mask.

The ICONSPERSCALERANGE parameter is used to apply "theme compression". If a given layer contains a scale range whose number of rules exceeds the given number, only the first and last rule items will have icons rendered inline, with the assumption that a client-application will "compress" the remaining rules when displaying in an interactive legend control. This is what the AJAX and Fusion viewers both currently do. If this parameter is not specified, and the REQUESTEDFEATURES include a request for icons (2), then a default value of 25 will be used (same value we currently use for LoadMap.php and LoadScaleRanges.php for Fusion).

Inline icons are rendered as base64 strings. With an associated mime type included, allowing for browsers to construct the relevant data URIs client-side.

The REQUESTDFEATURES parameter allows for scalable CREATERUNTIMEMAP responses depending on the needs of the client application. As part of this RFC, Fusion will use CREATERUNTIMEMAP for its map initialization if it determined that the server support is there, allowing it to bypass the asynchronous call chain to LoadMap.php and LoadScaleRanges.php

JSON output format is supported, and provides the same benefits as other operations that support JSON output.

Some example responses below (all using the Sheboygan Map Definition):

A CREATERUNTIMEMAP request without the REQUESTEDFEATURES looks like this:

<RuntimeMap>
  <SiteVersion>2.6.0.0</SiteVersion>
  <SessionId>efaa467a-bbcd-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04</SessionId>
  <Name>Sheboygan</Name>
  <MapDefinition>Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition</MapDefinition>
  <CoordinateSystem>
    <Wkt>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==&gt; +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</Wkt>
    <MentorCode>LL84</MentorCode>
    <EpsgCode>4326</EpsgCode>
    <MetersPerUnit>111319.49079327358</MetersPerUnit>
  </CoordinateSystem>
  <Extents>
    <LowerLeftCoordinate>
      <X>-87.764986990962839</X>
      <Y>43.691398128787782</Y>
    </LowerLeftCoordinate>
    <UpperRightCoordinate>
      <X>-87.695521510899724</X>
      <Y>43.797520000480347</Y>
    </UpperRightCoordinate>
  </Extents>
</RuntimeMap>

This response contains the minimal information required for a client mapping library like OpenLayers to build a basic map viewer out of. It also contains the required session id and map name needed to dispatch additional mapagent requests for other operations that operate against the runtime map like rendering (GETDYNAMICMAPOVERLAYIMAGE) and feature selection (QUERYMAPFEATURES). The MapGuide Site Version is included so the client application can make (generally safe) assumptions about what level of API/operation support is available from the mapagent.

The session id is either passed in via the SESSION request parameter, or generated via the USERNAME/PASSWORD request parameters or a successful HTTP basic authentication challenge. Therefore, CREATERUNTIMEMAP serves the same function as the CREATESESSION operation, negating the need to fire off this request first beforehand by the client application.

The various permutations of the REQUESTEDFEATURES bitmask extend upon the basic minimal XML response with additional information, all detailed below.

REQUESTEDFEATURES = 1 (with basic layer/group structure):

<RuntimeMap>
  <SiteVersion>2.6.0.0</SiteVersion>
  <SessionId>b5790166-bbce-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04</SessionId>
  <Name>Sheboygan</Name>
  <MapDefinition>Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition</MapDefinition>
  <CoordinateSystem>
    <Wkt>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==&gt; +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</Wkt>
    <MentorCode>LL84</MentorCode>
    <EpsgCode>4326</EpsgCode>
    <MetersPerUnit>111319.49079327358</MetersPerUnit>
  </CoordinateSystem>
  <Extents>
    <LowerLeftCoordinate>
      <X>-87.764986990962839</X>
      <Y>43.691398128787782</Y>
    </LowerLeftCoordinate>
    <UpperRightCoordinate>
      <X>-87.695521510899724</X>
      <Y>43.797520000480347</Y>
    </UpperRightCoordinate>
  </Extents>
  <Group>
    <Name>Base Map</Name>
    <LegendLabel>Base Map</LegendLabel>
    <ObjectId>b57caaf0-bbce-11e2-8000-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Islands.LayerDefinition</LayerDefinition>
      <Name>Islands</Name>
      <LegendLabel>Islands</LegendLabel>
      <ObjectId>b57cf910-bbce-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Hydrography.LayerDefinition</LayerDefinition>
      <Name>Hydrography</Name>
      <LegendLabel>Hydrography</LegendLabel>
      <ObjectId>b57cf910-bbce-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/CityLimits.LayerDefinition</LayerDefinition>
      <Name>CityLimits</Name>
      <LegendLabel>CityLimits</LegendLabel>
      <ObjectId>b57cf910-bbce-11e2-8003-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
  </Group>
  <Group>
    <Name>Municipal</Name>
    <LegendLabel>Municipal</LegendLabel>
    <ObjectId>b57caaf0-bbce-11e2-8001-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Districts.LayerDefinition</LayerDefinition>
      <Name>Districts</Name>
      <LegendLabel>Districts</LegendLabel>
      <ObjectId>b57cd200-bbce-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>false</ActuallyVisible>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Buildings.LayerDefinition</LayerDefinition>
      <Name>Buildings</Name>
      <LegendLabel>Buildings</LegendLabel>
      <ObjectId>b57cd200-bbce-11e2-8003-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition</LayerDefinition>
      <Name>Parcels</Name>
      <LegendLabel>Parcels</LegendLabel>
      <ObjectId>b57cf910-bbce-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
  </Group>
  <Group>
    <Name>Transportation</Name>
    <LegendLabel>Transportation</LegendLabel>
    <ObjectId>b57caaf0-bbce-11e2-8002-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Roads.LayerDefinition</LayerDefinition>
      <Name>Roads</Name>
      <LegendLabel>Roads</LegendLabel>
      <ObjectId>b57cd200-bbce-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Tracks.LayerDefinition</LayerDefinition>
      <Name>Rail Lines</Name>
      <LegendLabel>Rail Lines</LegendLabel>
      <ObjectId>b57cd200-bbce-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>false</Visible>
      <ActuallyVisible>false</ActuallyVisible>
    </Layer>
  </Group>
</RuntimeMap>

REQUESTEDFEATURES = 3 (Basic layer/group structure with inline icons)

<RuntimeMap>
  <SiteVersion>2.6.0.0</SiteVersion>
  <SessionId>eaf1bcda-bbd2-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04</SessionId>
  <Name>Sheboygan</Name>
  <MapDefinition>Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition</MapDefinition>
  <CoordinateSystem>
    <Wkt>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==&gt; +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</Wkt>
    <MentorCode>LL84</MentorCode>
    <EpsgCode>4326</EpsgCode>
    <MetersPerUnit>111319.49079327358</MetersPerUnit>
  </CoordinateSystem>
  <Extents>
    <LowerLeftCoordinate>
      <X>-87.764986990962839</X>
      <Y>43.691398128787782</Y>
    </LowerLeftCoordinate>
    <UpperRightCoordinate>
      <X>-87.695521510899724</X>
      <Y>43.797520000480347</Y>
    </UpperRightCoordinate>
  </Extents>
  <Group>
    <Name>Base Map</Name>
    <LegendLabel>Base Map</LegendLabel>
    <ObjectId>eaf58d7e-bbd2-11e2-8000-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Islands.LayerDefinition</LayerDefinition>
      <Name>Islands</Name>
      <LegendLabel>Islands</LegendLabel>
      <ObjectId>eaf5db9e-bbd2-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Hydrography.LayerDefinition</LayerDefinition>
      <Name>Hydrography</Name>
      <LegendLabel>Hydrography</LegendLabel>
      <ObjectId>eaf5db9e-bbd2-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWNcffwlAymAiSTVoxpGNQwpDQBmNQJ7CUalHwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/CityLimits.LayerDefinition</LayerDefinition>
      <Name>CityLimits</Name>
      <LegendLabel>CityLimits</LegendLabel>
      <ObjectId>eaf5db9e-bbd2-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWM8cOAAAymAiSTVoxpGNQwpDQAT+QJghokBTgAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Municipal</Name>
    <LegendLabel>Municipal</LegendLabel>
    <ObjectId>eaf58d7e-bbd2-11e2-8001-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Districts.LayerDefinition</LayerDefinition>
      <Name>Districts</Name>
      <LegendLabel>Districts</LegendLabel>
      <ObjectId>eaf5b48e-bbd2-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOUlEQVQokWPcs6JOTFabgTjw6vFVhktHV/4nGlw6upKJSLPhYFTDqAZqaWB59fjq5WOriFT96vFVACkEOt/4XD28AAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Buildings.LayerDefinition</LayerDefinition>
      <Name>Buildings</Name>
      <LegendLabel>Buildings</LegendLabel>
      <ObjectId>eaf5b48e-bbd2-11e2-8003-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1500</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWM8evToy5cvGYgD4uLiLC9fvrx06RKRGvT09JiIVAoHoxpGNVBLA4u4uLienh6RqsXFxQHMyAxCMWcM4QAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition</LayerDefinition>
      <Name>Parcels</Name>
      <LegendLabel>Parcels</LegendLabel>
      <ObjectId>eaf5b48e-bbd2-11e2-8004-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel>Zone:  AGR</LegendLabel>
          <Filter>RTYPE = 'AGR'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWOc0F4lwPGbgTjw4QcriwDHb0X+r0RquM/AzUSkUjgY1TCqgVoaWD78YL3PwE2k6g8/WAEoyAybnvNMrwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>1</ThemeCategory>
          <LegendLabel>Zone:  EXM</LegendLabel>
          <Filter>RTYPE = 'EXM'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWPs66zh4/rDQBz49I2FhY/rj6zwDyI1PGbgYCJSKRyMahjVQC0NLJ++sTxm4CBS9advLAA9KgyhkvW9tQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>2</ThemeCategory>
          <LegendLabel>Zone:  MER</LegendLabel>
          <Filter>RTYPE = 'MER'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWPs6a7l5fnHQBz4/IWJhZfnn6T4HyI1MDCwMBGtFApGNYxqoJYGls9fmBgYWIhU/fkLEwC9qwrV+OtROgAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>3</ThemeCategory>
          <LegendLabel>Zone:  MFG</LegendLabel>
          <Filter>RTYPE = 'MFG'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOUlEQVQokWPs6q3n5mMgEnz9xMDCzccgJv2fSA2vGBiZiDUcBkY1jGqglgaWr58YXjEwEqn66ycGAIUGCqdLv0I4AAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>4</ThemeCategory>
          <LegendLabel>Zone:  RES</LegendLabel>
          <Filter>RTYPE = 'RES'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAO0lEQVQokWPs7G/kFGBkIA58//CfhVOAUUiemUgN7xj+MhGpFA5GNYxqoJYGlu8f/r9j+Euk6u8f/gMArKMOreezChMAAAAASUVORK5CYII=</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>5</ThemeCategory>
          <LegendLabel>Zone:  S&amp;W</LegendLabel>
          <Filter>RTYPE = 'S&amp;W'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAO0lEQVQokWNsn9jMLsTMQBz4+e4vC7sQM78yG5EaPjL8YiJSKRyMahjVQC0NLD/f/f3I8ItI1T/f/QUAw9kOsaqrjjYAAAAASUVORK5CYII=</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>6</ThemeCategory>
          <LegendLabel>Zone:  WTC</LegendLabel>
          <Filter>RTYPE = 'WTC'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWNsndzCJsLKQBz49eY3C5sIK7c6F5EaGBi+MRGtFApGNYxqoJYGll9vfjMwfCNS9a83vwEcRQzJpppspAAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>7</ThemeCategory>
          <LegendLabel>Zone:  Other</LegendLabel>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAMUlEQVQokWM0NTU1NTVlIA6cPn2axdTUNCsri0gN06ZNYyJSKRyMahjVQC0NjKQmbwAmVgr+9vodNwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Transportation</Name>
    <LegendLabel>Transportation</LegendLabel>
    <ObjectId>eaf58d7e-bbd2-11e2-8002-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Roads.LayerDefinition</LayerDefinition>
      <Name>Roads</Name>
      <LegendLabel>Roads</LegendLabel>
      <ObjectId>eaf5b48e-bbd2-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Tracks.LayerDefinition</LayerDefinition>
      <Name>Rail Lines</Name>
      <LegendLabel>Rail Lines</LegendLabel>
      <ObjectId>eaf5b48e-bbd2-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>false</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAb0lEQVQokc2SwQnAIBAE15AmbMpSfdiIWIR3YAn62Dwur0AECULmtY9ZjoVzJLHCsWR/KIwxSilz1Zy70FqLMc4L5uzfcKaUAIiIiFh+oKoAvPfmrF8IIQCotaqq5TfM2T8aJEn23nPOnGKO+9/zXc8lZ5XdLNzmAAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
</RuntimeMap>

REQUESTEDFEATURES = 7 (Basic layer/group structure with inline icons and Feature Source information)

<RuntimeMap>
  <SiteVersion>2.6.0.0</SiteVersion>
  <SessionId>24698672-bbcf-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04</SessionId>
  <Name>Sheboygan</Name>
  <MapDefinition>Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition</MapDefinition>
  <CoordinateSystem>
    <Wkt>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==&gt; +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</Wkt>
    <MentorCode>LL84</MentorCode>
    <EpsgCode>4326</EpsgCode>
    <MetersPerUnit>111319.49079327358</MetersPerUnit>
  </CoordinateSystem>
  <Extents>
    <LowerLeftCoordinate>
      <X>-87.764986990962839</X>
      <Y>43.691398128787782</Y>
    </LowerLeftCoordinate>
    <UpperRightCoordinate>
      <X>-87.695521510899724</X>
      <Y>43.797520000480347</Y>
    </UpperRightCoordinate>
  </Extents>
  <Group>
    <Name>Base Map</Name>
    <LegendLabel>Base Map</LegendLabel>
    <ObjectId>246d570c-bbcf-11e2-8000-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Islands.LayerDefinition</LayerDefinition>
      <Name>Islands</Name>
      <LegendLabel>Islands</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8003-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Islands.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Islands</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Hydrography.LayerDefinition</LayerDefinition>
      <Name>Hydrography</Name>
      <LegendLabel>Hydrography</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8004-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/HydrographicPolygons.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:HydrographicPolygons</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWNcffwlAymAiSTVoxpGNQwpDQBmNQJ7CUalHwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/CityLimits.LayerDefinition</LayerDefinition>
      <Name>CityLimits</Name>
      <LegendLabel>CityLimits</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8005-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/CityLimits.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:CityLimits</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWM8cOAAAymAiSTVoxpGNQwpDQAT+QJghokBTgAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Municipal</Name>
    <LegendLabel>Municipal</LegendLabel>
    <ObjectId>246d570c-bbcf-11e2-8001-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Districts.LayerDefinition</LayerDefinition>
      <Name>Districts</Name>
      <LegendLabel>Districts</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/VotingDistricts.FeatureSource</ResourceId>
        <ClassName>SDF_2_Schema:VotingDistricts</ClassName>
        <Geometry>Data</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOUlEQVQokWPcs6JOTFabgTjw6vFVhktHV/4nGlw6upKJSLPhYFTDqAZqaWB59fjq5WOriFT96vFVACkEOt/4XD28AAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Buildings.LayerDefinition</LayerDefinition>
      <Name>Buildings</Name>
      <LegendLabel>Buildings</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/BuildingOutlines.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:BuildingOutlines</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1500</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWM8evToy5cvGYgD4uLiLC9fvrx06RKRGvT09JiIVAoHoxpGNVBLA4u4uLienh6RqsXFxQHMyAxCMWcM4QAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition</LayerDefinition>
      <Name>Parcels</Name>
      <LegendLabel>Parcels</LegendLabel>
      <ObjectId>246da52c-bbcf-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Parcels.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Parcels</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel>Zone:  AGR</LegendLabel>
          <Filter>RTYPE = 'AGR'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWOc0F4lwPGbgTjw4QcriwDHb0X+r0RquM/AzUSkUjgY1TCqgVoaWD78YL3PwE2k6g8/WAEoyAybnvNMrwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>1</ThemeCategory>
          <LegendLabel>Zone:  EXM</LegendLabel>
          <Filter>RTYPE = 'EXM'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWPs66zh4/rDQBz49I2FhY/rj6zwDyI1PGbgYCJSKRyMahjVQC0NLJ++sTxm4CBS9advLAA9KgyhkvW9tQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>2</ThemeCategory>
          <LegendLabel>Zone:  MER</LegendLabel>
          <Filter>RTYPE = 'MER'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWPs6a7l5fnHQBz4/IWJhZfnn6T4HyI1MDCwMBGtFApGNYxqoJYGls9fmBgYWIhU/fkLEwC9qwrV+OtROgAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>3</ThemeCategory>
          <LegendLabel>Zone:  MFG</LegendLabel>
          <Filter>RTYPE = 'MFG'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOUlEQVQokWPs6q3n5mMgEnz9xMDCzccgJv2fSA2vGBiZiDUcBkY1jGqglgaWr58YXjEwEqn66ycGAIUGCqdLv0I4AAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>4</ThemeCategory>
          <LegendLabel>Zone:  RES</LegendLabel>
          <Filter>RTYPE = 'RES'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAO0lEQVQokWPs7G/kFGBkIA58//CfhVOAUUiemUgN7xj+MhGpFA5GNYxqoJYGlu8f/r9j+Euk6u8f/gMArKMOreezChMAAAAASUVORK5CYII=</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>5</ThemeCategory>
          <LegendLabel>Zone:  S&amp;W</LegendLabel>
          <Filter>RTYPE = 'S&amp;W'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAO0lEQVQokWNsn9jMLsTMQBz4+e4vC7sQM78yG5EaPjL8YiJSKRyMahjVQC0NLD/f/f3I8ItI1T/f/QUAw9kOsaqrjjYAAAAASUVORK5CYII=</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>6</ThemeCategory>
          <LegendLabel>Zone:  WTC</LegendLabel>
          <Filter>RTYPE = 'WTC'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWNsndzCJsLKQBz49eY3C5sIK7c6F5EaGBi+MRGtFApGNYxqoJYGll9vfjMwfCNS9a83vwEcRQzJpppspAAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>7</ThemeCategory>
          <LegendLabel>Zone:  Other</LegendLabel>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAMUlEQVQokWM0NTU1NTVlIA6cPn2axdTUNCsri0gN06ZNYyJSKRyMahjVQC0NjKQmbwAmVgr+9vodNwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Transportation</Name>
    <LegendLabel>Transportation</LegendLabel>
    <ObjectId>246d570c-bbcf-11e2-8002-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Roads.LayerDefinition</LayerDefinition>
      <Name>Roads</Name>
      <LegendLabel>Roads</LegendLabel>
      <ObjectId>246d7e1c-bbcf-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/RoadCenterLines.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:RoadCenterLines</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Tracks.LayerDefinition</LayerDefinition>
      <Name>Rail Lines</Name>
      <LegendLabel>Rail Lines</LegendLabel>
      <ObjectId>246d7e1c-bbcf-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>false</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Rail.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Rail</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAb0lEQVQokc2SwQnAIBAE15AmbMpSfdiIWIR3YAn62Dwur0AECULmtY9ZjoVzJLHCsWR/KIwxSilz1Zy70FqLMc4L5uzfcKaUAIiIiFh+oKoAvPfmrF8IIQCotaqq5TfM2T8aJEn23nPOnGKO+9/zXc8lZ5XdLNzmAAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
</RuntimeMap>

REQUESTEDFEATURES = 7 and ICONSPERSCALERANGE = 3 (Observe the theme rules of the Parcels. It is assumed client applications uses this lack of icons as a "hint" to compress the theme when displaying in an interactive legend control)

<RuntimeMap>
  <SiteVersion>2.6.0.0</SiteVersion>
  <SessionId>63ab622e-bbcf-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04</SessionId>
  <Name>Sheboygan</Name>
  <MapDefinition>Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition</MapDefinition>
  <CoordinateSystem>
    <Wkt>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==&gt; +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]</Wkt>
    <MentorCode>LL84</MentorCode>
    <EpsgCode>4326</EpsgCode>
    <MetersPerUnit>111319.49079327358</MetersPerUnit>
  </CoordinateSystem>
  <Extents>
    <LowerLeftCoordinate>
      <X>-87.764986990962839</X>
      <Y>43.691398128787782</Y>
    </LowerLeftCoordinate>
    <UpperRightCoordinate>
      <X>-87.695521510899724</X>
      <Y>43.797520000480347</Y>
    </UpperRightCoordinate>
  </Extents>
  <Group>
    <Name>Base Map</Name>
    <LegendLabel>Base Map</LegendLabel>
    <ObjectId>63af0bb8-bbcf-11e2-8001-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Islands.LayerDefinition</LayerDefinition>
      <Name>Islands</Name>
      <LegendLabel>Islands</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8004-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Islands.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Islands</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Hydrography.LayerDefinition</LayerDefinition>
      <Name>Hydrography</Name>
      <LegendLabel>Hydrography</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8005-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/HydrographicPolygons.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:HydrographicPolygons</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWNcffwlAymAiSTVoxpGNQwpDQBmNQJ7CUalHwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/CityLimits.LayerDefinition</LayerDefinition>
      <Name>CityLimits</Name>
      <LegendLabel>CityLimits</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8006-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/CityLimits.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:CityLimits</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWM8cOAAAymAiSTVoxpGNQwpDQAT+QJghokBTgAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAGUlEQVQokWO8emINAymAiSTVoxpGNQwpDQAvoAJpPgoElwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Municipal</Name>
    <LegendLabel>Municipal</LegendLabel>
    <ObjectId>63af0bb8-bbcf-11e2-8002-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Districts.LayerDefinition</LayerDefinition>
      <Name>Districts</Name>
      <LegendLabel>Districts</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8001-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/VotingDistricts.FeatureSource</ResourceId>
        <ClassName>SDF_2_Schema:VotingDistricts</ClassName>
        <Geometry>Data</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>1000000000000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOUlEQVQokWPcs6JOTFabgTjw6vFVhktHV/4nGlw6upKJSLPhYFTDqAZqaWB59fjq5WOriFT96vFVACkEOt/4XD28AAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Buildings.LayerDefinition</LayerDefinition>
      <Name>Buildings</Name>
      <LegendLabel>Buildings</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8002-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/BuildingOutlines.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:BuildingOutlines</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>1500</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWM8evToy5cvGYgD4uLiLC9fvrx06RKRGvT09JiIVAoHoxpGNVBLA4u4uLienh6RqsXFxQHMyAxCMWcM4QAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition</LayerDefinition>
      <Name>Parcels</Name>
      <LegendLabel>Parcels</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8003-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Parcels.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Parcels</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel>Zone:  AGR</LegendLabel>
          <Filter>RTYPE = 'AGR'</Filter>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAOklEQVQokWOc0F4lwPGbgTjw4QcriwDHb0X+r0RquM/AzUSkUjgY1TCqgVoaWD78YL3PwE2k6g8/WAEoyAybnvNMrwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>1</ThemeCategory>
          <LegendLabel>Zone:  EXM</LegendLabel>
          <Filter>RTYPE = 'EXM'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>2</ThemeCategory>
          <LegendLabel>Zone:  MER</LegendLabel>
          <Filter>RTYPE = 'MER'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>3</ThemeCategory>
          <LegendLabel>Zone:  MFG</LegendLabel>
          <Filter>RTYPE = 'MFG'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>4</ThemeCategory>
          <LegendLabel>Zone:  RES</LegendLabel>
          <Filter>RTYPE = 'RES'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>5</ThemeCategory>
          <LegendLabel>Zone:  S&amp;W</LegendLabel>
          <Filter>RTYPE = 'S&amp;W'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>6</ThemeCategory>
          <LegendLabel>Zone:  WTC</LegendLabel>
          <Filter>RTYPE = 'WTC'</Filter>
        </Rule>
        <Rule>
          <GeometryType>3</GeometryType>
          <ThemeCategory>7</ThemeCategory>
          <LegendLabel>Zone:  Other</LegendLabel>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAMUlEQVQokWM0NTU1NTVlIA6cPn2axdTUNCsri0gN06ZNYyJSKRyMahjVQC0NjKQmbwAmVgr+9vodNwAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
  <Group>
    <Name>Transportation</Name>
    <LegendLabel>Transportation</LegendLabel>
    <ObjectId>63af0bb8-bbcf-11e2-8003-080027004461</ObjectId>
    <DisplayInLegend>true</DisplayInLegend>
    <ExpandInLegend>true</ExpandInLegend>
    <Visible>true</Visible>
    <ActuallyVisible>true</ActuallyVisible>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Roads.LayerDefinition</LayerDefinition>
      <Name>Roads</Name>
      <LegendLabel>Roads</LegendLabel>
      <ObjectId>63af32c8-bbcf-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>true</Visible>
      <ActuallyVisible>true</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/RoadCenterLines.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:RoadCenterLines</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>10000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
      <ScaleRange>
        <MinScale>10000</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAIklEQVQokWP8//8/AymAiSTVI1UDS3t7O21tYByNOFpoAAAJdQewcVU/XQAAAABJRU5ErkJggg==</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
    <Layer>
      <Type>1</Type>
      <LayerDefinition>Library://Samples/Sheboygan/Layers/Tracks.LayerDefinition</LayerDefinition>
      <Name>Rail Lines</Name>
      <LegendLabel>Rail Lines</LegendLabel>
      <ObjectId>63af59d8-bbcf-11e2-8000-080027004461</ObjectId>
      <DisplayInLegend>true</DisplayInLegend>
      <ExpandInLegend>true</ExpandInLegend>
      <Visible>false</Visible>
      <ActuallyVisible>false</ActuallyVisible>
      <FeatureSource>
        <ResourceId>Library://Samples/Sheboygan/Data/Rail.FeatureSource</ResourceId>
        <ClassName>SHP_Schema:Rail</ClassName>
        <Geometry>SHPGEOM</Geometry>
      </FeatureSource>
      <ScaleRange>
        <MinScale>0</MinScale>
        <MaxScale>24000</MaxScale>
        <Rule>
          <GeometryType>2</GeometryType>
          <ThemeCategory>0</ThemeCategory>
          <LegendLabel/>
          <Filter/>
          <Icon>
            <MimeType>image/png</MimeType>
            <Content>iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAAAb0lEQVQokc2SwQnAIBAE15AmbMpSfdiIWIR3YAn62Dwur0AECULmtY9ZjoVzJLHCsWR/KIwxSilz1Zy70FqLMc4L5uzfcKaUAIiIiFh+oKoAvPfmrF8IIQCotaqq5TfM2T8aJEn23nPOnGKO+9/zXc8lZ5XdLNzmAAAAAElFTkSuQmCC</Content>
          </Icon>
        </Rule>
      </ScaleRange>
    </Layer>
  </Group>
</RuntimeMap>

Implications

This is a brand new API. There are no compatibility issues.

Test Plan

Test the operation with various requested feature levels against a pure OpenLayers map viewer.

Test and verify CREATERUNTIMEMAP at full feature level provides all the necessary information for Fusion to bypass LoadMap.php and LoadScaleRanges.php

Funding / Resources

Community

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.