Changes between Version 5 and Version 6 of MapGuideRfc126
- Timestamp:
- 05/05/13 09:52:47 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc126
v5 v6 190 190 Depending on the requestData masked value, we will have a {{{MgFeatureInformation}}} (containing the tooltip, hyperlink and selection set), a {{{MgBatchPropertyCollection}}} containing the selected feature attributes and a {{{STRING}}} (containing the base64 selection image). Then we construct the appropriate XML response based on what pieces of data we have. 191 191 192 Here's a rectangular selection query would look like this: 193 194 {{{ 195 TBD 196 }}} 197 198 Or if the browser supports data URIs 199 200 {{{ 201 TBD 192 Here's a rectangular selection query would look like this (note the value of REQUESTDATA): 193 194 {{{ 195 OPERATION:QUERYMAPFEATURES 196 VERSION:2.6.0 197 PERSIST:1 198 MAPNAME:Sheboygan 199 SESSION:2da80b84-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04 200 SEQ:0.5907083495985717 201 LAYERNAMES:Parcels 202 GEOMETRY:POLYGON((-87.71863496334385 43.74829197543962, -87.71830632635577 43.74829197543962, -87.71830632635577 43.747986812522115, -87.71863496334385 43.747986812522115, -87.71863496334385 43.74829197543962)) 203 SELECTIONVARIANT:INTERSECTS 204 CLIENTAGENT:Ajax Viewer 205 REQUESTDATA:3 206 SELECTIONCOLOR:0x0000FFFF 207 SELECTIONFORMAT:PNG 208 MAXFEATURES:-1 209 }}} 210 211 Or if the browser supports data URIs (note the value of REQUESTDATA): 212 213 {{{ 214 OPERATION:QUERYMAPFEATURES 215 VERSION:2.6.0 216 PERSIST:1 217 MAPNAME:Sheboygan 218 SESSION:2da80b84-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04 219 SEQ:0.5907083495985717 220 LAYERNAMES:Parcels 221 GEOMETRY:POLYGON((-87.71863496334385 43.74829197543962, -87.71830632635577 43.74829197543962, -87.71830632635577 43.747986812522115, -87.71863496334385 43.747986812522115, -87.71863496334385 43.74829197543962)) 222 SELECTIONVARIANT:INTERSECTS 223 CLIENTAGENT:Ajax Viewer 224 REQUESTDATA:1 225 SELECTIONCOLOR:0x0000FFFF 226 SELECTIONFORMAT:PNG 227 MAXFEATURES:-1 202 228 }}} 203 229 … … 205 231 206 232 {{{ 207 TBD 233 <?xml version="1.0" encoding="UTF-8"?> 234 <FeatureInformation> 235 <FeatureSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FeatureSet-1.0.0.xsd"> <Layer id="2dbc571a-b5a1-11e2-8004-080027004461"> <Class id="SHP_Schema:Parcels"> <ID>DiQAAA==</ID> </Class> </Layer></FeatureSet><Tooltip /> 236 <Hyperlink /> 237 <InlineSelectionImage /> 238 <Attributes> 239 <BatchPropertyCollection><PropertyCollection><Property><Name>_MgLayerName</Name><Type>string</Type><Value>Parcels</Value></Property><Property><Name>_MgFeatureBoundingBox</Name><Type>string</Type><Value>-87.719208640129452 43.747730625310957 -87.71745819670727 43.748609259038986</Value></Property><Property><Name>Description1</Name><Type>string</Type><Value>ORIG. PLAT</Value></Property><Property><Name>Zone</Name><Type>string</Type><Value>EXM</Value></Property><Property><Name>Acreage</Name><Type>string</Type><Value>3.21</Value></Property><Property><Name>Lot Dimensions</Name><Type>string</Type><Value>IRREG</Value></Property><Property><Name>Owner</Name><Type>string</Type><Value>CITY OF SHEBOYGAN</Value></Property><Property><Name>Description2</Name><Type>string</Type><Value>ALL OF BLOCKS 186 & 187, AND</Value></Property><Property><Name>Description3</Name><Type>string</Type><Value>VACATED S. 11TH ST. BETWEEN</Value></Property><Property><Name>Billing Address</Name><Type>string</Type><Value>828 CENTER AVE</Value></Property><Property><Name>Lot Size (SqFt)</Name><Type>string</Type><Value>140000</Value></Property><Property><Name>Description4</Name><Type>string</Type><Value>SD BLOCKS, EXCEPT THE W 10'</Value></Property></PropertyCollection></BatchPropertyCollection></Attributes> 240 </FeatureInformation> 208 241 }}} 209 242 … … 211 244 212 245 {{{ 213 TBD 246 <?xml version="1.0" encoding="UTF-8"?> 247 <FeatureInformation> 248 <FeatureSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FeatureSet-1.0.0.xsd"> <Layer id="2dbc571a-b5a1-11e2-8004-080027004461"> <Class id="SHP_Schema:Parcels"> <ID>DiQAAA==</ID> </Class> </Layer></FeatureSet><Tooltip /> 249 <Hyperlink /> 250 <InlineSelectionImage> 251 <MimeType> 252 image/png</MimeType> 253 <Content> 254 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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAZ/gMIpdt1/ZbrLQAAAABJRU5ErkJggg==</Content> 255 </InlineSelectionImage> 256 <Attributes> 257 <BatchPropertyCollection><PropertyCollection><Property><Name>_MgLayerName</Name><Type>string</Type><Value>Parcels</Value></Property><Property><Name>_MgFeatureBoundingBox</Name><Type>string</Type><Value>-87.719208640129452 43.747730625310957 -87.71745819670727 43.748609259038986</Value></Property><Property><Name>Description1</Name><Type>string</Type><Value>ORIG. PLAT</Value></Property><Property><Name>Zone</Name><Type>string</Type><Value>EXM</Value></Property><Property><Name>Acreage</Name><Type>string</Type><Value>3.21</Value></Property><Property><Name>Lot Dimensions</Name><Type>string</Type><Value>IRREG</Value></Property><Property><Name>Owner</Name><Type>string</Type><Value>CITY OF SHEBOYGAN</Value></Property><Property><Name>Description2</Name><Type>string</Type><Value>ALL OF BLOCKS 186 & 187, AND</Value></Property><Property><Name>Description3</Name><Type>string</Type><Value>VACATED S. 11TH ST. BETWEEN</Value></Property><Property><Name>Billing Address</Name><Type>string</Type><Value>828 CENTER AVE</Value></Property><Property><Name>Lot Size (SqFt)</Name><Type>string</Type><Value>140000</Value></Property><Property><Name>Description4</Name><Type>string</Type><Value>SD BLOCKS, EXCEPT THE W 10'</Value></Property></PropertyCollection></BatchPropertyCollection></Attributes> 258 </FeatureInformation> 214 259 }}} 215 260 … … 217 262 218 263 {{{ 219 TBD 264 OPERATION:QUERYMAPFEATURES 265 VERSION:2.6.0 266 PERSIST:0 267 MAPNAME:Sheboygan 268 SESSION:c46f34fc-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04 269 SEQ:0.03694401495158672 270 LAYERNAMES:Islands,Hydrography,CityLimits,Parcels,Roads 271 GEOMETRY:POLYGON((-87.72742956817393 43.74290470419973, -87.72740966091371 43.74290470419973, -87.72740966091371 43.7428847969395, -87.72742956817393 43.7428847969395, -87.72742956817393 43.74290470419973)) 272 SELECTIONVARIANT:INTERSECTS 273 MAXFEATURES:1 274 LAYERATTRIBUTEFILTER:5 275 REQUESTDATA:12 276 CLIENTAGENT:Ajax Viewer 220 277 }}} 221 278 … … 223 280 224 281 {{{ 225 TBD 282 <?xml version="1.0" encoding="UTF-8"?> 283 <FeatureInformation> 284 <FeatureSet /> 285 <Tooltip>Parcel\nName: WHITE, RICHARD\nAddress: 1627 INDIANA AVE</Tooltip> 286 <Hyperlink /> 287 <InlineSelectionImage /> 288 <Attributes /> 289 </FeatureInformation> 226 290 }}} 227 291 … … 238 302 For Fusion, it gets a bit more complicated as it makes various calls to assorted PHP scripts (SaveSelection.php, GetSelectionProperties.php, etc). This asynchronous call chain of PHP scripts needs to be refactored so that it only needs to send the new QUERYMAPFEATURES request and process its response as it does all the things that these PHP scripts were previously needed for. In addition, it's client-side selection structure is radically different from that of the AJAX viewer. Given the very early stage of this RFC, discussion with Fusion developers is needed to determine if the sample responses proposed here is enough to replicate the existing client-side selection model and this RFC will be updated accordingly based on developer feedback. 239 303 304 With these modifications in place, the AJAX Viewer request chain for a single selection looks like this: 305 306 [[Image(AjaxViewerAfter.PNG)]] 307 308 And the Fusion Viewer request chain for a single selection looks like this: 309 310 [[Image(FusionAfter.PNG)]] 311 312 The last request is a GETDYNAMICOVERLAYIMAGE request. The reason we cannot currently eliminate the sending of this 3rd request is because the OpenLayers.Layer.MapGuide class is yet not aware of the changes in this RFC. 313 314 Modifying OpenLayers.Layer.MapGuide to accept an inline selection image data URI will eliminate the need for this 3rd request. 315 316 Similarly, the request to SaveSelection.php may not even be needed either as QUERYMAPFEATURES supports selection set persistence. 317 318 Such changes however, are not within the scope of this RFC. 319 240 320 == Implications == 241 321