ObjectVision / GeoDMS

Source code for the GeoDMS software
https://www.geodms.nl/
Other
7 stars 1 forks source link

spatial reference (EPSG:7415) differs from the spatial reference (EPSG:28992) obtained from the dataset #672

Closed basvanbemmel closed 7 months ago

basvanbemmel commented 8 months ago

Ik krijg in de 14.13 -serie de volgende error op item /BaseData/Zonneladder/NoRegret/OpInfraWerken/Geluidsschermen/UitGWV_wal/union/union (bij runnen /MaakBasedata/Generate_Run6 en openen preparebasedata.dms in runs-map)

GDAL: item [[/SourceData/Overigen/impl/GWV/Src/geometry]] spatial reference (EPSG:7415) differs from the spatial reference (EPSG:28992) obtained from the dataset /SourceData/Overigen/impl/GWV/Src/geometry

Dit was nog niet het geval in 14.12-serie.

GeoDMS: 14.13.0 PD10653: https://pbl.sliksvn.com/ruimtescanner/PBL/ProjDir/branches/PlanMonitor2024 SD10654: https://pbl.sliksvn.com/ruimtescanner/PBL/SourceData/Trunk/RSL

image

image

basvanbemmel commented 8 months ago

Lijkt een soortgelijk probleem als bij: https://private-user-images.githubusercontent.com/96182097/304799514-d19329d3-21e6-4749-bff0-62420f3cb87d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDk1MzgzMzUsIm5iZiI6MTcwOTUzODAzNSwicGF0aCI6Ii85NjE4MjA5Ny8zMDQ3OTk1MTQtZDE5MzI5ZDMtMjFlNi00NzQ5LWJmZjAtNjI0MjBmM2NiODdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAzMDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMzA0VDA3NDAzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRkOGNmMWY2OTcwYjU3NDY5NTFiMjcwNzNhMGRjNTk3ODZhZTNlZGFhMzcxZmUzMWI3YjNjZjExMWUwNjExZjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qE_SyjAdF_-Y6qi4Em6dmDYfiwoZTqE3z9FcIJtoWDA

eoudejans commented 8 months ago

Het gaat hier om twee verschillende projecties, we hebben besloten om hier inderdaad een error op te gooien. Dit is een raar geval omdat EPSG:7415 de projectie van EPSG:28992 bevat met NAP hoogtes er bij.

https://epsg.io/7415 https://epsg.io/28992

Is het mogelijk om de dataset in te lezen als EPSG:7415 en dan te converteren naar EPSG:28992?

MaartenHilferink commented 8 months ago

Is EPSG:7415 een nadere specificatie, dus een speciaal geval van, EPSG:28992; en is EPSG:28992 dus een soort Base Class van EPSG:7415 ? En is die relatie bij Proj bekend en op te vragen ? (alleen) dan is er GeoDms support mogelijk voor (automatische) conversie zonder verlies van projectfout-detectie.

eoudejans commented 7 months ago

The given srs EPSG:7415 consists as remarked of a so called compound srs, which is in this case a combination of Amersfoort/RD New + NAP height.

COMPD_CS["Amersfoort / RD New + NAP height",
    PROJCS["Amersfoort / RD New",
        GEOGCS["Amersfoort",
            DATUM["Amersfoort",
                SPHEROID["Bessel 1841",6377397.155,299.1528128,
                    AUTHORITY["EPSG","7004"]],
                AUTHORITY["EPSG","6289"]],
            PRIMEM["Greenwich",0,
                AUTHORITY["EPSG","8901"]],
            UNIT["degree",0.0174532925199433,
                AUTHORITY["EPSG","9122"]],
            AUTHORITY["EPSG","4289"]],
        PROJECTION["Oblique_Stereographic"],
        PARAMETER["latitude_of_origin",52.1561605555556],
        PARAMETER["central_meridian",5.38763888888889],
        PARAMETER["scale_factor",0.9999079],
        PARAMETER["false_easting",155000],
        PARAMETER["false_northing",463000],
        UNIT["metre",1,
            AUTHORITY["EPSG","9001"]],
        AXIS["Easting",EAST],
        AXIS["Northing",NORTH],
        AUTHORITY["EPSG","28992"]],
    VERT_CS["NAP height",
        VERT_DATUM["Normaal Amsterdams Peil",2005,
            AUTHORITY["EPSG","5109"]],
        UNIT["metre",1,
            AUTHORITY["EPSG","9001"]],
        AXIS["Gravity-related height",UP],
        AUTHORITY["EPSG","5709"]],
    AUTHORITY["EPSG","7415"]]

I have added a check that in case of compound srs in either the dataset or the geodms value unit now also looks if the projcs are similar. If this is the case, no error will be thrown.