Intertidal Area Import - How to tag?

Here in Norway we’re blessed with a mapping authority that provides a lot of data under licences that imply it can be imported into OSM. One such dataset describes what the mapping authority calls the intertidal zone. OSM also supports mapping of a similar concept, using the tagging tidal=yes, along with some form of landcover.

Unfortunately, there isn’t a complete match between the definitions used in OSM and the definitions used by the norwegian mapping authority. The upper limit, i.e. the coastline is identically defined, but the area considered for import into OSM reaches between 75 cm and 120 cm deeper into the sea that the normally accepted definition for the intertidal zone in OSM, hence, it is also larger than it would be expected to be in OSM. I can go into the reasons for this if anyone is interested, but it boils down to question of maritime safety.

This gives us a couple of options:

  1. We can choose not to upload such data because it isn’t a perfect fit for tag definitions in use within OSM.
  2. We can import the area tagged as tidal=yes, disregarding the fact that parts of this area dosen’t fit the definition, and will be less exposed to the air than what this tag requires. This also forgoes rendering of the areas as we don’t have an appropriate natural=* tag to combine it with.
  3. We can tag the area as natural=reef, which is also not a perfect fit. In the context of OSM we use this to describe structures strictly below the intertidal zone. Since a part of this area reaches all the way up to the coastline, this is problematic. This, however, renders nicely, without having to specify landcover in further detail.
  4. We can invent a new tag that is a generalisation (in the sense of a superset) of the two preceding options. The new tag would imply “this is at least natural=reef, but could also be tidal=yes in places”.

I’m interested in importing this data, but I need help and guidance from the community in terms of which option to go for. Of course combinations of options are also possible. If I go for option number 4, I’d still consider double-tagging with natural=reef while the new tag gains acceptance, in order to have at least something rendering in carto. Although this could be described as tagging for the renderer, I think doing so actually makes sense from a maritime safety perspective, as it effectively warns about a navigational hazard that is real.

So, for anyone who cares: What would you do in my situation?

1 Like

Using natural=reef for all intertidal areas seems like mismatching meaning of the tag.

Tag:natural=reef - OpenStreetMap Wiki describes it as below water level also at low tide and only “small parts of reefs may be exposed at low tide”.

Yes, this is in conflict with the meaning of the tag. That is the problem I’m highlighting. It would be problematic to use for the full zone. The reason I’m considering it is because the alternatives aren’t exactly ideal either, so it’s a question of which tradeoffs one is willing to make.

1 Like

inventing a new tag is a typical solution for cases where no tag applies

though this seems like a terrain shape data so maybe it simply should not be imported to OSM

Using natural=reef is a definitely a bad idea and would damage OSM data. Even if it would get nice rendering in a specific map style.

1 Like

inventing a new tag is a typical solution for cases where no tag applies

Maybe inventing a new tag is the way to go, then. Any opinion on what it should look like?

though this seems like a terrain shape data so maybe it simply should not be imported to OSM

If you look deeply enough, a lot of the data in OSM is terrain shape data. The coastline is. Peaks are. Cliffs are. Why is this data in OSM? Because it has a practical impact on navigation. The presence of a peak tells you that you’ll probably find a nice view. The coastline tells you whether or not you should expect to need a boat. A cliff tells you that you might need a rope.

Similarly, the intertidal zone is interesting, on a fundamental level, to anyone traveling on the seas. And, particularly, this extended definition of the intertidal zone, that the Norwegian Mapping Autority is using, is even more useful, because it includes some margin of error. This zone basically equates to the area in which you risk hitting bottom, even in a tiny, low draft boat, given that you’re out on the ocean in the wrong conditions. It translates to “stay away unless you know exactly what you’re doing”.

Feel free to call it terrain shape data, but at least to me this seems significantly useful for a project like OSM.

Using natural=reef is a definitely a bad idea and would damage OSM data. Even if it would get nice rendering in a specific map style.

Could you explain in some more detail what you mean by damaging data in this context?

1 Like

@imagico Sorry for cold-tagging you. I just stumbled upon your incredibly nice work with regards to rendering of underwater features, as seen here: sand vs shoal in tidal range · Issue #4513 · gravitystorm/openstreetmap-carto · GitHub

I though maybe you might have interest/opinions on this matter.

Would it make sense to you to render some new tag that implies that an area is “shallow enough that it is definitely to be considered a reef, but might be even more shallow”, for instance?

Reefs are for hazards that remain submerged. By definition the intertidal zone doesn’t remain submerged. I have also seen this tag misused for subsea banks that aren’t really distinct hazards but show up as sandy on satellite imagery.

I would also like a way of tagging low water, at the moment I tend to drag the bottom of the beach out to low water, but this only applies where its sandy. I know of a few areas that empty quite a lot when the tide is out. The tidal flat page suggests natural=* + tidal=yes but this seems a bit patchy for something as continuous as the mean low water line.

1 Like

Reefs are limestone “rocks” created coral in open ocean so by definition would have nothing to do with a coastline. Tidal waters might be more relevant but still are a special case. One that already has a wiki page you can read. In generally, OSM is not interested anything past what would be considered the normal shoreline.

I though I might as well throw out the definition of the intertidal area according to the Norwegian Mapping Authority and describe how it might differ from what is currently used in OSM, just to give some context to all of this, and give you all a better feel for what this might mean in practice.

According to the the NMA, the zero meter contour (the intertidal boundary) is the:

boundary for intertidal area, curve with depth value of 0.5 m below K0, the zero level of the nautical chart Note: Corresponds to DEPCNT in S-57 -57 with standard depth value of 0.5 (m)

So, in summary, this line is intended to visualise the zero level of the nautical chart, and is defined 0.5 meters lower than that, presumably to have some margin of error. This margin of error is important because one wants to be certain that one doesn’t promote areas above the K0 level as below it by accident. I’ll come back to why this is important.

Then, in order to understand what this line represents, one needs to first understand how K0, the zero level of the nautical chart is defined. The NMA doesn’t have an english-language source on this that I could find, so I’m translating from The Norwegian Maritime Pilot, p. 15:

Reference level for depths, Sea chart zero
The zero level in sea charts is, for safety reasons, set so low that the water level rarely falls below this level. On 1 January 2000, most of the North Sea countries introduced the Lowest Astronomical Tide (LAT) as reference level for depths in the charts. In areas where tidal variations are small in relation to the meteorological contribution to the water level, the new chart zero can be set lower than LAT. In Norway, this particularly applies to the southern coast and the Oslofjord, where the water level for long periods (at times 1–2 weeks) can lie lower than LAT. For this reason, chart zero is placed 30 cm lower than LAT in the inner Oslofjord (within Drøbaksundet) and 20 cm lower than LAT along the coast from the Swedish border to Utsira. In the rest of the country, Svalbard included, chart zero coincides with LAT.

To summarise, K0 is basically LAT, with an additional safety margin in areas where needed, such that the practical meaning of K0 becomes “the tide will rarely fall below this level”. The zero contour slaps another 0.5 meters of safety margin on top of this, so that one avoids displaying false negatives on a map, and presumably because only ACVs has zero draft.

The significance of this definition, including the added safety margins, is this: If you’re traveling in a low-draft vessel, and you stay out of the area outlined, you should be confident that the probability of grounding is acceptably low, even at low tide. Sailing within this area is still possible, but you risk hitting bottom, even in a low-draft vessel.

It is precisely because of the practicality of this definition with regards to navigational purposes that I feel it is deserving of inclusion in OSM somehow.

EDIT: I forgot to describe how this differs from OSM. Here it comes.

The wiki article on the tidal key claims:

Areas in the tidal range between mean high water springs (natural=coastline) and mean low water springs can be tagged with tidal=yes to explicitly indicate this.

When comparing the zero contour line (including the one or two safety margins, depending on area), to the MLWS level, one discovers that it is about 75 - 120 cm deeper, varying along the coast.

An open question is how set in stone this definition used in OSM is, and how it is motivated. Defining the lower bound of the tidal zone isn’t straight forward, and as the reasoning above shows, it might be set differently depending on purpose. I guess what I want to import can be thought of as “the intertidal zone for navigational purposes”, whereas, from my understanding, MLWS could be more important from the perspective of land ownership.

Reefs are for hazards that remain submerged. By definition the intertidal zone doesn’t remain submerged.

I understand this point, and recognise that it is presented on the wiki. The reasons I’m considering deviating from it are the following:

  • The OSM wiki article has a loophole:

    However note that small parts of reefs may be exposed at low tide, but not the entire feature. Reefs are never exposed at high tide.

    Although I’m only mapping a small part of the area not exposed by the low tide (according to the assumed OSM definition of low tide), it follows that this is a structure that extends deeper than what I’m mapping. Hence, it remains true that only a small part of the feature reaches up into the intertidal zone, even though this is the part dominant in the actual mapped area. I’m also not mapping anything that rises above the high tide, as that is considered inside the coastline.

    There are strong similarities between what I’m doing here and what one might do when mapping reefs from aerial or satellite photography. Unless the imagery is perfectly timed at MLWS, nobody will be able to know whether what they map is intertidal or not. Some of it will be, some of it won’t. The same is true for me. The only difference is that I know that parts of the area is definetly intertidal, just not exactly which parts.

    I feel like my interpretation here is hovering somewhere somewhere in the borderline of what might be OK. It’s a very liberal interpretation, yes. But also not entirely crazy, if I might say so myself. Particularly, if natural=reef is combined with some other clarifying tag, indicating the intended interpretation, it isn’t clear to me that it would be such a horrible thing.

  • It is already clear from the reef=* article that the tag does not just refer to coral reefs. Hence, I don’t feel like it is an issue that what I’m mapping is of varied surface type and origin.

  • The wikipedia article on reefs define them as:

    A reef is a ridge or shoal of rock, coral or similar relatively stable material, lying beneath the surface of a natural body of water.

    This is a pretty loose definition, not fundamentally inconsistent with the dataset in question. The article also states that:

    Rocky reefs are underwater outcrops of rock projecting above the adjacent unconsolidated surface with varying relief. They can be found in depth ranges from intertidal to deep water […].

    I grant that it isn’t entirely clear, but I read this as “from and including”. Partly because there’s a whole subtype of islands existing within reefs.

  • In summary, the only cases where I feel I might truly be overstepping these definitions are for areas that are neither relatively stable, nor extending into the depths, i.e. a small, contained, sandy or muddy area here and there. But from the perspective of navigational safety such false positives are arguably preferrable over the alterntive, and can be refined away at a later point.

The tidal flat page suggests natural=* + tidal=yes but this seems a bit patchy for something as continuous as the mean low water line.

I mean, I don’t mind people doing this. I think it is great if people go about mapping the landcover types in the intertidal zone. But, the issue is, it’s easier to know the full extent of the intertidal zone than it is to know every piece of landcover within it. As evident in this dataset. Also, the intertidal zone is significant mostly for reasons that don’t have to do with the specifics of its landcover, like navigational safety.

This is a pretty narrow definition. Do you have a source for it?

Are you referring me to the tidal article? If so, I’ve read it, yes.

This sounds like a strong statement, but it isn’t clear to me exactly what you mean by it.

  • Should I interpret “OSM” as the community, the foundation, a subset of the community, or, is this more of a personal opinion?
  • By “not interested” do you mean:
    • “We don’t really care what you do. Figure it out yourself”, or;
    • “We strictly don’t want people to map anything beyond the shore. Please don’t contribute to this activity.”

The wiki contains entire collections of articles dedicated to marine mapping, so, at least, I struggle to interpret your intended meaning in the most negative sense.

I believe the term generally used in OSM for this sort of thing is troll tagging. You are proposing taking a tag for something that is generally not exposed and using it to tag just the bits of something that do get exposed with an additional tag to mean “but not really”. The “small parts” statement avoids mappers from having to carve out a natural=* section and creating a multi-polygon for the remaining reef.

This varies based on region. Where I grew up there is often a weed line that give a fairly clear indication of how far up the beach the water reached and if the imagery providers are all using different snapshots you can often get a feel for where the top is. Some of us also like to walk the tidal bits and have gps traces. In any case inadvertent inaccuracy isn’t really an excuse for a deliberate mistagging.

Coral reefs confuse the issue as it causes some to call all places with the presence of coral “reefs” even when they are not hazardous and so not really reefs in the boating sense. In those cases they’d be more aptly tagged as some sort of natural=* + subsea=* and/or the appropriate seamark.

Inadvertent second part, clicked on reply rather than quote:

This is why I think we need a new tag for the low water mark if no rare “in use” ones come out of the woodwork, if we ever successfully mapped all of it we would be far better off with a tag that doesn’t require multi-polygons to exclude the current natural=coastline.

The big caveat though is that OSM generally discourages people from using OSM for applications where a bad map could cause someone to get hurt so if “navigational safety” were someone’s concern a more authoritative source should probably be used.

After having read the article you refer to, and having read more about reefs, I can’t say my impression is that it applies in this case. It is stated that:

In general, any tag that must be processed to avoid serious misinterpretation of the feature is a trolltag.

So, the question is; would what I propose lead to any serious misinterpretation? After giving it some honest consideration, I’m leaning towards a no.

Here’s my take:

  1. The possible extent and consequences of misinterpretation are very small. If you, as a data consumer, adhere to the strictest possible understanding of the natural=reef tag, that is, understanding the tag as “always fairly solid, always below MLWS”, you will be mislead in the sense that you might observe exposed land in an area where you did not expect to see exposed land. Does this matter in any practical sense? I’d argue that it doesn’t. A reef is still a danger area, even if submerged, so you shouldn’t be more likely to navigate into the area just because the dangers stay submerged. In general, I struggle to find any practical use case where mistaking an intertidal area for a barely submerged area would matter much.
  2. Also, since the definition, as it stands on the wiki, is already impure, and allows for intertidal sections, you already can’t use these areas for any purpose where this distinction matters.
  3. To me, it hardly seems like there is consensus that natural=reef should not contain intertidal areas.
    • Although the wiki tries to state that this is how it is, there is not given any reasoning for it, beyond the fact that one could use natural=shoal or similar where one knows an area to be above MLWS.

    • One of the prime examples in the wiki article, Bikini Atoll, is used exactly as I propose, with the reef going all the way up to the coastline.

    • There is an inconclusive discussion on the matter on the article talk page, where also no good arguments are put forward for this limitation.

    • When the feature was proposed, it seems to have been defined as

      A reef is an area of sea bed which can be made from rock or possibly a sandbar. It is usually just beneath the surface and may be exposed at low tide levels.

      This is perfectly in line with what I intend to use it for, and nowhere can I find a discussion that counters this definition. This leads me to conclude that the reason the wiki states otherwise at the moment is simply because someone at some point thought it would be a good idea to unilaterally move away from this definition.

This is stretching it a bit, I feel. Note that the area I’m proposing to import goes down to around 1 meter below MLWS. In terms of area this can be pretty significant. This additional area, beyond the MLWS-line, is truly natural=reef, no matter how strictly you decide to define it.

Not sure I understand what you’re saying with this. Here it seem like you’re talking about the ease of identifying the high tide line, which indeed can be fairly simple. I’m talking about identifying the low tide line, fore some specific definition of it. This is a lot harder to do from aerial imagery, if possible at all.

Here I absolutely agree with you. What I’m arguing is that it might be perfectly fine to consider the intertidal area as a reef in the boating sense, where no further detail about it is accessible. It is below the water line (at high tide), and it is so by a small margin, and thus serves as a hazard to boats.

Here, I’m not arguing that you should tag any part of the intertidal zone as a reef if you a) know that a particular part is above MLWS, b) know the surface of it. I’m arguing that you’re not doing something wrong by using natural=reef if you don’t know a) or b).

I don’t mind this at all. Some have already been proposed. See:

These aren’t a perfect fit in this case, because what I’m proposing to import is techically slilghtly below low tide, but I would presumably tag the lower bound of the area considered for import with some info about what if represents. Perhaps depth:lat=0.5, following the pattern of specifying datum-specific elevations in a similar way.

The fact that it shouldn’t be used for “navigational safety” doesn’t stop us from mapping with this in mind. On land we map natural=cliff, we add sac_scale=* to paths and so on. I don’t think this needs to be different in the marine environment.

Yes!!! My bigest problem with thos whole discussion is that OSM assumes a static water level for bodies of water. Even rivers that are dry for part of the year are only tagged “intermittent” and might include a value stating the schedule of wet and dry seasons. I have never OSM exposed based on daily tidial changes. Maybe mark where low and high tidail fall.

Because that would be using tag in conflict with the meaning of the tag ( see this post )

@Mateusz_Konieczny The more I read, the less I agree with my previous statement. I’m starting to think that it wouldn’t be in conflict after all (see this post). My earlier statement came from simply reading the wiki article superficially and uncritically.

1 Like

A small update. I’ve taken the time to investigate how the natural=reef tag is used in practice, since this would help determine how the community actually interprets the tag in practice. To me it seems like there is ample precedent for what I’m proposing. A selection from around the world:

I’ll expand this list a bit more, but there’s a lot of cases…

To be blunt, I don’t think it is in most cases. To reuse two of your earlier quotes:

To summarise: a “hard bit” that sticks up from a surrounding area that is lower.

If it’s not a hard bit then it’s a shoal, and if it’s just a patch of terrain on the normal gradual transition to the coastline then it’s not mostly surrounded by lower bits and it’s not really a reef.

Yes, the world is messy and an atoll that started as a reef and is now has some dry land might still have tagging for the “wet bits” that calls it a reef, but it meets the rest of the description quite well unlike, for example, most of the coastline of one of the most mountainous parts of Europe.

OSM has flexible, extensible tagging, you do not need to repurpose another tag for this when it doesn’t fit well.

Even if you somehow identify this line what are you going to do with it. Are you going to add that line around Norway or each of its many beach like slopes? You do realize that even the low and high tide level changes by atleast a meter during a month. There are larger swings throughout the year due to lunar cycles.

I tend to agree that tagging as shoal is better if you know the area is above MLWS and soft. But, I also think that in the absence of information regarding “hardness”, such an area is best mapped as reef until more knowledge is gained. Searching for reef=sand on overpass seems to indicate that hardness is not a required feature of reefs.

I sort of sympathise with this point, but I also think that:

  1. The keel of your boat has no interest in this distinction at all when it impacts said patch.
  2. Accounting for this in a definitions just doesn’t work in practice, as you cannot determine in a non-arbitrary way at which scale something stops sticking up from the surrounding area and just becomes a slope. At one extreme (the one I’m proposing) every continent must be considered “sticking up from the surrounding area”. At the other end, you can’t tag any seabed as reef unless its slope leads to a point that isn’t over water, which, as I’ve now learnt, will rule out a lot of the currently tagged reefs. If you want to be somewhere in the middle, you have to decide on somewhere to make the cut, and I don’t think that will be a pleasant task.

Have you seen the Norwegian coastline? It’s littered in smaller and larger islands protruding from the surrounding area. Would you be ok if I tagged the areas surrounding islands as natural=reef, but avoided the mainland coastline?

I’m very much open to suggestions. Do you have a preference?

I’ve also played with the idea of using the hazard tag, for instance.

I don’t have to identify said line. As mentioned, the line is defined in a dataset of quite high accuracy. The plan would be to tag the area between this line and the coastline with something that makes it sufficiently clear that this is an area of water that might either be shallow or not water at all, depending on time and weather. I/we just need to make a decision about how this tagging will look like first.