The Y for Canada dates back to the first days of radio-telegraphy and some anal individual who thought that the ICAO designators and the IATA designators should have some co-relationship.



For all of the Canadian designators the four letter ICAO mnemonic starts with C. Makes sense and in the USA they all start with W or K (the same as radio and TV stations, see the link??)



Now the IATA designator is only 3 letters all starting with Y and try as they might the selection of the last two letters has some bearing on the local city.



Thus:

CYEG is ICAO for Edmonton

YEG is IATA

EG is airline shortform for the airport

EA is the city code that covers all of the airports.

They could not use ED for the international airport as it was already in use for the military airport.



In the states:

KLAX ICAO for Los Angeles

LAX is IATA

The origin of this designator is LA for Los Angeles and the X designator was added a long time ago to show that it started as a weather station.



Elsewhere in the world the ICAO and IATA designators have no relationship and can be verrrry confusing.

FRA is EDDF

LHR is EGLL

LGW is EGL???? (see I can't remember)



An airport or a country cannot come up with their own codes, they all must be co-ordinated with IATA and ICAO.