Subject: [Geopriv] 3825bis appx B

From: "Thomson, Martin" <[email-masked]>
Date: Fri, 5 Mar 2010 12:57:55 +0800

Reviewing 3825bis, I think that Appendix B is a little long.  I've added a shorter proposed example below, based on what is in Appendix C.

If this isn't correct, then there are a few errors in the values that are used in the example, particularly for low resolution values (2 and 3).  For instance, LongUnc of 2 is said to indicate -128 to -1, which implies that -0.5 isn't covered.  This should be -128 to 0.  Similarly, for a LatUnc of 3 it is said that this is between 0 and 63, where this should be 0 to 64.

I've also found two nits for Appendix C in building the example below:

  s/idependently/independently/

  The new reserved and version bits are not shown in the example.  This can
  be fixed as in the above diagram.

--

Appendix B. Calculations for Resolution

   This example demonstrates how resolution values for Latitude,
   Longitude, and Altitude (used in the version 0 option) can be
   calculated.

  The grounds of the White House in Washington D.C. (1600 Pennsylvania
  Ave. NW) can be found between 38.895375 and 38.898653 degrees North and
  77.037911 and 77.035116 degrees West.

  An approximate representation of this location might be provided using
  the version 0 encoding as follows:

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Code (123)  |  OptLen (16)  |  LatUnc   |     Latitude      .
       |0 1 1 1 1 0 1 1|0 0 0 1 0 0 0 0|0 1 0 0 1 0|0 0 0 1 0 0 1 1 0 1.
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       .                Latitude (cont'd)              |  LongUnc  |   .
       .1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1|0 1 0 0 0 1|1 1.
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       .                       Longitude (cont'd)                      |
       .0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | AType |   AltUnc  |                Altitude                   .
       |0 0 0 1|0 1 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1.
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       .  Alt (cont'd) |Ver| Res |Datum|
       .0 0 0 0 0 0 0 0|0 0|0 0 0|0 0 1|
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   In hexadecimal, this is 7B10484D CB986347 65ED42C4 1440000F 0001.

Decoding Location Configuration Information with Resolution

   Decoding this option gives a latitude of 38.897647 (to 7 decimal places)
   with 18 bits of resolution; a longitude of -77.0366000 with 17 bits of
   resolution; an altitude type of meters with a value of 15 and 17 bits of
   resolution; version 0 (resolution) and the WGS84 datum.

   For the latitude value, 18 bits of resolution allow for values in the
   range from 38.8964844 to 38.8984375.  For the longitude value, 17 bits
   of resolution allow for values in the range from -77.0390625 to
   -77.0351563.  Having 17 bits of resolution in the altitude allows for
   values in the range from 0 to 32 meters.

GML Representation of Decoded Location Configuration Information

   The following GML shows the value decoded in the previous example as a
   point in a three dimensional CRS:

       <gml:Point srsName="urn:ogc:def:crs:EPSG::4979"
                  xmlns:gml="http://www.opengis.net/gml">
         <gml:pos>38.897647 -77.0366 15</gml:pos>
       </gml:Point>

   This representation ignores the values included in the resolution
   parameters.  If resolution values are provided, a rectangular prism can
   be used to represent the location.

   The following example uses all of the decoded information from the
   previous example:

     <gs:Prism srsName="urn:ogc:def:crs:EPSG::4979"
         xmlns:gs="http://www.opengis.net/pidflo/1.0"
         xmlns:gml="http://www.opengis.net/gml">
       <gs:base>
         <gml:Polygon>
           <gml:exterior>
             <gml:LinearRing>
               <gml:posList>
                 38.8964844 -77.0390625 0
                 38.8964844 -77.0351563 0
                 38.8984375 -77.0351563 0
                 38.8984375 -77.0390625 0
                 38.8964844 -77.0390625 0
               </gml:posList>
             </gml:LinearRing>
           </gml:exterior>
         </gml:Polygon>
       </gs:base>
       <gs:height uom="urn:ogc:def:uom:EPSG::9001">
         32
       </gs:height>
     </gs:Prism>