{{{ #!html

Rendering Service HTTP APIs

}}} ---- '''Revision History''' ||'''Revision'''||'''Date'''||'''Author'''||'''Comment'''|| ||0.1||April 19, 2010||Trevor Wekel||Initial pass at documentation|| ||0.2||April 28, 2010||Trevor Wekel||Complete documentation for !GetDynamicMapOverlayImage and !GetMapImage|| ||1.0||April 29, 2010||Trevor Wekel||Documentation complete for !GetDynamicMapOverlayImage, !GetMapImage,[[BR]]!GetMapLegendImage, !GetVisibleMapExtent, !QueryMapFeatures|| [[PageOutline(1-3,Table of Contents,inline)]] = Overview = This document describes the Rendering Service HTTP APIs supported by the !MapGuide mapagent. The Rendering Service APIs are used to render a map into a bitmapped image. In addition to bitmap rendering, the APIs support basic updates to the underlying !MgMap object state including changes to center, scale, and layer visibility. = !MapGuide 2.1 APIs = == !GetDynamicMapOverlayImage ==#GetDynamicMapOverlayImage2.1 === Overview === !GetDynamicMapOverlayImage returns a rendered raster image containing all visbile layers at the current center and scale for the map. This API is used in conjuction with the !GetVisibleMapExtent HTTP API to provide dynamic map updates for end user interactions. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETDYNAMICMAPOVERLAYIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#ClientAgent2.1 CLIENTAGENT] || text || Optional || Descriptive text for client || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#SelectionColor2.0 SELECTIONCOLOR] || RGBA hex color || Yes || Selection color encoded in hexadecimal RGBA format 0xRRGGBBAA. || || [#Behavior2.0 BEHAVIOR] || bitmask || Yes || Bitmask representing rendering behavior. See below for more details.|| || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || ==== CLIENTAGENT Parameter ==== #ClientAgent2.1 Descriptive text describing the client of the HTTP operation. Currently used values include "Ajax Viewer", "Fusion Viewer" "!MapGuide Developer" and "!MapGuide Maestro". === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETDYNAMICMAPOVERLAYIMAGE &VERSION=2.0.0 &CLIENTAGENT=Ajax Viewer &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG8 &BEHAVIOR=7 &SELECTIONCOLOR=0xFF000080 &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &SHOWLAYERS=d5d01111-5f75-102c-8000-02004c4f4f50,d5d01118-5f75-102c-8000-02004c4f4f50 }}} Sets center of map to (-114,51) and scale to 1:50000. Turns on layers d5d01111 and d5d01118. The visible layers and any selection are then rendered as a 500 by 500 eight bit PNG image. The selection is drawn in partially transparent red. === Technical Notes === == !GetMapImage == === Overview === !GetMapImage returns a rendered raster image containing all visible layers for the map. This API can be used to generate a raster image for a currently displayed map in the session repository or to display an arbitrary view of a map defined by a map definition. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#ClientAgent2.1 CLIENTAGENT] || text || Optional || Descriptive text for client || || [#Session1.0 SESSION] || session identifier || Optional || !MapGuide session identifier containing map to display.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#Username1.0 USERNAME] || text || Optional || !MapGuide user id.[[BR]]SESSION or USERNAME and PASSWORD must be specified.|| || [#Password1.0 PASSWORD] || text || Optional || Password for !MapGuide user.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#MapName1.0 MAPNAME] || text || Optional || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#MapDefinition1.0 MAPDEFINITION] || text || Optional || Resource identifier for the map definition.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#KeepSelection1.0 KEEPSELECTION] || 0/1 || Optional || If true, render selected feature(s) even if they are outside the current scale. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || || [#Clip2.0 CLIP] || 0/1 || Optional || If true, additional clipping will be performed on image. || === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETMAPIMAGE &VERSION=2.0.0 &CLIENTAGENT=Fusion Viewer &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &KEEPSELECTION=1 &SHOWLAYERS=d5d01111-5f75-102c-8000-02004c4f4f50,d5d01118-5f75-102c-8000-02004c4f4f50 &CLIP=1 }}} Sets center of map to (-114,51) and scale to 1:50000. Turns on layers d5d01111 and d5d01118. The visible layers are rendered as a 500 by 500 PNG image. Any selection already defined by web extensions API calls will be drawn in blue regardless of scale. Changes to center, scale and layer visibility are retained. Features and labels will be clipped to the bounds of the image. === Technical Notes === == !GetMapLegendImage ==#GetMapLegendImage2.1 === Overview === Generates a legend image for the the currently displayed scale of the map identified by SESSION and MAPNAME. !GetMapLegendImage in !MapGuide 2.1 is identical to [#GetMapLegendImage2.0 GetMapLegendImage in MapGuide 2.0] with the addition of a CLIENTAGENT parameter. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPLEGENDIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#ClientAgent2.1 CLIENTAGENT] || text || Optional || Descriptive text for client || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#Width1.0 WIDTH] || integer || Yes || Width of legend image || || [#Height1.0 HEIGHT] || integer || Yes || Height of legend image || == !GetVisibleMapExtent ==#GetVisibleMapExtent2.1 === Overview === Returns the visible map extent in map coordinate system units for the map specified by SESSION and MAPNAME. !GetVisibleMapExtent in !MapGuide 2.1 is identical to [#GetVisibleMapExtent2.0 GetVisibleMapExtent in MapGuide 2.0] with the addition of a CLIENTAGENT parameter. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETVISIBLEMAPEXTENT || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#ClientAgent2.1 CLIENTAGENT] || text || Optional || Descriptive text for client || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || || [#OutputFormat2.0 FORMAT] || text || Optional || Desired output format. || == !QueryMapFeatures ==#QueryMapFeatures2.1 === Overview === !QueryMapFeatures for !MapGuide 2.1 is nearly identical to [#QueryMapFeatures1.2 QueryMapFeatures for MapGuide 1.2]. The only changes to the API were the addition of "ENVELOPEINTERSECTS" for the SELECTIONVARIANT parameter and the CLIENTAGENT parameter. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#ClientAgent2.1 CLIENTAGENT] || text || Optional || Descriptive text for client || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes ||Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#LayerNames1.0 LAYERNAMES] || text || Optional || Comma separated list of layer names. || || [#MaxFeatures1.0 MAXFEATURES] || integer || Yes || Maximum number of features to select. || || [#Geometry1.0 GEOMETRY] || text || Yes || WKT string representing the selection geometry. || || [#SelectionVariant1.0 SELECTIONVARIANT] || text || Yes || Geometric operation to use while selecting. || || [#Persist1.0 PERSIST] || 0/1 || Yes || If true, selection is saved to map. || || [#LayerAttributeFilter1.0 LAYERATTRIBUTEFILTER] || integer || Optional || Filter based on layer attributes. || || [#FeatureFilter1.0 FEATUREFILTER] || text || Optional || Filter based on previous selected features. || === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=QUERYMAPFEATURES &VERSION=2.0.0 &CLIENTAGENT=Ajax Viewer &PERSIST=0 &MAPNAME=Sheboygan &SESSION=20ef251c-53bb-11df-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &LAYERNAMES=Islands,Hydrography,Parcels &GEOMETRY=POLYGON((10 10, 10 20, 20 20, 20 15, 10 10)) &SELECTIONVARIANT=INTERSECTS &MAXFEATURES=1 &LAYERATTRIBUTEFILTER=5 &CLIENTAGENT=Ajax Viewer }}} Queries the first feature from the Islands,Hydrography, or Parcels layers intersecting the given polygon. The feature must have a tooltip and be visible. The queried feature is not selected on the map. = !MapGuide 2.0 APIs = == !GetDynamicMapOverlayImage ==#GetDynamicMapOverlayImage2.0 === Overview === !GetDynamicMapOverlayImage returns a rendered raster image containing all visbile layers at the current center and scale for the map. This API is used in conjuction with the !GetVisibleMapExtent HTTP API to provide dynamic map updates for end user interactions. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETDYNAMICMAPOVERLAYIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#Behavior2.0 BEHAVIOR] || bitmask || Yes || Bitmask representing rendering behavior. See below for more details.|| || [#SelectionColor2.0 SELECTIONCOLOR] || RGBA hex color || Yes || Selection color encoded in hexadecimal RGBA format 0xRRGGBBAA. || ==== BEHAVIOR Parameter ==== #Behavior2.0 The behavior parameter specifies how the rendering is performed. The value is encoded as a bitmask to facilitate future enhancements to the API. One or more bits may be combined to determine overall rendering behavior. || '''Value''' || '''Description''' || || 1 (!RenderSelection) || Renders the selected feature(s) || || 2 (!RenderLayers)|| Renders the features on the map || || 4 (!KeepSelection) || Renders the selected feature(s) even if they are outside the current scale || Examples: * BEHAVIOR=3 (!RenderSelection|!RenderLayers) will render selection and layers within the current scale * BEHAVIOR=5 (!RenderSelection|!KeepSelection) will render only the selection regardless of scale ==== SELECTIONCOLOR Parameter ==== #SelectionColor2.0 Color for selected objects expressed in hexadecimal RGBA format 0xRRGGBBAA. === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETDYNAMICMAPOVERLAYIMAGE &VERSION=2.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG &BEHAVIOR=5 &SELECTIONCOLOR=0xFF000080 }}} Renders the selection regardless of current scale for the !WorldElevation map from session Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA as a 32 bit PNG image. The selection is drawn in partially transparent red. === Technical Notes === == !GetMapImage ==#GetMapImage2.0 === Overview === !GetMapImage returns a rendered raster image containing all visible layers for the map. This API can be used to generate a raster image for a currently displayed map in the session repository or to display an arbitrary view of a map defined by a map definition. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Optional || !MapGuide session identifier containing map to display.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#Username1.0 USERNAME] || text || Optional || !MapGuide user id.[[BR]]SESSION or USERNAME and PASSWORD must be specified.|| || [#Password1.0 PASSWORD] || text || Optional || Password for !MapGuide user.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#MapName1.0 MAPNAME] || text || Optional || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#MapDefinition1.0 MAPDEFINITION] || text || Optional || Resource identifier for the map definition.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#KeepSelection1.0 KEEPSELECTION] || 0/1 || Optional || If true, render selected feature(s) even if they are outside the current scale. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || || [#Clip2.0 CLIP] || 0/1 || Optional || If true, additional clipping will be performed on image. || ==== CLIP Parameter ==== #Clip2.0 If set to true, all features and labels will be clipped to the extents of the rendered image. This can improve rendering speed but may cause dense labels to shift slightly during pans. === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETMAPIMAGE &VERSION=2.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &KEEPSELECTION=1 &SHOWLAYERS=d5d01111-5f75-102c-8000-02004c4f4f50,d5d01118-5f75-102c-8000-02004c4f4f50 &CLIP=1 }}} Sets center of map to (-114,51) and scale to 1:50000. Turns on layers d5d01111 and d5d01118. The visible layers are rendered as a 500 by 500 PNG image. Any selection already defined by web extensions API calls will be drawn in blue regardless of scale. Changes to center, scale and layer visibility are retained. Features and labels will be clipped to the bounds of the image. === Technical Notes === == !GetMapLegendImage ==#GetMapLegendImage2.0 === Overview === Generates a legend image for the the currently displayed scale of the map identified by SESSION and MAPNAME. !GetMapLegendImage in !MapGuide 2.0 is identical to [#GetMapLegendImage1.2 GetMapLegendImage in MapGuide 1.2] with the addition of PNG8 as an output format. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPLEGENDIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG/PNG8 || Yes || Image format for rendered image || || [#Width1.0 WIDTH] || integer || Yes || Width of legend image || || [#Height1.0 HEIGHT] || integer || Yes || Height of legend image || == !GetVisibleMapExtent ==#GetVisibleMapExtent2.0 === Overview === Returns the visible map extent in map coordinate system units for the map specified by SESSION and MAPNAME. !GetVisibleMapExtent in !MapGuide 2.0 is identical to [#GetVisibleMapExtent1.2 GetVisibleMapExtent in MapGuide 1.2] with the addition of a parameter to select either XML or JSON output for the result. The XML output has the following form: {{{ -87.8 43.6 -87.6 43.8 }}} And the JSON output has the following form: {{{ { "Envelope": { "LowerLeftCoordinate":[{"X":["-87.8"],"Y":["43.6"]}], "UpperRightCoordinate":[{"X":["-87.6"],"Y":["43.8"]}] } } }}} === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETVISIBLEMAPEXTENT || Yes || Operation to execute || || [#Version1.0 VERSION] || 2.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || || [#OutputFormat2.0 FORMAT] || text || Optional || Desired output format. || ==== FORMAT Parameter ====#OutputFormat2.0 Selects the output format for the result: * "text/xml" - Output is given in XML format * "application/json" - Output is given in JSON format === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETVISIBLEMAPEXTENT &VERSION=1.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &FORMAT=application/json }}} Sets the center point of the !WorldElevation map to (-114,51) and the scale to 1:50000. The visible map extent is returned as JSON. The display height and width for a subsequent [##GetDynamicMapOverlayImage1.2 GetDynamicMapOverlay] are set to 500 by 500. == !QueryMapFeatures ==#QueryMapFeatures2.0 === Overview === !QueryMapFeatures for !MapGuide 2.0 is identical to [#QueryMapFeatures1.2 QueryMapFeatures for MapGuide 1.2]. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes ||Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#LayerNames1.0 LAYERNAMES] || text || Optional || Comma separated list of layer names. || || [#MaxFeatures1.0 MAXFEATURES] || integer || Yes || Maximum number of features to select. || || [#Geometry1.0 GEOMETRY] || text || Yes || WKT string representing the selection geometry. || || [#SelectionVariant1.0 SELECTIONVARIANT] || text || Yes || Geometric operation to use while selecting. || || [#Persist1.0 PERSIST] || 0/1 || Yes || If true, selection is saved to map. || || [#LayerAttributeFilter1.0 LAYERATTRIBUTEFILTER] || integer || Optional || Filter based on layer attributes. || || [#FeatureFilter1.0 FEATUREFILTER] || text || Optional || Filter based on previous selected features. || = !MapGuide 1.2 APIs = == !GetDynamicMapOverlayImage ==#GetDynamicMapOverlayImage1.2 === Overview === !GetDynamicMapOverlayImage returns a rendered raster image containing all visible layers at the current center and scale for the map. This API is used in conjuction with the !GetVisibleMapExtent HTTP API to provide dynamic map updates for end user interactions. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETDYNAMICMAPOVERLAYIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG || Yes || Image format for rendered image || || [#KeepSelection1.0 KEEPSELECTION] || 0/1 || Optional || If true, render selected feature(s) even if they are outside the current scale. || === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETDYNAMICMAPOVERLAYIMAGE &VERSION=1.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG }}} Renders the !WorldElevation map from session Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA as a 32 bit PNG image. === Technical Notes === == !GetMapImage ==#GetMapImage1.2 === Overview === !GetMapImage returns a rendered raster image containing all visible layers for the map. This API can be used to generate a raster image for a currently displayed map in the session repository or to display an arbitrary view of a map defined by a map definition. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Optional || !MapGuide session identifier containing map to display.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#Username1.0 USERNAME] || text || Optional || !MapGuide user id.[[BR]]SESSION or USERNAME and PASSWORD must be specified.|| || [#Password1.0 PASSWORD] || text || Optional || Password for !MapGuide user.[[BR]]SESSION or USERNAME and PASSWORD must be specified. || || [#MapName1.0 MAPNAME] || text || Optional || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#MapDefinition1.0 MAPDEFINITION] || text || Optional || Resource identifier for the map definition.[[BR]]MAPNAME or MAPDEFINITION must be specified. || || [#Format1.0 FORMAT] || JPG/PNG || Yes || Image format for rendered image || || [#KeepSelection1.0 KEEPSELECTION] || 0/1 || Optional || If true, render selected feature(s) even if they are outside the current scale. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || ==== OPERATION Parameter ==== #Operation1.0 Name of HTTP operation to execute. This parameter is case sensitive. Operation names should be all uppercase. ==== VERSION Parameter ==== #Version1.0 Version of operation to execute. This version number corresponds to the version of !MapGuide where the operation was changed or introduced. ==== SESSION Parameter ==== #Session1.0 Session identifier for the map. The session identifier is typically created using MgSite::!CreateSession() or the CREATESESSION HTTP operation. ==== USERNAME Parameter ==== #Username1.0 !MapGuide user id with permission to access the map definition and related resources. ==== PASSWORD Parameter ==== #Password1.0 Password for !MapGuide user. ==== MAPNAME Parameter ==== #MapName1.0 The map name is the resource name of the map. For example "!WorldElevation" is the resource name for "!Library://Maps/World/WorldElevation.MapDefinition". ==== MAPDEFINITION Parameter ==== #MapDefinition1.0 Resource identifier for the map definition, eg. "!Library://Maps/World/WorldElevation.MapDefinition". ==== FORMAT Parameter ==== #Format1.0 Image format for the rendered image. Legal values are: * "JPG" for 24 bit JPEG * "PNG" for 32 bit PNG * "PNG8" for 8 bit PNG '''Note: This was added in !MapGuide 2.0.''' ==== KEEPSELECTION Parameter ==== #KeepSelection1.0 Determines whether the selection is visible outside of the scale range for the selected feature(s). If "1", the selection will be visible even when the feature scale range is outside of the current map scale. ==== SETVIEWCENTERX Parameter ==== #SetViewCenterX1.0 Sets the X coordinate for the center of the map. The coordinate is given in map coordinate system units. ==== SETVIEWCENTERY Parameter ==== #SetViewCenterY1.0 Sets the Y coordinate for the center of the map. The coordinate is given in map coordinate system units. ==== SETVIEWSCALE Parameter ==== #SetViewScale1.0 Sets the currently viewed scale for the map. This number should be greater than zero. ==== SETDISPLAYDPI Parameter ==== #SetDisplayDpi1.0 Sets the display resolution for the device. Typically 96 or 120 DPI. ==== SETDISPLAYWIDTH Parameter ==== #SetDisplayWidth1.0 Sets the width of the resulting image in pixels. ==== SETDISPLAYHEIGHT Parameter ==== #SetDisplayHeight1.0 Sets the height of the resulting image in pixels. ==== SHOWLAYERS Parameter ==== #ShowLayers1.0 Comma separated list of the MgLayer::!GetObjectId() values for layers to show. Previously shown layers will continue to be shown. ==== HIDELAYERS Parameter ==== #HideLayers1.0 Comma separated list of the MgLayer::!GetObjectId() values for layers to hide. Previously hidden layers will remain hidden. ==== SHOWGROUPS Parameter ==== #ShowGroups1.0 Comma separated list of the MgGroup::!GetObjectId() values for groups to show. Previously shown groups will continue to be shown. Layers within the groups will retain their current hide/show status. ==== HIDEGROUPS Parameter ==== #HideGroups1.0 Comma separated list of the MgGroup::!GetObjectId() values for groups to hide. Previously hidden groups will remain hidden. Layers within the groups will retain their current hide/show status. === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETMAPIMAGE &VERSION=1.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &KEEPSELECTION=1 &SHOWLAYERS=d5d01111-5f75-102c-8000-02004c4f4f50,d5d01118-5f75-102c-8000-02004c4f4f50 }}} Sets center of map to (-114,51) and scale to 1:50000. Turns on layers d5d01111 and d5d01118. The visible layers are rendered as a 500 by 500 PNG image. Any selection already defined by web extensions API calls will be drawn in blue regardless of scale. Changes to center, scale and layer visibility are retained. {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETMAPIMAGE &VERSION=1.0.0 &USERNAME=Anonymous &PASSWORD= &MAPDEFINITION=Library://Maps/World/WorldElevation.MapDefinition &FORMAT=PNG &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 &SHOWLAYERS=d5d01111-5f75-102c-8000-02004c4f4f50,d5d01118-5f75-102c-8000-02004c4f4f50 }}} Creates a temporary map. Sets center of map to (-114,51) and scale to 1:50000. Turns on layers d5d01111 and d5d01118. The visible layers are rendered as a 500 by 500 PNG image. No selection is defined or drawn. === Technical Notes === == !GetMapLegendImage ==#GetMapLegendImage1.2 === Overview === Generates a legend image for the the currently displayed scale of the map identified by SESSION and MAPNAME. The legend image can be used for display purposes or as part of a bitmap plot for the current map view. === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPLEGENDIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#Format1.0 FORMAT] || JPG/PNG || Yes || Image format for rendered image || || [#Width1.0 WIDTH] || integer || Yes || Width of legend image || || [#Height1.0 HEIGHT] || integer || Yes || Height of legend image || ==== WIDTH Parmaeter ====#Width1.0 Width of generated legend image in pixels ==== HEIGHT Parmaeter ====#Height1.0 Height of generated legend image in pixels === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETMAPLEGENDIMAGE &VERSION=1.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &FORMAT=PNG &WIDTH=200 &HEIGHT=500 }}} Generates a 200 by 500 32 bit PNG legend image for the current view of the !WorldElevation map. === Technical Notes === == !GetVisibleMapExtent ==#GetVisibleMapExtent1.2 === Overview === Returns the visible map extent in map coordinate system units for the map specified by SESSION and MAPNAME. During the call, the map state can be modified by additional parameters such as SETVIEWCENTERX and SETVIEWSCALE. This API is typically called before [##GetDynamicMapOverlayImage1.2 GetDynamicMapOverlay] to set map state. The returned XML document has the following format: {{{ 10 10 20 20 }}} === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETVISIBLEMAPEXTENT || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes || Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#SetViewCenterX1.0 SETVIEWCENTERX] || double || Optional || Set X coordinate for center of map. || || [#SetViewCenterY1.0 SETVIEWCENTERY] || double || Optional || Set Y coordinate for center of map. || || [#SetViewScale1.0 SETVIEWSCALE] || double || Optional || Set scale for map. || || [#SetDisplayDpi1.0 SETDISPLAYDPI] || integer || Optional || Set DPI for map. || || [#SetDisplayWidth1.0 SETDISPLAYWIDTH] || integer || Optional || Set width of image in pixels. || || [#SetDisplayHeight1.0 SETDISPLAYHEIGHT] || integer || Optional || Set height of image in pixels. || || [#ShowLayers1.0 SHOWLAYERS] || text || Optional || List of layers to display. || || [#HideLayers1.0 HIDELAYERS] || text || Optional || List of layers to hide. || || [#ShowGroups1.0 SHOWGROUPS] || text || Optional || List of groups to display. || || [#HideGroups1.0 HIDEGROUPS] || text || Optional || List of groups to hide. || === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=GETVISIBLEMAPEXTENT &VERSION=1.0.0 &SESSION=Session:d5d05422-5f75-102c-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &MAPNAME=WorldElevation &SETVIEWCENTERX=-114.0 &SETVIEWCENTERY=51.0 &SETVIEWSCALE=50000 &SETDISPLAYHEIGHT=500 &SETDISPLAYWIDTH=500 }}} Sets the center point of the !WorldElevation map to (-114,51) and the scale to 1:50000. The visible map extent is returned as an XML document. The display height and width for a subsequent [##GetDynamicMapOverlayImage1.2 GetDynamicMapOverlay] are set to 500 by 500. === Technical Notes === == !QueryMapFeatures ==#QueryMapFeatures1.2 === Overview === !QueryMapFeatures operation identifies features that meet the specified spatial selection criteria. These features can be persisted as selected features in a map. !QueryMapFeatures returns an XML document describing the set of selected features. If a single feature is selected, the XML contains the tooltip, hyperlink, and properties of the feature. {{{ BCAAAA== Some tooltip text http://www.website.com }}} === Parameters === || '''Name''' || '''Value''' || '''Required''' || '''Description''' || || [#Operation1.0 OPERATION] || GETMAPIMAGE || Yes || Operation to execute || || [#Version1.0 VERSION] || 1.0.0 || Yes || Operation version || || [#Session1.0 SESSION] || session identifier || Yes || !MapGuide session identifier containing map to display. || || [#MapName1.0 MAPNAME] || text || Yes ||Name of the map to display.[[BR]]This corresponds to the !GetName() value for the resource identifier. || || [#LayerNames1.0 LAYERNAMES] || text || Optional || Comma separated list of layer names. || || [#MaxFeatures1.0 MAXFEATURES] || integer || Yes || Maximum number of features to select. || || [#Geometry1.0 GEOMETRY] || text || Yes || WKT string representing the selection geometry. || || [#SelectionVariant1.0 SELECTIONVARIANT] || text || Yes || Geometric operation to use while selecting. || || [#Persist1.0 PERSIST] || 0/1 || Yes || If true, selection is saved to map. || || [#LayerAttributeFilter1.0 LAYERATTRIBUTEFILTER] || integer || Optional || Filter based on layer attributes. || || [#FeatureFilter1.0 FEATUREFILTER] || text || Optional || Filter based on previous selected features. || ==== LAYERNAMES Parameter ==== #LayerNames1.0 Comma separated list of layer names to restrict the selection to. Names can be obtained from !MgLayer.!GetName() ==== MAXFEATURES Parameter ==== #MaxFeatures1.0 Maximum number of features to select. If this value is set to "-1", all matching features will be selected. ==== GEOMETRY Parameter ==== #Geometry1.0 WKT string representing the selection geometry, eg. "POLYGON((10 10, 10 20, 20 20, 20 15, 10 10))" ==== SELECTIONVARIANT Parameter ==== #SelectionVariant1.0 Geometric operation to use for testing features against the supplied geometry. The following operations are supported: * "TOUCHES" - Feature geometry touches supplied geometry * "INTERSECTS" - Feature geometry intersects supplied geometry * "WITHIN" - Feature geometry lies within supplied goemetry * "ENVELOPEINTERSECTS" - Envelopes of feature and supplied geometry intersect. '''Note: This was added in !MapGuide 2.1.0''' ==== PERSIST Parameter ==== #Persist1.0 If set to "1", the resulting selection from !QueryMapFeatures will be persisted to the map and visible on the next call to !GetDynamicMapOverlayImage or !GetMapImage. ==== LAYERATTRIBUTEFILTER Parameter ==== #LayerAttributeFilter1.0 Bitmask specifying the attributes a layer must have to be considered in the selection process. The following attributes are supported: * 1 - Layer is visible * 2 - Layer is selectable * 4 - Layer has a tooltip defined Combinations of one or more attributes are allowed. ==== FEATUREFILTER Parameter ==== #FeatureFilter1.0 XML filter describing a set of previously selected features. This paramter is useful for obtaining the attribute values of a previously selected feature. The XML text can be retrieved from !MgSelection.!ToXml(). === Usage === {{{ http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=QUERYMAPFEATURES &VERSION=1.0.0 &PERSIST=0 &MAPNAME=Sheboygan &SESSION=20ef251c-53bb-11df-8000-02004c4f4f50_en_7F0000010AFC0AFB0AFA &LAYERNAMES=Islands,Hydrography,Parcels &GEOMETRY=POLYGON((10 10, 10 20, 20 20, 20 15, 10 10)) &SELECTIONVARIANT=INTERSECTS &MAXFEATURES=1 &LAYERATTRIBUTEFILTER=5 &CLIENTAGENT=Ajax Viewer }}} Queries the first feature from the Islands,Hydrography, or Parcels layers intersecting the given polygon. The feature must have a tooltip and be visible. The queried feature is not selected on the map. === Technical Notes ===