Krovak
GML Report Print View

Krovak Open
Coordinate Operation Method Details [VALID]
Name: Krovak
Code: 9819
Operation is Reversible: Yes
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.
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.
Method
Parameters:
Parameter Name Parameter Code Sign reversal Parameter Description
Latitude of projection centre 8811 No For an oblique projection, this is the latitude of the point at which the azimuth of the central line is defined.
Longitude of origin 8833 No For polar aspect azimuthal projections, the meridian along which the northing axis increments and also across which parallels of latitude increment towards the north pole.
Co-latitude of cone axis 1036 No The rotation applied to spherical coordinates for the oblique projection, measured on the conformal sphere in the plane of the meridian of origin.
Latitude of pseudo standard parallel 8818 No Latitude of the parallel on which the conic or cylindrical projection is based. This latitude is not geographic, but is defined on the conformal sphere AFTER its rotation to obtain the oblique aspect of the projection.
Scale factor on pseudo standard parallel 8819 No The factor by which the map grid is reduced or enlarged during the projection process, defined by its value at the pseudo-standard parallel.
False easting 8806 No Since the natural origin may be at or near the centre of the projection and under normal coordinate circumstances would thus give rise to negative coordinates over parts of the mapped area, this origin is usually given false coordinates which are large enough to avoid this inconvenience. The False Easting, FE, is the value assigned to the abscissa (east or west) axis of the projection grid at the natural origin.
False northing 8807 No Since the natural origin may be at or near the centre of the projection and under normal coordinate circumstances would thus give rise to negative coordinates over parts of the mapped area, this origin is usually given false coordinates which are large enough to avoid this inconvenience. The False Northing, FN, is the value assigned to the ordinate (north or south) axis of the projection grid at the natural origin.