EPSG
Land Survey Office (ZU), Prague, www.cuzk.cz/zu, and Geodesy, Cartography and Geodesy, Cartography and Cadastre Authority of Slovak Republic (UGKK SR).
2019-05-17
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.
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.