How to describe TMZs in OpenAIR (Extended)

63 views
Skip to first unread message

Ronald Niederhagen

unread,
May 4, 2025, 6:36:41 AMMay 4
to OpenAIP - Aviation Data Platform
Looking at OpenAIR (Extended) airspace files for a number of countries (DE AT CH CZ FR IT PL SI BE NL) I see that Transponder Mandatory Zones (TMZ) are listed with different airspace Class.
In Germany all TMZs are "Class E", which is reasonable since this requires Visual Flight Rules.
In Austria some TMZs are "Class G", which might be OK, too.
But I see some "Class Unclassified" in other countries. What does that mean??

Is there a "correct" way to describe TMZs??

The reason I'm asking:
In XCSoar you want to see TMZs on the map and get warnings if you approach one.
At the same time you don't want to get warnings from all Class E, Class G or Class Unspecified airspaces.
Should XCSoar just be looking at "Type TMZ" and ignore Class to determine display and warning behavior?

webmaster

unread,
May 4, 2025, 7:21:17 AMMay 4
to OpenAIP - Aviation Data Platform
Hi Ronald,

are you by any chance involved with XCSoar and data sources? If so, I would like to have a private more in-depth chat on this topic if possible. There is a big update to the OpenAIR format incoming. This still takes a while to be implemented but I wanted to create a related ticket on XCSoar Github issue tracker today regarding this issue.

Cheers,

Stephan

Frank van der Hulst

unread,
May 5, 2025, 12:43:06 AMMay 5
to OpenAIP - Aviation Data Platform
Hi Ronald,
The precise function of AC and AY is not very clear in XCSoar.

By coincidence, I am currently looking at XCSoar's "type" and "class" in the source code to try to figure out why some of my airspaces are showing up as "Unclassified" and "Unknown". FWIW,  below is an excerpt from AirspaceParser.cpp. These are the strings that you can use on the AY and AC lines in airspace.txt. The AY line is only processed if the AC line has a valid ICAO class (A, B, C, D, E, F, G) or "Unclassified". So you can have class E and type TMZ (AC E, AY TMZ), or class G and type TMZ (AC G, AY TMZ), or any other combination of a valid ICAO class and a type. What you *can't* have is (say) AC Q, AY TMZ... in this case the AY is ignored. Possibly AC TMZ, AY TMZ might work, where you're setting the *class* to the non-ICAO class TMZ, which I think would probably generate warnings, etc.

But my advice would be to use the AC line only for ICAO classes, and Unclassified if there is no ICAO class. Then use the AY line for all the different types of airspace like Restricted, TMZ, etc.

To answer your question about alerting... in XCSoar you can set up alerting based on either the class *or* the type. So you in Map Display/Airspace you can click "Filter" and then enable "Warn" on "Transponder Mandatory Zone" and disable it for Class E, F, G, which I think should achieve what you want. But do try it out first, because I haven't actually tested it yet.

  { "R", RESTRICTED },
  { "Q", DANGER },
  { "P", PROHIBITED },
  { "CTR", CTR },
  { "A", CLASSA },
  { "B", CLASSB },
  { "C", CLASSC },
  { "D", CLASSD },
  { "GP", NOGLIDER },
  { "W", WAVE },
  { "E", CLASSE },
  { "F", CLASSF },
  { "TMZ", TMZ },
  { "G", CLASSG },
  { "RMZ", RMZ },
  { "MATZ", MATZ },
  { "GSEC", WAVE },
  { "UNCLASSIFIED", UNCLASSIFIED },
  { "RESTRICTED", RESTRICTED },
  { "TMA", TMA },
  { "TRA", TRA },
  { "TSA", TSA },
  { "FIR", FIR },
  { "UIR", UIR },
  { "ADIZ", ADIZ },
  { "ATZ", ATZ },
  { "AWY", AWY },
  { "MTR", MTR },
  { "ALERT", ALERT },
  { "WARNING", WARNING },
  { "DANGER", DANGER },
  { "PROHIBITED", PROHIBITED },
  { "PROTECTED", PROTECTED },
  { "HTZ", HTZ },
  { "GLIDING_SECTOR", GLIDING_SECTOR },
  { "TRP", TRP },
  { "TIZ", TIZ },
  { "TIA", TIA },
  { "MTA", MTA },
  { "CTA", CTA },
  { "ACC_SECTOR", ACC_SECTOR },
  { "AERIAL_SPORTING_RECREATIONAL", AERIAL_SPORTING_RECREATIONAL },
  { "OVERFLIGHT_RESTRICTION", OVERFLIGHT_RESTRICTION },
  { "MRT", MRT },
  { "TFR", TFR },
  { "VFR_SECTOR", VFR_SECTOR },
  { "FIS_SECTOR", FIS_SECTOR },
  { "LTA", LTA },
  { "UTA", UTA },
  { "AIRSPACECLASSCOUNT", AIRSPACECLASSCOUNT }

Frank

Peter Kemme

unread,
May 5, 2025, 2:05:24 AMMay 5
to OpenAIP - Aviation Data Platform
Hi Ronald,
the different description of TMZ´s might come, because the provided airspace files are not always written in the "extended OpenAir format".
And for example the Netherlands AIP does give any airspace class of the TMZ´s, except for the "RMZ/TMZ North Sea area Amsterdam". This is class G.

In Germany the TMZ´s are all class E, except the TMZ/ATZ/RMZ of Egelsbach. This one starts at the ground and leads up to 1.500ft MSL. In this area is class G up to 1000ft AGL and above class E. The Elevation of EDFE is 385ft. So the TMZ/ATZ/RMZ airspace is a combination of G and E. And this is impossible to define in OpenAir -> class is "Unclassified"

Swiss has only 1 TMZ defined. In AIP and here in the database as class E.

Belgium and Czech does not have any TMZ at all.

Poland does not define any airspace class with the TMZ. But the TMZ´s are always identical to a TMA. And the TMA has a class for sure.

A very special airspace is set up in Turkey. They define TMA´s and CTR´s, but all without any airspace class. But they have not defined any TMZ so far.


regarding your question:
Should XCSoar just be looking at "Type TMZ" and ignore Class to determine display and warning behavior?

I would say yes. Just look at the type TMZ if you have no Transponder.


Peter

Ronald Niederhagen

unread,
May 5, 2025, 3:01:51 AMMay 5
to OpenAIP - Aviation Data Platform
Thanks, Peter and Frank!
This all aligns with my analysis and understanding of the (poorly defined) meanings of Class and Type. I had a long chat with Stephan yesterday and we came to the same conclusion:
The airspace filter (as far as Display and Warn is concerned) should look at ((Class == TMZ) or (Type == TMZ)) to figure out if it's a TMZ or not.
I think XCSoar's tries to handle OpenAir and OpenAir-Extended formats with the same code. There might be the issue.

Adriano Ellero

unread,
May 5, 2025, 4:41:47 AMMay 5
to Ronald Niederhagen, OpenAIP - Aviation Data Platform
Adriano Ellero

FI SPL - TMG IT.SFCL.22573
LAPL IT.FCL.22573
HT IT.DTO.060
FI VDS Avanzato 00077089





--
You received this message because you are subscribed to the Google Groups "OpenAIP - Aviation Data Platform" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openaip+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openaip/958733de-8288-453e-a8b0-435be3a91959n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages