Definition: OGP XML
<div class="syntax"><pre><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><gml:OperationMethod</span> <span class="na">xmlns:epsg=</span><span class="s">"urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset"</span> <span class="na">xmlns:gml=</span><span class="s">"http://www.opengis.net/gml/3.2"</span> <span class="na">xmlns:xlink=</span><span class="s">"http://www.w3.org/1999/xlink"</span> <span class="na">gml:id=</span><span class="s">"iogp-method-9812"</span><span class="nt">></span>
<span class="nt"><gml:metaDataProperty></span>
<span class="nt"><epsg:CommonMetaData></span>
<span class="nt"><epsg:alias</span> <span class="na">alias=</span><span class="s">"Hotine Oblique Mercator"</span> <span class="na">code=</span><span class="s">"14851"</span> <span class="na">codeSpace=</span><span class="s">"urn:ogc:def:naming-system:EPSG::7301"</span><span class="nt">></span>
<span class="nt"><epsg:remarks></span>This was the method name used prior to October 2010.<span class="nt"></epsg:remarks></span>
<span class="nt"></epsg:alias></span>
<span class="nt"><epsg:informationSource></span>EPSG guidance note #7-2, http://www.epsg.org<span class="nt"></epsg:informationSource></span>
<span class="nt"><epsg:revisionDate></span>2018-08-29<span class="nt"></epsg:revisionDate></span>
<span class="nt"><epsg:changes></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::1997.620"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::1999.811"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2004.430"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2004.600"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2007.044"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2010.058"</span> <span class="nt">/></span>
<span class="nt"><epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2017.024"</span> <span class="nt">/></span>
<span class="nt"></epsg:changes></span>
<span class="nt"><epsg:show></span>true<span class="nt"></epsg:show></span>
<span class="nt"><epsg:isDeprecated></span>false<span class="nt"></epsg:isDeprecated></span>
<span class="nt"></epsg:CommonMetaData></span>
<span class="nt"></gml:metaDataProperty></span>
<span class="nt"><gml:metaDataProperty></span>
<span class="nt"><epsg:CoordinateOperationMethodMetaData></span>
<span class="nt"><epsg:isOperationReversible></span>true<span class="nt"></epsg:isOperationReversible></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8811"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8812"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8813"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8814"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8815"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8806"</span> <span class="nt">/></span>
<span class="nt"><epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">"false"</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8807"</span> <span class="nt">/></span>
<span class="nt"><epsg:example></span>For Projected Coordinate System Timbalai 1948 / R.S.O. Borneo (m)
Parameters:
Ellipsoid: Everest 1830 (1967 Definition)
a = 6377298.556 metres 1/f = 300.8017
then e = 0.081472981and e2 = 0.006637847
Latitude Projection Centre fc = 4°00'00"N = 0.069813170 rad
Longitude Projection Centre lc = 115°00'00"E = 2.007128640 rad
Azimuth of central line ac = 53°18'56.9537" = 0.930536611 rad
Rectified to skew gc= 53°07'48.3685" = 0.927295218 rad
Scale factor ko= 0.99984
False Eastings FE = 0.00 m
False Northings FN = 0.00 m
Forward calculation for:
Latitude lat = 5°23'14.1129"N = 0.094025313 rad
Longitude lon = 115°48'19.8196"E = 2.021187362 rad
B = 1.003303209 F = 1.072121256
A =6376278.686 H = 1.000002991
to = 0.932946976 go = 0.927295218
D = 1.002425787 lon0 = 1.914373469
D2 =1.004857458
uc =738096.09 vc =0.00
t = 0.910700729 Q = 1.098398182
S = 0.093990763 T = 1.004407419
V = 0.106961709 U = 0.010967247
v = -69702.787 u = 901334.257
Then Easting E = 679245.73 m
Northing N = 596562.78 m
Reverse calculations for same easting and northing first gives :
v’ = -69702.787 u’ =901334.257
Q’ = 1.011028053
S’ = 0.010967907 T’ = 1.000060146
V’ = 0.141349378 U’ = 0.093578324
t’ = 0.910700729 c = 0.093404829
Then Latitude = 5°23'14.113"N
Longitude = 115°48'19.820"E<span class="nt"></epsg:example></span>
<span class="nt"></epsg:CoordinateOperationMethodMetaData></span>
<span class="nt"></gml:metaDataProperty></span>
<span class="nt"><gml:identifier</span> <span class="na">codeSpace=</span><span class="s">"IOGP"</span><span class="nt">></span>urn:ogc:def:method:EPSG::9812<span class="nt"></gml:identifier></span>
<span class="nt"><gml:name></span>Hotine Oblique Mercator (variant A)<span class="nt"></gml:name></span>
<span class="nt"><gml:formula></span>Note: These formulas have been transcribed from EPSG Guidance Note #7-2. Users are encouraged to use that document rather than the text which follows as reference because limitations in the transcription will be avoided.
The following constants for the projection may be calculated :
B = {1 + [esq * cos^4(latc) / (1 - esq )]}^0.5
A = a * B * kc *(1 - esq )^0.5 / ( 1 - esq * sin^2(latc))
to = tan(pi/4 - latc/2) / ((1 - e*sin(latc)) / (1 + e*sin(latc)))^(e/2)
D = B (1 - esq)^0.5 / (cos(latc) * ( 1 - esq*sin^2(latc))^0.5)
if D <span class="ni">&lt;</span> 1 to avoid problems with computation of F make D^2 = 1
F = D + (D^2 - 1)^0.5 * SIGN(latc)
H = F*(to)^B
G = (F - 1/F) / 2
gammao = asin(sin(alphac) / D)
lonO = lonc - (asin(G*tan(gammao))) / B
Forward case: To compute (E,N) from a given (lat,lon) :
t = tan(pi/4 - lat/2) / ((1 - e sin (lat)) / (1 + e sin (lat)))^(e/2)
Q = H / t^B
S = (Q - 1 / Q) / 2
T = (Q + 1 / Q) / 2
V = sin(B (lon - lonO))
U = (- V cos(gammao) + S sin(gammao)) / T
v = A ln((1 - U) / (1 + U)) / 2 B
u = A atan2((S cos(gammao) + V sin(gammao)) , cos(B (lon - lonO))) / B (see GN7-2 implementation notes in preface for atan2 convention)
The rectified skew co-ordinates are then derived from:
E = v cos(gammac) + u sin(gammac) + FE
N = u cos(gammac) - v sin(gammac) + FN
Reverse case: Compute (lat,lon) from a given (E,N) :
v’ = (E - FE) cos(gammac) - (N - FN) sin(gammac)
u’ = (N - FN) cos(gammac) + (E - FE) sin(gammac)
Q’ = e^- (B v ‘/ A) where e is the base of natural logarithms.
S' = (Q’ - 1 / Q’) / 2
T’ = (Q’ + 1 / Q’) / 2
V’ = sin (B u’ / A)
U’ = (V’ cos(gammac) + S’ sin(gammac)) / T’
t’ = (H / ((1 + U’) / (1 - U’))^0.5)^(1 / B)
chi = pi / 2 - 2 atan(t’)
lat = chi + sin(2chi).( e^2 / 2 + 5*e^4 / 24 + e^6 / 12 + 13*e^8 / 360) + sin(4*chi).( 7*e^4 /48 + 29*e^6 / 240 + 811*e8 / 11520) + sin(6chi).( 7*e^6 / 120 + 81*e8 / 1120) + sin(8chi).(4279 e^8 / 161280)
lon = lonO - atan2 ((S’ cos(gammao) - V’ sin(gammao)) , cos(B*u’ / A)) / B<span class="nt"></gml:formula></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8811"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8812"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8813"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8814"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8815"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8806"</span> <span class="nt">/></span>
<span class="nt"><gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:parameter:EPSG::8807"</span> <span class="nt">/></span>
<span class="nt"></gml:OperationMethod></span>
</pre></div>
<?xml version="1.0" encoding="UTF-8"?>
<gml:OperationMethod xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" gml:id="iogp-method-9812">
<gml:metaDataProperty>
<epsg:CommonMetaData>
<epsg:alias alias="Hotine Oblique Mercator" code="14851" codeSpace="urn:ogc:def:naming-system:EPSG::7301">
<epsg:remarks>This was the method name used prior to October 2010.</epsg:remarks>
</epsg:alias>
<epsg:informationSource>EPSG guidance note #7-2, http://www.epsg.org</epsg:informationSource>
<epsg:revisionDate>2018-08-29</epsg:revisionDate>
<epsg:changes>
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::1997.620" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::1999.811" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2004.430" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2004.600" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2007.044" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2010.058" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2017.024" />
</epsg:changes>
<epsg:show>true</epsg:show>
<epsg:isDeprecated>false</epsg:isDeprecated>
</epsg:CommonMetaData>
</gml:metaDataProperty>
<gml:metaDataProperty>
<epsg:CoordinateOperationMethodMetaData>
<epsg:isOperationReversible>true</epsg:isOperationReversible>
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8811" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8812" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8813" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8814" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8815" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8806" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8807" />
<epsg:example>For Projected Coordinate System Timbalai 1948 / R.S.O. Borneo (m)
Parameters:
Ellipsoid: Everest 1830 (1967 Definition)
a = 6377298.556 metres 1/f = 300.8017
then e = 0.081472981and e2 = 0.006637847
Latitude Projection Centre fc = 4°00'00"N = 0.069813170 rad
Longitude Projection Centre lc = 115°00'00"E = 2.007128640 rad
Azimuth of central line ac = 53°18'56.9537" = 0.930536611 rad
Rectified to skew gc= 53°07'48.3685" = 0.927295218 rad
Scale factor ko= 0.99984
False Eastings FE = 0.00 m
False Northings FN = 0.00 m
Forward calculation for:
Latitude lat = 5°23'14.1129"N = 0.094025313 rad
Longitude lon = 115°48'19.8196"E = 2.021187362 rad
B = 1.003303209 F = 1.072121256
A =6376278.686 H = 1.000002991
to = 0.932946976 go = 0.927295218
D = 1.002425787 lon0 = 1.914373469
D2 =1.004857458
uc =738096.09 vc =0.00
t = 0.910700729 Q = 1.098398182
S = 0.093990763 T = 1.004407419
V = 0.106961709 U = 0.010967247
v = -69702.787 u = 901334.257
Then Easting E = 679245.73 m
Northing N = 596562.78 m
Reverse calculations for same easting and northing first gives :
v’ = -69702.787 u’ =901334.257
Q’ = 1.011028053
S’ = 0.010967907 T’ = 1.000060146
V’ = 0.141349378 U’ = 0.093578324
t’ = 0.910700729 c = 0.093404829
Then Latitude = 5°23'14.113"N
Longitude = 115°48'19.820"E</epsg:example>
</epsg:CoordinateOperationMethodMetaData>
</gml:metaDataProperty>
<gml:identifier codeSpace="IOGP">urn:ogc:def:method:EPSG::9812</gml:identifier>
<gml:name>Hotine Oblique Mercator (variant A)</gml:name>
<gml:formula>Note: These formulas have been transcribed from EPSG Guidance Note #7-2. Users are encouraged to use that document rather than the text which follows as reference because limitations in the transcription will be avoided.
The following constants for the projection may be calculated :
B = {1 + [esq * cos^4(latc) / (1 - esq )]}^0.5
A = a * B * kc *(1 - esq )^0.5 / ( 1 - esq * sin^2(latc))
to = tan(pi/4 - latc/2) / ((1 - e*sin(latc)) / (1 + e*sin(latc)))^(e/2)
D = B (1 - esq)^0.5 / (cos(latc) * ( 1 - esq*sin^2(latc))^0.5)
if D < 1 to avoid problems with computation of F make D^2 = 1
F = D + (D^2 - 1)^0.5 * SIGN(latc)
H = F*(to)^B
G = (F - 1/F) / 2
gammao = asin(sin(alphac) / D)
lonO = lonc - (asin(G*tan(gammao))) / B
Forward case: To compute (E,N) from a given (lat,lon) :
t = tan(pi/4 - lat/2) / ((1 - e sin (lat)) / (1 + e sin (lat)))^(e/2)
Q = H / t^B
S = (Q - 1 / Q) / 2
T = (Q + 1 / Q) / 2
V = sin(B (lon - lonO))
U = (- V cos(gammao) + S sin(gammao)) / T
v = A ln((1 - U) / (1 + U)) / 2 B
u = A atan2((S cos(gammao) + V sin(gammao)) , cos(B (lon - lonO))) / B (see GN7-2 implementation notes in preface for atan2 convention)
The rectified skew co-ordinates are then derived from:
E = v cos(gammac) + u sin(gammac) + FE
N = u cos(gammac) - v sin(gammac) + FN
Reverse case: Compute (lat,lon) from a given (E,N) :
v’ = (E - FE) cos(gammac) - (N - FN) sin(gammac)
u’ = (N - FN) cos(gammac) + (E - FE) sin(gammac)
Q’ = e^- (B v ‘/ A) where e is the base of natural logarithms.
S' = (Q’ - 1 / Q’) / 2
T’ = (Q’ + 1 / Q’) / 2
V’ = sin (B u’ / A)
U’ = (V’ cos(gammac) + S’ sin(gammac)) / T’
t’ = (H / ((1 + U’) / (1 - U’))^0.5)^(1 / B)
chi = pi / 2 - 2 atan(t’)
lat = chi + sin(2chi).( e^2 / 2 + 5*e^4 / 24 + e^6 / 12 + 13*e^8 / 360) + sin(4*chi).( 7*e^4 /48 + 29*e^6 / 240 + 811*e8 / 11520) + sin(6chi).( 7*e^6 / 120 + 81*e8 / 1120) + sin(8chi).(4279 e^8 / 161280)
lon = lonO - atan2 ((S’ cos(gammao) - V’ sin(gammao)) , cos(B*u’ / A)) / B</gml:formula>
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8811" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8812" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8813" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8814" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8815" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8806" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8807" />
</gml:OperationMethod>