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-1041"</span><span class="nt">></span>
<span class="nt"><gml:metaDataProperty></span>
<span class="nt"><epsg:CommonMetaData></span>
<span class="nt"><epsg:informationSource></span>Land Survey Office (ZU), Prague, www.cuzk.cz/zu, and Geodesy, Cartography and Geodesy, Cartography and Cadastre Authority of Slovak Republic (UGKK SR).<span class="nt"></epsg:informationSource></span>
<span class="nt"><epsg:revisionDate></span>2019-05-17<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::2010.071"</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.100"</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.037"</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:changeID</span> <span class="na">xlink:href=</span><span class="s">"urn:ogc:def:change-request:EPSG::2019.030"</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::8833"</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::1036"</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::8818"</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::8819"</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 Reference System: S-JTSK (Ferro) / Krovak East North
Parameters:
Ellipsoid Bessel 1841 a = 6377397.155m 1/f = 299.15281
then e = 0.081696831 e^2 = 0.006674372
Latitude of projection centre = 49°30'00"N = 0.863937979 rad
Longitude of Origin = 42°30'00"E of Ferro = 0.741764932 rad
Co-latitude of cone axis = 30°17'17.30311" = 0.528627763 rad
Latitude of pseudo standard parallel = 78°30'00"N = 1.370083463 rad
Scale factor on pseudo Standard Parallel (ko) = 0.9999
False Easting = 0.00 m
False Northing = 0.00 m
Calculated projection constants:
A = 6380703.611
B = 1.000597498
gammao = 0.863239103
to = 1.003419164
n = 0.979924705
ro = 1298039.005
Forward calculation for:
Latitude = 50°12'32.442"N = 0.876312568 rad
Longitude = 34°30'59.179"E of Ferro = 0.602425500 rad
Then the forward calculation first gives
U = 0.875596949
V = 0.139422687
T = 1.386275049
D = 0.506554623
theta = 0.496385389
r = 1194731.014
Xp = 1050538.643
Yp = 568990.997
Southing = 1050538.643
Westing = 568990.997
Then
Easting (X) = -568991.00 m
Northing (Y) = -1050538.64 m
Reverse calculation for the same Easting and Northing:
Southing = 1050538.643
Westing = 568990.997
Xp' = 1050538.643
Yp' = 568990.997
r' = 1194731.014
theta' = 0.496385389
D' = 0.506554623
T' = 1.386275049
U' = 0.875596949
V' = 0.139422687
lat(iteration 1) = 0.876310601
lat(iteration 2) = 0.876312560
lat(iteration 3) = 0.876312566
Latitude = 0.876312566 rad = 50°12'32.442"N
Longitude = 0.60242500 rad = 34°30'59.179"E of Ferro.<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::1041<span class="nt"></gml:identifier></span>
<span class="nt"><gml:name></span>Krovak (North Orientated)<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.
From the defining parameters the following constants for the projection may be calculated :
A = a(1 - e^2)^0.5 / [1 - e^2 sin^2.(latC)]
B = {1 + [e^2 * cos^4(latC) / (1 - e^2)]}^0.5
gammao = asin[sin(latC) / B]
to = tan(pi/4 + gammao/2).[(1 + e sin(latC)) / (1 - e sin(latC))]^(e.B/2) / [tan(pi/4 + latC/2)]^B
n = sin(latp)
ro = kp.A / tan(latp)
To derive the projected Southing and Westing coordinates of a point with geographical coordinates (lat, lon) the formulas for the Krovak are:
U = 2(atan{to.tan^B(lat/2 + pi/4) / [(1 + e sin(lat)) / (1 - e sin(lat))]^[e.B/2]} - pi/4)
V = B(lonO - lon) where lonO and lon must both be referenced to the same prime meridian.
T = asin[cos(alphaC).sin(U) + sin(alphaC).cos(U). cos(V)]
D = asin[cos(U).sin(V)/cos(T)]
theta = n.D
r = ro.tan^n(pi/4 + latp/2) / tan^n(T/2 + pi/4)
Xp = r.cos(theta)
Yp = r.sin(theta)
Southing = Xp + FN
Westing = Yp + FE
Then Easting = -Westing
Northing = -Southing
Note also that the formula for D is satisfactory for the normal use of the projection within the pseudo-longitude range on the conformal sphere of ±90 degrees from the central line of the projection. Should there be a need to exceed this range (which is not necessary for application in Czechia and Slovakia) then for the calculation of D use:
sin(D1) = cos(U) * sin(V) / cos(T)
cos(D1) = {[cos(alphaC)*sin(T) – sin(U)] / [sin(alphaC)*cos(T)]}
D = atan2(sin(D1) , cos(D1)) (see implementation notes in preface for atan2 convention)
The reverse formulas to derive the latitude and longitude of a point from its Easting and Northing values are:
Southing = -Northing
Westing = -Easting
Xp' = Southing – FN
Yp' = Westing – FE
r' = [(Yp')^2 + (Xp')^2]^(1/2)
theta' = atan2[Yp' , Xp'] (see GN7-2 implementation notes in preface for atan2 convention)
D' = theta' / sin(latp)
T' = 2{atan[((ro / r')^(1/n)).tan(pi/4 + latp/2)] - pi/4}
U' = asin[cos(alphaC).sin(T') - sin(alphaC).cos(T').cos(D')]
V' = asin(cos(T').sin(D') / cos(U'))
Then latitude lat is found by iteration using U' as the value for lat(j-1) in the first iteration:
lat(j) = 2*(atan{to^(-1/B) tan^(1/B).(U'/2 + pi/4).[(1 + e sin(lat(j-1)) / (1 - e sin(lat(j-1))]^(e/2)} - pi/4)
Then
lon = lonO - V' / B where lon is referenced to the same prime meridian as lonO.<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::8833"</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::1036"</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::8818"</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::8819"</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-1041">
<gml:metaDataProperty>
<epsg:CommonMetaData>
<epsg:informationSource>Land Survey Office (ZU), Prague, www.cuzk.cz/zu, and Geodesy, Cartography and Geodesy, Cartography and Cadastre Authority of Slovak Republic (UGKK SR).</epsg:informationSource>
<epsg:revisionDate>2019-05-17</epsg:revisionDate>
<epsg:changes>
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2010.071" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2010.100" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2017.037" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2017.024" />
<epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2019.030" />
</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::8833" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::1036" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8818" />
<epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8819" />
<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 Reference System: S-JTSK (Ferro) / Krovak East North
Parameters:
Ellipsoid Bessel 1841 a = 6377397.155m 1/f = 299.15281
then e = 0.081696831 e^2 = 0.006674372
Latitude of projection centre = 49°30'00"N = 0.863937979 rad
Longitude of Origin = 42°30'00"E of Ferro = 0.741764932 rad
Co-latitude of cone axis = 30°17'17.30311" = 0.528627763 rad
Latitude of pseudo standard parallel = 78°30'00"N = 1.370083463 rad
Scale factor on pseudo Standard Parallel (ko) = 0.9999
False Easting = 0.00 m
False Northing = 0.00 m
Calculated projection constants:
A = 6380703.611
B = 1.000597498
gammao = 0.863239103
to = 1.003419164
n = 0.979924705
ro = 1298039.005
Forward calculation for:
Latitude = 50°12'32.442"N = 0.876312568 rad
Longitude = 34°30'59.179"E of Ferro = 0.602425500 rad
Then the forward calculation first gives
U = 0.875596949
V = 0.139422687
T = 1.386275049
D = 0.506554623
theta = 0.496385389
r = 1194731.014
Xp = 1050538.643
Yp = 568990.997
Southing = 1050538.643
Westing = 568990.997
Then
Easting (X) = -568991.00 m
Northing (Y) = -1050538.64 m
Reverse calculation for the same Easting and Northing:
Southing = 1050538.643
Westing = 568990.997
Xp' = 1050538.643
Yp' = 568990.997
r' = 1194731.014
theta' = 0.496385389
D' = 0.506554623
T' = 1.386275049
U' = 0.875596949
V' = 0.139422687
lat(iteration 1) = 0.876310601
lat(iteration 2) = 0.876312560
lat(iteration 3) = 0.876312566
Latitude = 0.876312566 rad = 50°12'32.442"N
Longitude = 0.60242500 rad = 34°30'59.179"E of Ferro.</epsg:example>
</epsg:CoordinateOperationMethodMetaData>
</gml:metaDataProperty>
<gml:identifier codeSpace="IOGP">urn:ogc:def:method:EPSG::1041</gml:identifier>
<gml:name>Krovak (North Orientated)</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.
From the defining parameters the following constants for the projection may be calculated :
A = a(1 - e^2)^0.5 / [1 - e^2 sin^2.(latC)]
B = {1 + [e^2 * cos^4(latC) / (1 - e^2)]}^0.5
gammao = asin[sin(latC) / B]
to = tan(pi/4 + gammao/2).[(1 + e sin(latC)) / (1 - e sin(latC))]^(e.B/2) / [tan(pi/4 + latC/2)]^B
n = sin(latp)
ro = kp.A / tan(latp)
To derive the projected Southing and Westing coordinates of a point with geographical coordinates (lat, lon) the formulas for the Krovak are:
U = 2(atan{to.tan^B(lat/2 + pi/4) / [(1 + e sin(lat)) / (1 - e sin(lat))]^[e.B/2]} - pi/4)
V = B(lonO - lon) where lonO and lon must both be referenced to the same prime meridian.
T = asin[cos(alphaC).sin(U) + sin(alphaC).cos(U). cos(V)]
D = asin[cos(U).sin(V)/cos(T)]
theta = n.D
r = ro.tan^n(pi/4 + latp/2) / tan^n(T/2 + pi/4)
Xp = r.cos(theta)
Yp = r.sin(theta)
Southing = Xp + FN
Westing = Yp + FE
Then Easting = -Westing
Northing = -Southing
Note also that the formula for D is satisfactory for the normal use of the projection within the pseudo-longitude range on the conformal sphere of ±90 degrees from the central line of the projection. Should there be a need to exceed this range (which is not necessary for application in Czechia and Slovakia) then for the calculation of D use:
sin(D1) = cos(U) * sin(V) / cos(T)
cos(D1) = {[cos(alphaC)*sin(T) – sin(U)] / [sin(alphaC)*cos(T)]}
D = atan2(sin(D1) , cos(D1)) (see implementation notes in preface for atan2 convention)
The reverse formulas to derive the latitude and longitude of a point from its Easting and Northing values are:
Southing = -Northing
Westing = -Easting
Xp' = Southing – FN
Yp' = Westing – FE
r' = [(Yp')^2 + (Xp')^2]^(1/2)
theta' = atan2[Yp' , Xp'] (see GN7-2 implementation notes in preface for atan2 convention)
D' = theta' / sin(latp)
T' = 2{atan[((ro / r')^(1/n)).tan(pi/4 + latp/2)] - pi/4}
U' = asin[cos(alphaC).sin(T') - sin(alphaC).cos(T').cos(D')]
V' = asin(cos(T').sin(D') / cos(U'))
Then latitude lat is found by iteration using U' as the value for lat(j-1) in the first iteration:
lat(j) = 2*(atan{to^(-1/B) tan^(1/B).(U'/2 + pi/4).[(1 + e sin(lat(j-1)) / (1 - e sin(lat(j-1))]^(e/2)} - pi/4)
Then
lon = lonO - V' / B where lon is referenced to the same prime meridian as lonO.</gml:formula>
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8811" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8833" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::1036" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8818" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8819" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8806" />
<gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8807" />
</gml:OperationMethod>