0

I'm using an application that uses equations from USGS Bulletin 1532 (see source code - line 295: http://docs.ros.org/en/kinetic/api/robot_localization/html/api/navsat__conversions_8h_source.html#l00295). However, I need to use proj4 to do coordinates conversions. So I need to convert from one given projection to the projection used in the equations from USGS Bulletin 1532.

I'm using the C# package DotSpatial.Projections (which is a port for the popular proj4 C++ library to C#). To convert from one coordinate system to another, it receives a proj4 string, such as "+title=WGS 84 (long/lat) +lat_0=0 +lon_0=0 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees". However I don't know how to determine this string for the case of the USGS Bulletin 1532.

How would I define the proj4 string of the equations from USGS Bulletin 1532?

1 Answer 1

1

IMO you can use the proj.4 tool directly.

Without re-substituting all the terms, your code seems to correspond with the approximation from Gerald Everden and John Snyder in the code in tmerc.cpp lines 76-116 (approx_e_fwd aka. ll2utm) and lines (approx_e_inv aka. utm2ll) lines 154-184.

I found your code base in one of my older Pascal repositories from 1998 which is a port by Kurt Spitzley [email protected] of the original C++ code written by Chuck Gantz [email protected] also in 1998. A review for this code/equation base was written by John Manchuk in 2009 in the CCG Annual Report 11, 2009.

The code base is still present at: http://www.gpsy.com/gpsinfo/geotoutm/.

You could make some speed and code tests for this piece of software archeology ;-).

EDIT:

  1. The tool proj is a command line tool and has these forward and inverse termini.

So forward is from LL to XY and inverse is XY to LL.

  1. The UTM datum is called by:

Forward:

proj +datum=UTM +zone=32

Inverse:

invproj +datum=UTM +zone=32

This is a abbrevation for:

proj +proj=tmerc +ellps=WGS84 +k=0.9996 +lon_0=9 +lat_0=0 +x_0=500000

The next abstaction step is the usage of EPSG's. For further info's have a look at https://epsg.io/32632

2
  • I could partially get what you said. I'm using the C# package DotSpatial.Projections (which is a port for the popular proj4 C++ library to C#). To convert from one coordinate system to another, it receives a proj4 string, such as "+title=WGS 84 (long/lat) +lat_0=0 +lon_0=0 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees". However I don't know how to determine this string for the case of the USGS Bulletin 1532. Do you have any suggestions for it.
    – Samuel
    Commented Dec 24, 2021 at 16:20
  • @Samuel see EDIT:
    – huckfinn
    Commented Dec 24, 2021 at 19:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.