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