Hi Roger, 
I am not sure what you mean by "Sweref99_tm Cartesian values", but I think you 
mean SWEREF99 geocentric cartesian coordinates (with respect to the centre of 
the earth and the Z-axis in line with the rotation axis and X-axis through 
Greenwich). If so you can use the following command: 

echo  21 69  0.000 2022.0 | cct +proj=cart +ellps=GRS80 
which gives :  2140155.9896    821528.9138  5931972.9199     2022.0000

Note that cct is used instead of proj, and then you need also to give an epoch. 
In this case when just transforming between lat long ellh to X Y Z , it does 
not matter which epoch you give. But in case you transform from or to a dynamic 
reference system like ITRF then this epoch is important. Usually you give the 
epoch of the measurement. 

You can also use the EPSG-codes if you prefer:
echo  69 21  0.000 | cs2cs EPSG:4326 EPSG:4976
with the result: 2140155.99      821528.91 5931972.92
Note that the input latitude and longitude are in different order than for proj 
and cct!

or use the code for WGS84 (which has the zero-transformation to SWEREF99 in 
EPSG):
echo  69 21  0.000 | cs2cs EPSG:4326 EPSG:4976
2140155.99      821528.91 5931972.92

In many case you can consider SWEREF99=ETRS89=WGS84, which also is done with 
the transformation in the EPSG-database. This approximation is OK if you can 
accept an error up to 1 m. In case you need an accurate transformation (sub-cm) 
from ITRF2014/WGS84 to SWEREF 99 ( in geocentric cartesian coordinates) you can 
use the NKG:ITRF2014_TO_SE (implemented in PROJ from version 7.2.1): 

echo  2140155.9896    821528.9138  5931972.9199     2022.0000| cct 
NKG:ITRF2014_TO_SE
2140156.5941    821528.5956  5931972.5885     2022.0000


Hope it helps!

Best Regards, 

Lotti Jivall
Geodesist

LANTMÄTERIET
EMAIL                  lotti.jiv...@lm.se
TELEPHONE       026-63 37 40
MOBILE               072-222 56 14
ADDRESS            Lantmäteriet, Geodetisk infrastruktur, 801 82 Gävle
WEBB                  www.lantmateriet.se
www.linkedin.com/company/lantmateriet
www.facebook.com/lantmateriet
www.instagram.com/lantmateriet


-----Ursprungligt meddelande-----
Från: PROJ <proj-boun...@lists.osgeo.org> För Roger Oberholtzer
Skickat: den 20 april 2022 15:24
Till: PROJ <PROJ@lists.osgeo.org>
Ämne: [PROJ] Sweref99 Cartesian

We have been using proj to get Sweref99_tm (EPSG:3006) from WGS84
(EPSG:4326) values we collect from a GPS receiver. All is working great.

We have had a request to provide Sweref99_tm Cartesian values. I have looked at 
https://proj.org/operations/conversions/cart.html#cart but I'm unclear how to 
do this in the context of Sweref99_tm.

If I don't use the EPSG codes, I get the expected Sweref99_tm values with:

proj +proj=tmerc +ellps=GRS80 +k=0.9996 +x_0=500000 +y_0=0 +lon_0=15.0
+lat_0=0.0

Would it just be changing +proj=tmerc to +proj=cart ?

I get values. But I don't know if they are correct.

echo 21.0000000000 69.0000000000 0.000 | proj +proj=tmerc +ellps=GRS80
+k=0.9996 +x_0=500000 +y_0=0 +lon_0=15.0 +lat_0=0.0
739639.19       7666089.70 0.000


echo 21.0000000000 69.0000000000 0.000 | proj +proj=cart +ellps=GRS80
+k=0.9996 +x_0=500000 +y_0=0 +lon_0=15.0 +lat_0=0.0
2279859.27      239622.87 0.000

Also, can this be done when specifying the EPSG:3006 code directly?


--
Roger Oberholtzer
_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj
_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj

Reply via email to