Hi Graham, Graeme, all, Some thoughts on the ele tag questions and the ODN to EGM96 conversion.
--- Graeme's question first: what's the actual difference between ODN and EGM96 across Great Britain? The EGM96 geoid sits roughly 43m to 57m above ODN across mainland GB (broadly increasing from south to north), so the two are not interchangeable in the ele tag without conversion. For a trig pillar on a lowland site in southern England the difference might be around +44m; for something in the Scottish Highlands it could be +56m or more. It's large enough to matter. --- On Graham's PROJ/GDAL question: You'll need two OS-supplied grid files alongside the standard EGM96 grid: - OSTN15_NTv2_OSGBtoETRS.gsb (horizontal shift, OSGB36 to ETRS89) - OSGM15_GB.gtx (vertical, ODN to ETRS89 ellipsoidal height) - egm96_15.gtx (vertical, EGM96 geoid undulation) The first two are available from the OS/CDVP download page: https://www.google.com/url?q=https://www.ordnancesurvey.co.uk/business-government/tools-support/os-net/for-developers&source=gmail&ust=1782256072499000&sa=E egm96_15.gtx is included in the PROJ datum grid package (proj-data), or available separately from: https://www.google.com/url?q=https://cdn.proj.org/&source=gmail&ust=1782256072499000&sa=E Once you have those in place, the PROJ pipeline from EPSG:7405 (OSGB36 + ODN) to WGS84 + EGM96 is: echo "<easting> <northing> <ODN_height>" | \ cs2cs EPSG:7405 \ +proj=pipeline \ +step +inv +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 \ +x_0=400000 +y_0=-100000 +ellps=airy \ +step +hgridshift +grids=OSTN15_NTv2_OSGBtoETRS.gsb \ +step +vgridshift +grids=OSGM15_GB.gtx +multiplier=1 \ +step +inv +vgridshift +grids=egm96_15.gtx +multiplier=1 \ +step +proj=longlat +datum=WGS84 Or in Python via pyproj: from pyproj import Transformer t = Transformer.from_pipeline(""" +proj=pipeline +step +inv +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +step +hgridshift +grids=OSTN15_NTv2_OSGBtoETRS.gsb +step +vgridshift +grids=OSGM15_GB.gtx +multiplier=1 +step +inv +vgridshift +grids=egm96_15.gtx +multiplier=1 +step +proj=longlat +datum=WGS84 """) lon, lat, h_egm96 = t.transform(easting, northing, h_odn) Note that there is no direct ODN to EGM96 grid -- the pipeline goes via ETRS89 ellipsoidal height as an intermediate step, which is why both OSGM15 and egm96_15.gtx are needed. --- On Q1 (what goes in ele): I think your instinct is right. In practice, the vast majority of existing OSM nodes for peaks and trig points in the UK are tagged with ODN values, because that is what OS data and the trig point community have always published. The wiki's EGM96 guidance reflects a global standard that does not match UK practice. This import seems like a good opportunity to be explicit about which datum is in use. One approach would be to use ele:local for the ODN value and ele for the EGM96-converted value where you can derive it. If the conversion proves impractical at scale, tagging ODN into ele with a clear data source note is arguably better than leaving the field empty or converting imprecisely. It might also be worth proposing a ref:datum tag (e.g. ref:datum=ODN) to make the vertical datum machine-readable, though I am not aware of that being established OSM practice -- it could be worth raising on the wiki or the tagging list if others think it useful. --- On Q2 (three decimal place precision): I would say go ahead and retain the precision. Trig pillars are geodetic control points -- their heights are known to millimetre accuracy by design. Three decimal places in ele:local is appropriate and informative, and is quite different from estimating a mountain summit to the nearest metre. The integer-only convention in existing OSM data reflects the imprecision of those source data, not a deliberate policy. --- Hope that helps move things forward -- the slippy map preview looks great. On Mon, Jun 22, 2026 10:22 PM, [email protected] wrote: > Send Talk-GB mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.openstreetmap.org/listinfo/talk-gb > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Talk-GB digest..." > Today's Topics: > > 1. Re: Revisiting OS trigpoints - viability of importing? > (Graham Whaley) > 2. Re: Revisiting OS trigpoints - viability of importing? > (Graeme Fitzpatrick) > > > > ---------- Forwarded message ---------- > From: Graham Whaley <[email protected]> > To: [email protected] > Cc: > Bcc: > Date: Mon, 22 Jun 2026 17:05:42 +0100 > Subject: Re: [Talk-GB] Revisiting OS trigpoints - viability of importing? > Hi, > well, I was just about to pull the trigger and upload the import wiki > page and send the formal import plan email when I (possibly stupidly!) > thought to myself 'better just check what really goes in the "ele" tag'... > well, that opened a can of worms! > Seems that although it is detailed on the wiki that it should be in the > form of EGM96 in metres (https://wiki.openstreetmap.org/wiki/Key:ele). > And what I currently have from the OS trig data is I believe OS ODN ( > https://docs.os.uk/more-than-maps/a-guide-to-coordinate-systems-in-great-britain/ordnance-survey-coordinate-systems/ordnance-datum-newlyn > ). > > It seems there is a long-ish history debating what should go in 'ele' - > for instance one thread with a number of other relevant references buried > in it: > https://community.openstreetmap.org/t/irish-mountains/65758/9 > > I guess I have a couple of questions: > Q1. Is there a consensus in the UK as to what should be put in 'ele'. I > have a feeling most if not all current OSM nodes (for peaks for instance as > well as trigpoints) will be in ODN metres. > Q2. Is there any problem with me adding elevations with three decimal > place precision? That is the data I have, but it seems the majority (but by > no means all) current node data is integer only. > > And a statement: > S1. At a minimum I'd intend to put the ODN in 3 decimal point metres into > the 'ele:local' tag, as also recommended on the 'ele' wiki page > > And an observation: > I still see a few 'ele's with 'ft' in them - I'll see if I can add that > to my list of things to potentially clean up on the way past... > > Right, well, I'm currently struggling to find a method to actually convert > ODN -> EGM96 - I'll keep looking at that. If anybody just happens to have a > tool, or PROJ/GDAL command or some R/sf code with appropriate EPSG > codes...? I've got the OS data loaded as EPSG:7405 which gives me 'OSGB36 + > ODN', but am struggling to get that into 'WGS84 + EGM96' if that makes > sense. > > Oh, if anybody wants a visual preview of the data I now have a slippy map > up and running: > https://grahamwhaley.github.io/OSM_UK_trigpoints/web/index.html > > thanks, > Graham > > > On Tue, 16 Jun 2026 at 17:35, Graham Whaley <[email protected]> > wrote: > >> Hi all, >> thanks to everybody for the feedback and questions. I didn’t hear any >> objections, so I’ll plough on with the work. I’ve written out most of the >> wiki page (locally) and am preparing the official email to the list (as per >> the import guidelines) to formally lay out details and kick off the 14 day >> review period. I’ve been refining the code and am just tickling a slippy >> map to show the current status of the data (HTML and JS not really my >> thing, but I think I can hack something together with leaflet…). Once >> things here are fairly stable I’ll load up the wiki page and send the >> formal email. >> >> Many thanks, >> Graham >> >> >> > > > ---------- Forwarded message ---------- > From: Graeme Fitzpatrick <[email protected]> > To: Graham Whaley <[email protected]> > Cc: [email protected] > Bcc: > Date: Tue, 23 Jun 2026 07:20:15 +1000 > Subject: Re: [Talk-GB] Revisiting OS trigpoints - viability of importing? > For interest's sake, what's the actual difference like when you convert > ODN -> EGM96? (or vice versa?) > > Thanks > > Graeme > > > On Tue, 23 Jun 2026 at 02:08, Graham Whaley <[email protected]> > wrote: > >> Hi, >> well, I was just about to pull the trigger and upload the import wiki >> page and send the formal import plan email when I (possibly stupidly!) >> thought to myself 'better just check what really goes in the "ele" tag'... >> well, that opened a can of worms! >> Seems that although it is detailed on the wiki that it should be in the >> form of EGM96 in metres (https://wiki.openstreetmap.org/wiki/Key:ele). >> And what I currently have from the OS trig data is I believe OS ODN ( >> https://docs.os.uk/more-than-maps/a-guide-to-coordinate-systems-in-great-britain/ordnance-survey-coordinate-systems/ordnance-datum-newlyn >> ). >> >> It seems there is a long-ish history debating what should go in 'ele' - >> for instance one thread with a number of other relevant references buried >> in it: >> https://community.openstreetmap.org/t/irish-mountains/65758/9 >> >> I guess I have a couple of questions: >> Q1. Is there a consensus in the UK as to what should be put in 'ele'. I >> have a feeling most if not all current OSM nodes (for peaks for instance as >> well as trigpoints) will be in ODN metres. >> Q2. Is there any problem with me adding elevations with three decimal >> place precision? That is the data I have, but it seems the majority (but by >> no means all) current node data is integer only. >> >> And a statement: >> S1. At a minimum I'd intend to put the ODN in 3 decimal point metres >> into the 'ele:local' tag, as also recommended on the 'ele' wiki page >> >> And an observation: >> I still see a few 'ele's with 'ft' in them - I'll see if I can add that >> to my list of things to potentially clean up on the way past... >> >> Right, well, I'm currently struggling to find a method to actually >> convert ODN -> EGM96 - I'll keep looking at that. If anybody just happens >> to have a tool, or PROJ/GDAL command or some R/sf code with appropriate >> EPSG codes...? I've got the OS data loaded as EPSG:7405 which gives me >> 'OSGB36 + ODN', but am struggling to get that into 'WGS84 + EGM96' if that >> makes sense. >> >> Oh, if anybody wants a visual preview of the data I now have a slippy map >> up and running: >> https://grahamwhaley.github.io/OSM_UK_trigpoints/web/index.html >> >> thanks, >> Graham >> >> >> On Tue, 16 Jun 2026 at 17:35, Graham Whaley <[email protected]> >> wrote: >> >>> Hi all, >>> thanks to everybody for the feedback and questions. I didn’t hear any >>> objections, so I’ll plough on with the work. I’ve written out most of the >>> wiki page (locally) and am preparing the official email to the list (as per >>> the import guidelines) to formally lay out details and kick off the 14 day >>> review period. I’ve been refining the code and am just tickling a slippy >>> map to show the current status of the data (HTML and JS not really my >>> thing, but I think I can hack something together with leaflet…). Once >>> things here are fairly stable I’ll load up the wiki page and send the >>> formal email. >>> >>> Many thanks, >>> Graham >>> >>> >>> _______________________________________________ >> Talk-GB mailing list >> [email protected] >> https://lists.openstreetmap.org/listinfo/talk-gb >> > _______________________________________________ > Talk-GB mailing list > [email protected] > https://lists.openstreetmap.org/listinfo/talk-gb >
_______________________________________________ Talk-GB mailing list [email protected] https://lists.openstreetmap.org/listinfo/talk-gb

