<div dir="ltr"><div>Hi everyone,<br><br>Suppose I wanted to create a compound CRS using a 2D projection + custom geoid file (let's call it foo.gtx), not included in proj-datumgrid. What table(s) in proj.db would I have to update so PROJ would know to open the right geoid file? I'm guessing `grid_transformation` is relevant here, but I'm not sure what else (maybe vertical_crs?). Also, if it is possible to update the database like this, how would I select this custom CRS on the command line, whether as a WKT or something else?<br><br>A few months ago, I asked about how to do this in a WKT, and it helped me create a WKT like the one in the postscript. In the example, all I'm trying to specify is EPSG:31370 + a hBG18.gtx geoid heights (file provided by a client, but not in the list of geoids in proj-datumgrid-europe). This does seem to work correctly.<br><br>However, we're using this as part of a REST API, so my team's a little concerned about the security implications of specifying the grid shift filename in the WKT. We want to know if updating the database is a better approach.<br><br>Note that I am using PROJ 6.3.1 right now. </div><div><br></div><div>Thank you,</div><div>Peter Gagliardi<br><br>PS: Here's what I'm using currently to make my custom compound CRS:<br><br>COMPOUNDCRS["User-Defined Projection", PROJCRS["Belge 1972 / Belgian Lambert 72",<br>    BASEGEOGCRS["Belge 1972",<br>        DATUM["Reseau National Belge 1972",<br>            ELLIPSOID["International 1924",6378388,297,<br>                LENGTHUNIT["metre",1]]],<br>        PRIMEM["Greenwich",0,<br>            ANGLEUNIT["degree",0.0174532925199433]],<br>        ID["EPSG",4313]],<br>    CONVERSION["Belgian Lambert 72",<br>        METHOD["Lambert Conic Conformal (2SP)",<br>            ID["EPSG",9802]],<br>        PARAMETER["Latitude of false origin",90,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8821]],<br>        PARAMETER["Longitude of false origin",4.36748666666667,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8822]],<br>        PARAMETER["Latitude of 1st standard parallel",51.1666672333333,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8823]],<br>        PARAMETER["Latitude of 2nd standard parallel",49.8333339,<br>            ANGLEUNIT["degree",0.0174532925199433],<br>            ID["EPSG",8824]],<br>        PARAMETER["Easting at false origin",150000.013,<br>            LENGTHUNIT["metre",1],<br>            ID["EPSG",8826]],<br>        PARAMETER["Northing at false origin",5400088.438,<br>            LENGTHUNIT["metre",1],<br>            ID["EPSG",8827]]],<br>    CS[Cartesian,2],<br>        AXIS["easting (X)",east,<br>            ORDER[1],<br>            LENGTHUNIT["metre",1]],<br>        AXIS["northing (Y)",north,<br>            ORDER[2],<br>            LENGTHUNIT["metre",1]],<br>    USAGE[<br>        SCOPE["unknown"],<br>        AREA["Belgium - onshore"],<br>        BBOX[49.5,2.5,51.51,6.4]],<br>    ID["EPSG",31370]], BOUNDCRS[<br>         SOURCECRS[<br>            VERTCRS["unknown",<br>                VDATUM["unknown"],<br>                CS[vertical,1],<br>                    AXIS["gravity-related height (H)",up,<br>                        LENGTHUNIT["metre",1,<br>                            ID["EPSG",9001]]]]],<br>        TARGETCRS[<br>            GEOGCRS["WGS 84",<br>                DATUM["World Geodetic System 1984",<br>                    ELLIPSOID["WGS 84",6378137,298.257223563,<br>                        LENGTHUNIT["metre",1]]],<br>                PRIMEM["Greenwich",0,<br>                    ANGLEUNIT["degree",0.0174532925199433]],<br>                CS[ellipsoidal,3],<br>                    AXIS["latitude",north,<br>                        ORDER[1],<br>                        ANGLEUNIT["degree",0.0174532925199433]],<br>                    AXIS["longitude",east,<br>                        ORDER[2],<br>                        ANGLEUNIT["degree",0.0174532925199433]],<br>                    AXIS["ellipsoidal height",up,<br>                        ORDER[3],<br>                        LENGTHUNIT["metre",1]],<br>                ID["EPSG",4979]]],<br>   ABRIDGEDTRANSFORMATION["unknown to WGS84 ellipsoidal height",<br>            METHOD["GravityRelatedHeight to Geographic3D"],<br>            PARAMETERFILE["Geoid (height correction) model file","hBG18.gtx",<br>                ID["EPSG",8666]]]]]<br></div></div>