[PROJ] Altitude

Javier Jimenez Shaw j1 at jimenezshaw.com
Thu Mar 25 04:11:13 PDT 2021


Hi Roger,

To convert altitudes you just need to provide a Z... and to have the proper
geoid grids. You are lucky, because SWEN17_RH2000 is available in PROJ-data
You can have a look at https://cdn.proj.org/ to see which grid files are
available, and their value in a point.

To see the results, you can compare
echo 59.3 18.0 10 | PROJ_NETWORK=OFF cs2cs EPSG:4326+5773 EPSG:3006+5613
6577304.57 670817.92 10.00

echo 59.3 18.0 10 | PROJ_NETWORK=ON cs2cs EPSG:4326+5773 EPSG:3006+5613
6577304.57 670817.92 10.12

If you do not want to use the network, you can include the gridfiles in
your distribution. Set how PROJ_LIB works. There is an API to specify the
paths in C as well.
For this particular case you need the gridfiles for EGM96 and
SWEN17_RH2000. You can see more info in
projinfo -s EPSG:4326+5773 -t EPSG:3006+5613

See that not every geoid file in the world is included in PROJ-data ;)

Cheers
Javier
.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__
Entre dos pensamientos racionales
hay infinitos pensamientos irracionales.



On Thu, 25 Mar 2021 at 11:30, Roger Oberholtzer <roger.oberholtzer at gmail.com>
wrote:

> We have usually been focused on latitude/longitude when using proj. We
> would now like to address altitude. I have looked in the proj docs,
> but I cannot say that I am much the wiser in this respect.
>
> We currently use the old C API (proj_api.h). But we are moving to the
> new C API. That's a work in progress. And perhaps the subject of other
> questions.... Here I am considering height.
>
> Our typical scenario is that we collect data from a receiver (high-end
> dual antenna - so good quality) in a moving vehicle. We collect
> LAT/LONG in WGS84, and then project it using proj. For example to
> SWEREF99. So it's basically EPSG:4326 ->  EPSG:3006, or the inverse.
> Of course we don't only use SWEREF99. It's just an example.
>
> The receivers are configured to collect altitude as the geoid in
> EGM96. I think it is in fact the default for our receivers. So I guess
> it is a common altitude.
>
> To date, we have just let the altitude go along for the ride when
> using proj. Our users can select if they want the altitude as supplied
> by the receiver, or as proj calculates. There is a difference in the
> values.
>
> I have never understood how altitude is described in proj. For
> example, using the example of EPSG:3006, the corresponding altitude
> could be SWEN17_RH2000 (See
>
> https://www.lantmateriet.se/en/maps-and-geographic-information/gps-geodesi-och-swepos/Om-geodesi/Transformationer/Geoidmodeller/
> ).
>
> Can I use proj to get SWEN17_RH2000 from EGM96? Perhaps I just didn't
> recognize the information in the docs when I looked through it.
>
> Or should I be looking elsewhere?
>
> Sorry for being a noob here. But that's the state of my understanding
> with respect to altitude.
>
> --
> Roger Oberholtzer
> _______________________________________________
> PROJ mailing list
> PROJ at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/proj
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20210325/adaff95d/attachment.html>


More information about the PROJ mailing list