Updated functions in geodepy.geodesy module to reflect new changes for Vincenty's functions working with UTM coordinates, grid bearings and grid distances.
Breaking Changes
geodepy.geodesy.vincinv_utm now outputs grid bearings, grid distances (previously output geodetic azimuths and ellipsoid distances) as well as a new Line Scale Factor.
geodepy.geodesy.vincdir_utm now takes a grid bearing and grid distance as inputs (previous inputs were geodetic azimuth and ellipsoid distance). Output is now grid bearing (previously geodetic azimuth) as well as a new Line Scale Factor.
Test have been rewritten to account for changes in expected inputs and outputs.
Additional Features
geodepy.geodesy.line_sf - computes Line Scale Factor between two UTM points (if coordinates have different zones, reprojects point 2 to the same zone as point 1)
geodepy.geodesy.rho - computes radius of curvature of the ellipsoid in the meridian plane for given latitude
geodepy.geodesy.nu - computes radius of curvature of the ellipsoid in the prime vertical plane for given latitude
Note that as vincinv_utm and vincdir_utm are now inputting and outputting measurements relating to grids (bearings and distances), working with points between neighbouring UTM zones could cause large corrections and failures. These functions rely on geodepy.convert.grid2geo, which will raise errors when points are more than 3330km of the Central Meridian. The output grid distances, which have to be related to only one of the input zones, don't mean much anyway when working with points separated by more than 1 zone. In these cases, it would be strongly suggested to use geodepy.geodesy.vincinv and geodepy.geodesy.vincdir as these work with geographic values (latitudes and longitudes, geodetic azimuths and ellipsoidal distances).
Updated functions in geodepy.geodesy module to reflect new changes for Vincenty's functions working with UTM coordinates, grid bearings and grid distances.
Breaking Changes
Additional Features
Note that as vincinv_utm and vincdir_utm are now inputting and outputting measurements relating to grids (bearings and distances), working with points between neighbouring UTM zones could cause large corrections and failures. These functions rely on geodepy.convert.grid2geo, which will raise errors when points are more than 3330km of the Central Meridian. The output grid distances, which have to be related to only one of the input zones, don't mean much anyway when working with points separated by more than 1 zone. In these cases, it would be strongly suggested to use geodepy.geodesy.vincinv and geodepy.geodesy.vincdir as these work with geographic values (latitudes and longitudes, geodetic azimuths and ellipsoidal distances).
I've used http://www.mygeodesy.id.au/documents/Trav_Comp_V2.1.pdf as the primary reference, which looks like its the source of the solutions present in the GDA94 and GDA2020 tech manuals.