Rapid Positioning Capability RPC00B

Copyright © 2012 Open Geospatial Consortium. 143 B_BIE Beginning Bisector Intercept Elevation less Convergence Angle of Stereo Mate bBie gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdstreob:Extended ImageSubheader E_BIE Ending Bisector Intercept Elevation less Convergence Angle of Stereo Mate. eBie gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdstreob:Extended ImageSubheader

7.2.32 Rapid Positioning Capability RPC00B

The RPC00B TRE contains rational function polynomial coefficients and normalization parameters that define the physical relationship between image coordinates and ground coordinates. The RPC00B TRE is placed in the image subheader. Table 40 — RPC00B TRE Field Name GMLJP2 Rectified Grid Coverage mapping GMLJP2 property GMLJP2 path CETAG Unique Extension Type Identifier cetag gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader CEL Length of User-Defined Data NA SUCCESS success gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader ERR_BIAS Error - Bias errBias gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende 144 Copyright © 2012 Open Geospatial Consortium. dImageSubheader ERR_RAN D Error - Random errRand gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LINE_OFF Line Offset ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:limitsgml:Grid Envelopegml:low lineOff gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader SAMP_OF F Sample Offset ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:limitsgml:Grid Envelopegml:low sampOff gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LAT_OFF Geodetic Latitude Offset ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:origin Optional: gjp2:RootFeatureCollectiongjp 2:featureMembergjp2:CodeStr eamDatagjp2:coveragentf:Re ctifiedGridCoveragegml:bound edBygml:Envelopegml:lowerC orner offset gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LONG_OF F Geodetic Longitude Offset ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:origin Optional: gjp2:RootFeatureCollectiongjp 2:featureMembergjp2:CodeStr eamDatagjp2:coveragentf:Re ctifiedGridCoveragegml:bound edBygml:Envelopegml:lowerC orner offset gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader HEIGHT_O FF Geodetic Height Offset ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:origin offset gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader Copyright © 2012 Open Geospatial Consortium. 145 LINE_SCA LE Line Scale ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:limitsgml:Grid Envelopegml:high lineScale + lineOff lineScale gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader SAMP_SC ALE Sample Scale ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:limitsgml:Grid Envelopegml:high sampScale + sampOff sampScale gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LAT_SCAL E Geodetic Latitude Scale Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector Optional: gjp2:RootFeatureCollectiongjp 2:featureMembergjp2:CodeStr eamDatagjp2:coveragentf:Re ctifiedGridCoveragegml:bound edBygml:Envelopegml:upper Corner offset + latScale posScale gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LONG_SC ALE Geodetic Longitude Scale Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector Optional: gjp2:RootFeatureCollectiongjp 2:featureMembergjp2:CodeStr eamDatagjp2:coveragentf:Re ctifiedGridCoveragegml:bound edBygml:Envelopegml:upper Corner offset + latScale posScale gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader HEIGHT_S CALE Geodetic Height Scale Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector posScale gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LINE_NUM _COEFF_N Line Numerator Coefficients Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector lineNumCoeff gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader LINE_DEN _COEFF_N Line Denominator Coefficients Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R lineDenCoeff gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData 146 Copyright © 2012 Open Geospatial Consortium. ectifiedGridgml:offsetVector ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader SAMP_NU M_ COEFF_N Sample Numerator Coefficients Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector sampNumCoef f gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader SAMP_DE N_ COEFF_N Sample Denominator Coefficients Approximate mapping to the ntf:RectifiedGridCoverage gml:rectifiedGridDomaingml:R ectifiedGridgml:offsetVector sampDenCoeff Collection gmljp2:RootFeatureCollection gmljp2:featureMembergmljp2 :CodeStreamData ntf:imageMetadataImageSub headerixshdrpc00b:Extende dImageSubheader The RPC is also known as an approximation of Rigorous Projection Model. A Rigorous Projection Model expresses the mapping of the image space coordinates of rows and columns r, c onto the surface geodetic coordinates lat, long, height. The RPC defines a set of rational polynomials that describes function of normalized row and column rn, cn and geodetic normalized coordinates latN, longN, heightN: latN = lat - LAT_OFF LAT_SCALE longN = long - LONG_OFF LONG_SCALE heightN = height - HEIGHT_OFF HEIGHT_SCALE rn = r - LINE_OFF LINE_SCALE cn = c - SAMP_OFF SAMP_SCALE rn = rowFunctionN latN, longN, heightN = ∑ = 20 1 i LINE _NUM_COEF i f i latN, longN, heightN = ∑ = 20 1 i LINE _DEN_COEF i f i latN, longN, heightN cn = columnFunctionN latN, longN, heightN = ∑ = 20 1 i SAMP _NUM_COEF i f i latN, longN, heightN = ∑ = 20 1 i SAMP _DEN_COEF i f i latN, longN, heightN Copyright © 2012 Open Geospatial Consortium. 147 ∑ = 20 1 i C i f i latN, longN, heightN = C 1 + C 2 longN + C 3 latN + C 4 heightN + C 5 longN latN + C 6 longN heightN + C 7 latN heightN + C 8 longN 2 + C 9 latN 2 + C 10 heightN 2 + C 11 longN latH heightN + C 12 longN 3 + C 13 longN latN 2 + C 14 longN heightN 2 + C 15 longN 2 latN + C 16 latN 3 + C 17 latN heightN 2 + C 18 longN 2 heightN + C 19 latN 2 heightN + C 20 heightN 3 Coefficients C 1… C 20 represent the following sets of coefficients: LINE_NUM_COEF_n, LINE_DEN_COEF_n, SAMP_NUM_COEF_n, SAMP_DEN_COEF_n see above table In order to provide the exact mapping to the GMLJP rectified grid model one would have to find the inverse transformations. They would be used to calculate offset vectors between 2 adjacent rows and columns. In addition, the height would have to be assumed to be constant e.g. average height. The following formulas apply: lat = latitudeFunctionr, c = latitudeFunctionN rn, cn LAT_SCALE + LAT_OFF long = longitudeFunctionr, c = longitudeFunctionN rn, cn LONG_SCALE + LONG_OFF r = rn LINE_SCALE + LINE_OFF c = cn SAMP_SCALE + SAMP_OFF The offset vectors are: offsetVector[2] = offsetVectorLat i = latitudeFunction r i+1 , c i - latitudeFunction r i , c i = const offsetVector[1] = offsetVectorLong i = longitudeFunction r i , c i+1 - latitudeFunction r i , c i = const height = const. 148 Copyright © 2012 Open Geospatial Consortium. Depending on the value of coefficients C 1… C 20 , sometimes it would be possible to find inverse transformations but in most cases that would not be possible. Even if it is possible to find inverse functions, the offset vectors might not be constant which is requirement for the RectifiedGrid model. In cases where the inverse functions exist, one can find RectifiedGrid’s offset vectors only if those offset vectors are constants. In general case, some approximation algorithm could be applied to find offset vectors. If those offset vectors are not constant then finding some kind of “average” offsetVectors alhorithm may be applied. This approximation process introduces some error margin and that might not be acceptable by all intended usages of the RectifiedGrid model. It should be noted that potentially RPC can be mapped to other Grid models e.g. GML3.3. provides referenceable grid model instead of RectifiedGrid model specified in GML3.2. In the referenceable grid model, the grid curves do not have to be straight or orthogonal. Grid cells could be of different shapes and sizes but they should preserve grid topology. Example to calculate offset vector: This example assumes that one can find inverse transformation. Assume: LINE_DEN_COEFF = SAMP_DEN_COEFF = C1 = C 4 = C 5 = … = C20 = 0 then the following equations apply: rn = A 2 longN + A 3 latN cn = B 2 longN + B 3 latN r = rn LINE_SCALE + LINE_OFF c = cn SAMP_SCALE + SAMP_OFF The offsetVectors are: offsetVector[1] = A 2 SAMP_SCALE B 3 A 2 – B 2 A 3 offsetVector[2] = B 3 LINE_SCALE B 3 A 2 – B 2 A 3 Copyright © 2012 Open Geospatial Consortium. 149

7.2.33 JPEG 2000 Layers J2KLRA