Javier,

I don't think that can be done directly in PROJ. That would somehow require a "add" operator using coordinates pushed on the stack. Or maybe some super convoluted trickery abusing some of our existing operators, but nothing comes to mind.

No magic then: I would probably write custom code that would create a grid from ETRS89 to the final CRS (the geographic CRS of it), with roughly the resolution of the grid in TM07, applying "at hand" the 4 steps to compute the shift in the lat/long space for all grid cells (using PROJ for some of the individual steps and Python to make the addition).

Even

Le 14/02/2025 à 17:50, Javier Jimenez Shaw a écrit :
Hi Even.

The example in data/sql/transformations_czechia_extra.sql was very useful.
First I am trying to reproduce the transformation with a pipeline, and later I will make the proper operations and concatenated operations in the database.

However this Greek transformation is more convoluted than I expected (initially I misunderstood some steps).

a) First they have a Helmert from ETRS89 (from their realization, but I do not care) to GGRS87. So far so good (params are not the ones from EPSG, but no problem) b) Then they apply the transverse Mercator to "GGRS87 / Greek Grid". All fine. c) In parallel they project ETRS89 coordinates into a different transverse Mercator, called TM07 (not in EPSG; they provide the params). The grid with the horizontal corrections are in TM07 d) the final projected coordinates in "GGRS87 / Greek Grid" are the values from b) plus the corrections from the grid in c)

See that the easting-northing coordinates to get the correction from the grid are not the same as the coordinates from b). To make it clear, TM07 has a false-northing of -2000 km

How can it be done in a pipeline? (later to be converted into something in proj.db) I do not know how to keep the corrections somewhere to be added later to the projected coordinates.

Thanks
Javier


On Mon, 3 Feb 2025 at 16:54, Even Rouault <even.roua...@spatialys.com> wrote:

    Javier,

    you can probably hack around BOUNDCRS in a totally PROJ-specific
    way by using the "METHOD["PROJ-based operation method:
    {proj_pipeline_here}"

    Otherwise having records in the DB will certainly be cleaner. 
    data/sql/transformations_czechia_extra.sql can probably be used as
    an example of quite advanced transformations, including using a
    grid referenced in a projected CRS.

    Even


    Le 03/02/2025 à 16:26, Javier Jimenez Shaw via PROJ a écrit :
    Hi

    I am trying to make this transformation (that is not in EPGS). I
    do not know how far I can go with PROJ.

    (Apparently this transformation is needed to go from the
    coordinates used by HEPOS.gr, the Greek positioning system, to
    the official -I think- CRS in Greece, GGRS87.
    The best is that the transformation would be in EPSG. Do you know
    anybody in Greece with the proper contacts? I am happy to talk
    with them about it, and help if needed)

    Until it is in EPSG, I would like to use PROJ to do it.

    The accurate transformation from ETRS89  to GGRS87 is something like:
    - apply a Helmert transformation
    - Project into a transverse Mercator
    - Apply a correction grid. Yes, in the projected system.
    - (optional) go back from the projected to the geographic crs.

    I thought about several options:

    - First option: create a WKT2 with a BOUNDCRS that defines the
    transformation. Can it be done in a single WKT2?
    - Second option: add the transformation to proj.db. Is it doable?
    - Third option: Create "my own grid" file (in the geographic
    system) combining all the steps. Of course, it will loose some
    accuracy due to the new grid interpolation.

    Any clue?
    Thanks.

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

-- http://www.spatialys.com
    My software is free, but my time generally not.

--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj

Reply via email to