EPSG:9819

Krovak

Attributes

Data source: OGP

Information source: Research Institute for Geodesy Topography and Cartography (VUGTK); Prague, and Geodesy, Cartography and Cadastre Authority of Slovak Republic (UGKK SR).

Revision date: 2019-05-17

MapTiler banner

Export

Definition: OGP XML

<div class="syntax"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span> <span class="nt">&lt;gml:OperationMethod</span> <span class="na">xmlns:epsg=</span><span class="s">&quot;urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset&quot;</span> <span class="na">xmlns:gml=</span><span class="s">&quot;http://www.opengis.net/gml/3.2&quot;</span> <span class="na">xmlns:xlink=</span><span class="s">&quot;http://www.w3.org/1999/xlink&quot;</span> <span class="na">gml:id=</span><span class="s">&quot;iogp-method-9819&quot;</span><span class="nt">&gt;</span> <span class="nt">&lt;gml:metaDataProperty&gt;</span> <span class="nt">&lt;epsg:CommonMetaData&gt;</span> <span class="nt">&lt;epsg:informationSource&gt;</span>Research Institute for Geodesy Topography and Cartography (VUGTK); Prague, and Geodesy, Cartography and Cadastre Authority of Slovak Republic (UGKK SR).<span class="nt">&lt;/epsg:informationSource&gt;</span> <span class="nt">&lt;epsg:revisionDate&gt;</span>2019-05-17<span class="nt">&lt;/epsg:revisionDate&gt;</span> <span class="nt">&lt;epsg:changes&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2002.950&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2006.180&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2007.040&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2009.017&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2010.071&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2010.100&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2017.037&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2017.024&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2019.030&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;/epsg:changes&gt;</span> <span class="nt">&lt;epsg:show&gt;</span>true<span class="nt">&lt;/epsg:show&gt;</span> <span class="nt">&lt;epsg:isDeprecated&gt;</span>false<span class="nt">&lt;/epsg:isDeprecated&gt;</span> <span class="nt">&lt;/epsg:CommonMetaData&gt;</span> <span class="nt">&lt;/gml:metaDataProperty&gt;</span> <span class="nt">&lt;gml:metaDataProperty&gt;</span> <span class="nt">&lt;epsg:CoordinateOperationMethodMetaData&gt;</span> <span class="nt">&lt;epsg:isOperationReversible&gt;</span>true<span class="nt">&lt;/epsg:isOperationReversible&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8811&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8833&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::1036&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8818&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8819&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8806&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8807&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:example&gt;</span>For Geographic CRS S-JTSK and Projected CRS S-JTSK (Ferro) / Krovak 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&#39;00&quot;N = 0.863937979 rad Longitude of origin = 42°30&#39;00&quot;E of Ferro = 0.741764932 rad Co-latitude of cone axis = 30°17&#39;17.30311&quot; = 0.528627763 rad Latitude of pseudo standard parallel = 78°30&#39;00&quot;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&#39;32.442&quot;N = 0.876312568 rad Longitude = 16°50&#39;59.179&quot;E of Greenwich Firstly, because the projection definition includes longitudes referenced to the Ferro meridian, the longitude of the point needs to be transformed to be referenced to the Ferro meridian using the Longitude Rotation method (EPSG method code 9601). Longitude = 16°50&#39;59.1790&quot;E of Greenwich Longitude of Ferro = 17°40&#39;00&quot; west of Greenwich and then Longitude = 34°30&#39;59.1790&quot;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 Then Southing (X) = 1050538.64 m Westing (Y) = 568991.00 m. Reverse calculation for the same Southing and Westing gives Xp&#39; = 1050538.643 Yp&#39; = 568990.997 r&#39; = 1194731.014 theta&#39; = 0.496385389 D&#39; = 0.506554623 T&#39; = 1.386275049 U&#39; = 0.875596949 V&#39; = 0.139422687 lat(iteration 1) = 0.876310601 lat(iteration 2) = 0.876312560 lat(iteration 3) = 0.876312566 Latitude = 0.876312566 rad = 50°12&#39;32.442&quot;N. Longitude of point = 0.602425500 rad = 34°30&#39;59.179&quot;E of Ferro. Then using the Longitude Rotation method (EPSG method code 9601): Longitude of Ferro = 17°40&#39;00&quot; west of Greenwich and Longitude of point = 34°30&#39;59.179&quot;E of Greenwich.<span class="nt">&lt;/epsg:example&gt;</span> <span class="nt">&lt;/epsg:CoordinateOperationMethodMetaData&gt;</span> <span class="nt">&lt;/gml:metaDataProperty&gt;</span> <span class="nt">&lt;gml:identifier</span> <span class="na">codeSpace=</span><span class="s">&quot;IOGP&quot;</span><span class="nt">&gt;</span>urn:ogc:def:method:EPSG::9819<span class="nt">&lt;/gml:identifier&gt;</span> <span class="nt">&lt;gml:name&gt;</span>Krovak<span class="nt">&lt;/gml:name&gt;</span> <span class="nt">&lt;gml:formula&gt;</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) Then Southing (X) = Xp + FN Westing (Y) = Yp + FE 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 Southing and Westing values are: Xp&#39; = Southing – FN Yp&#39; = Westing – FE r&#39; = [(Yp&#39;)^2 + (Xp&#39;)^2]^(1/2) theta&#39; = atan2[Yp&#39; , Xp&#39;] (see GN7-2 implementation notes in preface for atan2 convention) D&#39; = theta&#39; / sin(latp) T&#39; = 2{atan[((ro / r&#39;)^(1/n)).tan(pi/4 + latp/2)] - pi/4} U&#39; = asin[cos(alphaC).sin(T&#39;) - sin(alphaC).cos(T&#39;).cos(D&#39;)] V&#39; = asin(cos(T&#39;).sin(D&#39;) / cos(U&#39;)) Then latitude lat is found by iteration using U&#39; as the value for lat(j-1) in the first iteration: lat(j) = 2*(atan{to^(-1/B) tan^(1/B).(U&#39;/2 + pi/4).[(1 + e sin(lat(j-1)) / (1 - e sin(lat(j-1))]^(e/2)} - pi/4) Then lon = lonO - V&#39; / B where lon is referenced to the same prime meridian as lonO.<span class="nt">&lt;/gml:formula&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8811&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8833&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::1036&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8818&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8819&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8806&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8807&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;/gml:OperationMethod&gt;</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-9819">
  <gml:metaDataProperty>
    <epsg:CommonMetaData>
      <epsg:informationSource>Research Institute for Geodesy Topography and Cartography (VUGTK); Prague, 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::2002.950" />
        <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2006.180" />
        <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2007.040" />
        <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2009.017" />
        <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 Geographic CRS S-JTSK and Projected CRS S-JTSK (Ferro) / Krovak

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 = 16°50'59.179"E of Greenwich
Firstly, because the projection definition includes longitudes referenced to the Ferro meridian, the longitude of the point needs to be transformed to be referenced to the Ferro meridian using the Longitude Rotation method (EPSG method code 9601).

Longitude = 16°50'59.1790"E of Greenwich	
Longitude of Ferro = 17°40'00" west of Greenwich
and then
Longitude = 34°30'59.1790"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

Then Southing (X) =  1050538.64 m
     Westing  (Y) =   568991.00 m.

Reverse calculation for the same Southing and Westing gives

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 of point = 0.602425500 rad = 34°30'59.179"E of Ferro.
Then using the Longitude Rotation method (EPSG method code 9601):
Longitude of Ferro = 17°40'00" west of Greenwich
and
Longitude of point = 34°30'59.179"E of Greenwich.</epsg:example>
    </epsg:CoordinateOperationMethodMetaData>
  </gml:metaDataProperty>
  <gml:identifier codeSpace="IOGP">urn:ogc:def:method:EPSG::9819</gml:identifier>
  <gml:name>Krovak</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)

Then	
Southing (X) = Xp + FN
Westing	 (Y) = Yp + FE

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 Southing and Westing values are:

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>