Giter Club home page Giter Club logo

Comments (6)

pka avatar pka commented on May 26, 2024

To be more precise - for tile calculations using https://github.com/pka/tile-grid/tree/main/src/transform I only need WGS84 -> ETRS89 and WGS84 -> EPSG:2056. Transformation back to WGS84 would be nice to have.

from geodesy.

busstoptaktik avatar busstoptaktik commented on May 26, 2024

@pka said:

I only need WGS84 -> ETRS89 and WGS84 -> EPSG:2056. Transformation back to WGS84 would be nice to have.

WGS84 (2D/3D: EPSG:4326/4327) and ETRS89 (2D/3D: EPSG:4258/4937) are both datum ensembles. WGS84 with an ensemble-internal consistency of approx 2 m, ETRS89 with an ensemble-internal consistency of approx. 0.1 m.

The WGS84 ensemble comprises all realizations from WGS84(Transit) to WGS84(G2139). The ETRS89 ensemble comprises all the national realizations of ETRS89, related to a munber of ETRFs.

At the 2 m accuracy assumed by using the WGS84 ensemble, WGS84 and ETRS89 are identical, as also indicated in the official remark for the 3 parameter Helmert transformation from ETRS89 to CH1903+:

This transformation is also given as CH1903+ to CHTRS95 (1) (code 1509). CHTRS95 is a national realization of ETRS89. May be taken as approximate transformation CH1903+ to WGS 84 - see code 1676.

So unless you know your coordinates are related to a specific WGS84 realization, you can safely assert WGS84==ETRS89, since your overall accuracy is not better than 2 m anyway. So WGS84->ETRS89->WGS84 is available out of the box by doing nothing.

The datum shift comes into play when sailing into EPSG:2056, which is a projected system on the CH1903+ datum. Since that datum shift is based on a 3 parameter Helmert opertion, it is already supported by Rust Geodesy.

The missing link is the implementation of the Hotine Oblique Mercator projection step. Which EDIT: I may take a look at soon - and would happily accept a pull request if anyone else should feel the urge to implement it, before I get around to doing so I'm currently working on, and have so far completed the forward case.

from geodesy.

pka avatar pka commented on May 26, 2024

Reading your explanation, I realized that I forgot the more important second part of the transformation - I meant ETRS89 / UTM32: https://spatialreference.org/ref/epsg/25832/

For tile calculations I have to translate from geographic coordinates (which I think are always WGS84 in general web mapping applications) to the coordinate reference system of the tiles, which is usually EPSG:3857. But I want also support other systems like EPSG:25832 and EPSG:2056.

from geodesy.

busstoptaktik avatar busstoptaktik commented on May 26, 2024

EPSG:3857 "Web Mercator", is constructed by the geodetically dubious practice of converting ellipsoidal geographical coordinates (WGS84-ish) to Mercator-ish coordinates by applying a spherical implementation of the Mercator projection - hence throwing away the conformal properties of the projection.

At least, that's how it's implemented in PROJ, (here).

As Geodesy in general does not support spherical versions of projections, this will not work here. It is, however, trivial to implement, and I will give it a shot once the omerc implementation is merged.

from geodesy.

busstoptaktik avatar busstoptaktik commented on May 26, 2024

@pka I have merged the support for Web Mercator and Oblique Mercator now. It would, however, be useful with some additional test points. Do you happen to have some samples of (say) homologous EPSG:25832 and EPSG:2056 coordinates?

from geodesy.

pka avatar pka commented on May 26, 2024

Thanks a lot! I will test this this week. I also looked for reference data, but didn't find anything with both geographic and projected coordinates.

from geodesy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.