Speed issue in GetObservation interpretation 
Hi,
I'm trying to visualize 8607 points of a four campaigns of the 
Meet Mee Mechelen in a map browser. I'm indexing the visualization by an attribute of the observations so I need to get the full description for each observation. to do that, I create this request:
http://www.ogc3.uab.cat/cgi-bin/CitSci/MiraMon.cgi??VERSION=2.0.0&SERVICE=SOS&REQUEST=GetObservation&featureOfInterest=http://www.opengis.uab.cat/meet-mee-mechelen/featureOfInterest/&SRSNAME=EPSG:4326&BBOX=50.84927863623046,4.0856201982421965,51.20427436376952,4.8340638017578215
The result is a 35Mbyte long file due to the lengthy description of each observation: this is a simple of the first observation response
    <om:OM_Observation gml:id="meet-mee-mechelen_1_13">
      <om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_ComplexObservation"/>
      <om:phenomenonTime>
        <gml:TimeInstant gml:id="phenomenonTime_meet-mee-mechelen_1_1">
          <gml:timePosition>2017-11-19 17:20:00+01</gml:timePosition>
        </gml:TimeInstant>
      </om:phenomenonTime>
      <om:resultTime xlink:href="#phenomenonTime_meet-mee-mechelen_1_1"/>
      <om:procedure xlink:href="http://www.opengis.uab.cat/meet-mee-mechelen/procedure/5"/>
      <om:observedProperty xlink:href="http://www.opengis.uab.cat/meet-mee-mechelen/observedProperty"/>
      <om:featureOfInterest xlink:href="http://www.opengis.uab.cat/meet-mee-mechelen/featureOfInterest/1"/>
      <om:result xsi:type="swe:DataRecordPropertyType">
        <swe:DataRecord>
          <swe:field name="CAMPAIGN">
            <swe:Text definition="http://www.opengis.uab.cat/meet-mee-mechelen/field/">
              <swe:value>Oct-Nov2017</swe:value>
            </swe:Text>
          </swe:field>
          <swe:field name="time_first">
            <swe:Text definition="http://www.opengis.uab.cat/meet-mee-mechelen/field/">
              <swe:value>2017-11-06 08:00:10+01</swe:value>
            </swe:Text>
          </swe:field>
          <swe:field name="bc_aggr">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/bc_aggr">
              <swe:uom code="?"/>
              <swe:value> 3155</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="bc_aggr_mi">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/bc_aggr_mi">
              <swe:uom code="?"/>
              <swe:value>   80</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="bc_aggr_ma">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/bc_aggr_ma">
              <swe:uom code="?"/>
              <swe:value>16413</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="bc_aggr_st">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/bc_aggr_st">
              <swe:uom code="?"/>
              <swe:value> 3398</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="number_of_">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/number_of_">
              <swe:uom code="?"/>
              <swe:value>25</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="number_o_1">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/number_o_1">
              <swe:uom code="?"/>
              <swe:value>13</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="mean_numbe">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/mean_numbe">
              <swe:uom code="?"/>
              <swe:value> 8</swe:value>
            </swe:Quantity>
          </swe:field>
          <swe:field name="uncertaint">
            <swe:Quantity definition="http://www.opengis.uab.cat/meet-mee-mechelen/variable/uncertaint">
              <swe:uom code="?"/>
              <swe:value>0.50</swe:value>
            </swe:Quantity>
          </swe:field>
        </swe:DataRecord>
      </om:result>
    </om:OM_Observation>
  </sos:observationData>
My surprise is that requesting and interpreting this "file" takes an incredibly long amount of time. We have analyzed and this is our preliiminary conclusion: 
-  2190 ms the creating the file and the client receives it
  -  15000ms are spend by the AJAX library to transform it into and XML DOM
  -  200000ms are invested by the JavaScript code to explore he DOM and create a JavaScript data structure that is identical to a GeoJSON file.
 
 
We are know trying to optimize the code to make it faster but I doubt we are able to make it much more efficient.
This lives us with the following alternatives: 
-  Force GetObservation include a JSON representation of the properties in the <om:result >
  -  Force a full JSON encoding for the GetObservation. I have not found a parameter in the KVP syntax to do so
  -  Move to WFS and GeoJSON response.
  -  Move processing to server side (Andy Cobley's suggestion)
 
 
What I should do?
-- 
JoanMaso - 21 Feb 2019