Skip to main content

geodetic package for transformation ETRS coordinates to S-JTSK

Project description

krovak05

Geodetic package for transformation ETRS89 (ETRF2000) coordinates to S-JTSK (Czech national coordinate system) and heights to Bpv system (Baltic vertical datum After Adjustment).

Installation

Run the following to install:

pip install krovak05

Methods

  • get_available_diff_tables() -> table_names - List[str]
  • interpolate_dydx(Y,X) -> dy, dx - float,float
  • interpolate_undulation(B,L) -> undulation - float
  • bicubic_dotr(Y,X) -> dy,dx - float, float
  • etrs_jtsk05(B,L,H) -> Y_jtsk05,X_jtsk05,H_bpv - float, float, float
  • etrs_jtsk(B,L,H) -> Y_jtsk,X_jtsk,H_bpv - float, float, float
  • jtsk05_jtsk(Y_jtsk05,X_jtsk05) -> Y_jtsk,X_jtsk - float, float
  • jtsk_jtsk05(Y_jtsk,X_jtsk) -> Y_jtsk05,X_jtsk05 - float, float
  • jtsk_etrs(self,Y,X,H) -> B,L,H - float, float

Usage

import krovak05

krovak = krovak05.Transformation()

## Undulation of kvasigeoid
undulation = krovak.interpolate_undulation(50, 15)
print(undulation)
# --> 44.438

## Differences between S-JTSK and S-JTSK/05
dy, dx = krovak.interpolate_dydx(750000, 1050000)
print(dy, dx)
# --> 0.072 -0.037

## Get list of possible dydx grid data
grids = krovak.get_available_diff_tables()
print(grids)
# --> ['table_yx_3_v1710', 'table_yx_3_v1202', 'table_yx_3_v1005']

## Transform ETRS89 (ETRF2000) coordinates to S-JTSK/05
B_etrs_in = 50
L_etrs_in = 15
H_etrs_in = 100

Y_sjtsk05, X_sjtsk05, H_bpv = krovak.etrs_jtsk05(
    B_etrs_in, L_etrs_in, H_etrs_in)
print(Y_sjtsk05, X_sjtsk05, H_bpv)
# --> 5703011.866856858 6058147.235673166 55.562

## Transform ETRS89 (ETRF2000) coordinates to S-JTSK
Y_sjtsk, X_sjtsk, H_bpv = krovak.etrs_jtsk(B_etrs_in, L_etrs_in, H_etrs_in)
print(Y_sjtsk, X_sjtsk, H_bpv)
# --> 703011.8997768582 1058147.294883166 55.562

## Reverse transformation S-JTSK coordinate to ETRS89
B_etrs_out, L_etrs_out, H_etrs_out = krovak.jtsk_etrs(
    Y_sjtsk, X_sjtsk, H_bpv)
print(B_etrs_out, L_etrs_out, H_etrs_out)
# --> 50.00000000579285 15.000000005855975 100.0

print("Differences:")
print(f"dB = {(B_etrs_in-B_etrs_out)*(math.pi/180)*6378000*1000} mm")
print(f"dL = {(B_etrs_in-B_etrs_out)*(math.pi/180)*(6378000*math.cos(B_etrs_in*(math.pi/180)))*1000} mm")
print(f"dH = {(H_etrs_in-H_etrs_out)*1000} mm")
# --> dB = -0.64 mm
# --> dL = -0.41 mm
# --> dH = 0.0 mm

Set different grid table:

krovak = krovak05.Transformation("table_yx_3_v1005")

TODO

  • Better documentation
  • Rewrite to more time efficient code - constants, less calculation of goniometric functions

Data validation

validation of data accuracy was performed using of the CUZK transformation service


Repository

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

krovak05-0.0.9.tar.gz (923.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

krovak05-0.0.9-py3-none-any.whl (940.2 kB view details)

Uploaded Python 3

File details

Details for the file krovak05-0.0.9.tar.gz.

File metadata

  • Download URL: krovak05-0.0.9.tar.gz
  • Upload date:
  • Size: 923.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.0

File hashes

Hashes for krovak05-0.0.9.tar.gz
Algorithm Hash digest
SHA256 f74692d35794163d2375ce403d0019d54435b43c91f87d83b39ec91cadde6bf3
MD5 83f2abe0a31b3154df6ef6d964f6d52d
BLAKE2b-256 29909421d7c82db6aab109eb483ad8348ebe5cecb0c86f7164c902b4c5fa4cd0

See more details on using hashes here.

File details

Details for the file krovak05-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: krovak05-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 940.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.0

File hashes

Hashes for krovak05-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4c5542b93415e60558c5dd7a1d01e2dd602954a374498294f3ccc56c8d0f639d
MD5 f38a502cc4b0504c30897525440db684
BLAKE2b-256 9cc0a45d48a54d4dadc8ad846eed731e7f599606fe9039bdabc08f1bd60cf59e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page