Changes between Version 5 and Version 6 of MapGuideRfc126


Ignore:
Timestamp:
May 5, 2013, 9:52:47 AM (11 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc126

    v5 v6  
    190190Depending 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.
    191191
    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
     192Here's a rectangular selection query would look like this (note the value of REQUESTDATA):
     193
     194{{{
     195OPERATION:QUERYMAPFEATURES
     196VERSION:2.6.0
     197PERSIST:1
     198MAPNAME:Sheboygan
     199SESSION:2da80b84-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04
     200SEQ:0.5907083495985717
     201LAYERNAMES:Parcels
     202GEOMETRY:POLYGON((-87.71863496334385 43.74829197543962, -87.71830632635577 43.74829197543962, -87.71830632635577 43.747986812522115, -87.71863496334385 43.747986812522115, -87.71863496334385 43.74829197543962))
     203SELECTIONVARIANT:INTERSECTS
     204CLIENTAGENT:Ajax Viewer
     205REQUESTDATA:3
     206SELECTIONCOLOR:0x0000FFFF
     207SELECTIONFORMAT:PNG
     208MAXFEATURES:-1
     209}}}
     210
     211Or if the browser supports data URIs (note the value of REQUESTDATA):
     212
     213{{{
     214OPERATION:QUERYMAPFEATURES
     215VERSION:2.6.0
     216PERSIST:1
     217MAPNAME:Sheboygan
     218SESSION:2da80b84-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04
     219SEQ:0.5907083495985717
     220LAYERNAMES:Parcels
     221GEOMETRY:POLYGON((-87.71863496334385 43.74829197543962, -87.71830632635577 43.74829197543962, -87.71830632635577 43.747986812522115, -87.71863496334385 43.747986812522115, -87.71863496334385 43.74829197543962))
     222SELECTIONVARIANT:INTERSECTS
     223CLIENTAGENT:Ajax Viewer
     224REQUESTDATA:1
     225SELECTIONCOLOR:0x0000FFFF
     226SELECTIONFORMAT:PNG
     227MAXFEATURES:-1
    202228}}}
    203229
     
    205231
    206232{{{
    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 &amp; 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&apos;</Value></Property></PropertyCollection></BatchPropertyCollection></Attributes>
     240</FeatureInformation>
    208241}}}
    209242
     
    211244
    212245{{{
    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>
     252image/png</MimeType>
     253<Content>
     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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAZ/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 &amp; 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&apos;</Value></Property></PropertyCollection></BatchPropertyCollection></Attributes>
     258</FeatureInformation>
    214259}}}
    215260
     
    217262
    218263{{{
    219 TBD
     264OPERATION:QUERYMAPFEATURES
     265VERSION:2.6.0
     266PERSIST:0
     267MAPNAME:Sheboygan
     268SESSION:c46f34fc-b5a1-11e2-8000-080027004461_en_MTI3LjAuMC4x0B060B050B04
     269SEQ:0.03694401495158672
     270LAYERNAMES:Islands,Hydrography,CityLimits,Parcels,Roads
     271GEOMETRY:POLYGON((-87.72742956817393 43.74290470419973, -87.72740966091371 43.74290470419973, -87.72740966091371 43.7428847969395, -87.72742956817393 43.7428847969395, -87.72742956817393 43.74290470419973))
     272SELECTIONVARIANT:INTERSECTS
     273MAXFEATURES:1
     274LAYERATTRIBUTEFILTER:5
     275REQUESTDATA:12
     276CLIENTAGENT:Ajax Viewer
    220277}}}
    221278
     
    223280
    224281{{{
    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>
    226290}}}
    227291
     
    238302For 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.
    239303
     304With these modifications in place, the AJAX Viewer request chain for a single selection looks like this:
     305
     306[[Image(AjaxViewerAfter.PNG)]]
     307
     308And the Fusion Viewer request chain for a single selection looks like this:
     309
     310[[Image(FusionAfter.PNG)]]
     311
     312The 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
     314Modifying OpenLayers.Layer.MapGuide to accept an inline selection image data URI will eliminate the need for this 3rd request.
     315
     316Similarly, the request to SaveSelection.php may not even be needed either as QUERYMAPFEATURES supports selection set persistence.
     317
     318Such changes however, are not within the scope of this RFC.
     319
    240320== Implications ==
    241321