Javier,

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

For example with the following file, 'projinfo -s @/tmp/tmp.wkt -t "WGS 84"' will return the specified pipeline

BOUNDCRS[
    SOURCECRS[
        GEOGCRS["unknown",
            DATUM["Unknown based on GRS 1980 ellipsoid",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8901]],
            CS[ellipsoidal,2],
                AXIS["longitude",east,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433,
                        ID["EPSG",9122]]],
                AXIS["latitude",north,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433,
                        ID["EPSG",9122]]]]],
    TARGETCRS[
        GEOGCRS["WGS 84",
            DATUM["World Geodetic System 1984",
                ELLIPSOID["WGS 84",6378137,298.257223563,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["latitude",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["longitude",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4326]]],
    ABRIDGEDTRANSFORMATION["Transformation from unknown to WGS84",
        METHOD["PROJ-based operation method: +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=cart +ellps=GRS80 +step +proj=helmert +x=1 +step +inv +proj=cart +ellps=WGS84"]]]

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.
_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj

Reply via email to