mwgg / Airports

A JSON database of 28k+ airports with ICAO/IATA codes, names, cities, two-letter country identifiers, elevation, latitude & longitude, and a timezone identifier
MIT License
488 stars 174 forks source link

Duplicate IATA codes #146

Open alexander-san opened 2 weeks ago

alexander-san commented 2 weeks ago

Problematic: Duplicate IATA codes

As you are aware we use ICAO codes as keys, so this is the only uniqueness we ensure. Currently, unfortunately, we have 67 duplicate IATA codes:

IATA Code: BWL is used by the following ICAO codes: 6OK6, KBKN
IATA Code: ZEL is used by the following ICAO codes: CBBC, CYJQ
IATA Code: YLK is used by the following ICAO codes: CYLS, VOYK
IATA Code: ZSN is used by the following ICAO codes: CZSN, EDOV
IATA Code: SRP is used by the following ICAO codes: ENSA, ENSO
IATA Code: CZW is used by the following ICAO codes: EPCH, EPRU
IATA Code: MEZ is used by the following ICAO codes: FAMH, FAMS
IATA Code: BEM is used by the following ICAO codes: FEFL, GMMD
IATA Code: ZKP is used by the following ICAO codes: FLKE, UESU
IATA Code: LUN is used by the following ICAO codes: FLKK, FLLS
IATA Code: NLA is used by the following ICAO codes: FLND, FLSK
IATA Code: NZA is used by the following ICAO codes: FNZG, SPZA
IATA Code: KMN is used by the following ICAO codes: FZSA, FZSB
IATA Code: CAR is used by the following ICAO codes: KCAR, SUCM
IATA Code: BGQ is used by the following ICAO codes: KE41, PAGQ
IATA Code: MER is used by the following ICAO codes: KMER, SUME
IATA Code: MTW is used by the following ICAO codes: KMTW, WAOM
IATA Code: SQL is used by the following ICAO codes: KSQL, PASL
IATA Code: CDT is used by the following ICAO codes: LECH, LECN
IATA Code: MCU is used by the following ICAO codes: LFBK, LFLT
IATA Code: BVE is used by the following ICAO codes: LFBV, LFSL
IATA Code: ORE is used by the following ICAO codes: LFOJ, LFOZ
IATA Code: ZIA is used by the following ICAO codes: LIDT, UUBW
IATA Code: MIP is used by the following ICAO codes: LLMR, LLRM
IATA Code: CAT is used by the following ICAO codes: LPCS, MYCB
IATA Code: BTZ is used by the following ICAO codes: LTBE, VTSY
IATA Code: EPS is used by the following ICAO codes: MDAB, MDPO
IATA Code: SNX is used by the following ICAO codes: MDSB, OIIS
IATA Code: XPL is used by the following ICAO codes: MHPR, MHSC
IATA Code: BLB is used by the following ICAO codes: MPHO, MPPA
IATA Code: CSC is used by the following ICAO codes: MRCA, MRMJ
IATA Code: GBI is used by the following ICAO codes: MYGM, VOGB
IATA Code: AKW is used by the following ICAO codes: OIAG, PAKW
IATA Code: BBL is used by the following ICAO codes: OINB, YLLE
IATA Code: MNH is used by the following ICAO codes: OORQ, VCCH
IATA Code: ISB is used by the following ICAO codes: OPIS, OPRN
IATA Code: MDO is used by the following ICAO codes: PAMD, SUPE
IATA Code: PBV is used by the following ICAO codes: PAPB, SWPG
IATA Code: TKJ is used by the following ICAO codes: PATJ, PFTO
IATA Code: PIF is used by the following ICAO codes: RCDC, RCSQ
IATA Code: GES is used by the following ICAO codes: RPMB, RPMR
IATA Code: CGY is used by the following ICAO codes: RPML, RPMY
IATA Code: TAG is used by the following ICAO codes: RPSP, RPVT
IATA Code: VDC is used by the following ICAO codes: SBQV, SBVC
IATA Code: FRT is used by the following ICAO codes: SCEV, SCFI
IATA Code: MMP is used by the following ICAO codes: SKIO, SKMP
IATA Code: SRE is used by the following ICAO codes: SLAL, SLSU
IATA Code: LVB is used by the following ICAO codes: SNLB, SSLI
IATA Code: FEJ is used by the following ICAO codes: SNOU, SWFJ
IATA Code: AIR is used by the following ICAO codes: SSOU, SWRP
IATA Code: CNN is used by the following ICAO codes: UELL, VOKN
IATA Code: SIP is used by the following ICAO codes: UKFF, URFF
IATA Code: CEE is used by the following ICAO codes: ULBC, ULWC
IATA Code: KSQ is used by the following ICAO codes: UTSK, UTSL
IATA Code: KMW is used by the following ICAO codes: UUBA, UUBD
IATA Code: ISK is used by the following ICAO codes: VANR, VAOZ
IATA Code: KTI is used by the following ICAO codes: VDKT, VDTI
IATA Code: VNS is used by the following ICAO codes: VEBN, VIBN
IATA Code: KNU is used by the following ICAO codes: VECX, VIKA
IATA Code: PKR is used by the following ICAO codes: VNPK, VNPR
IATA Code: KKM is used by the following ICAO codes: VTBH, VTBL
IATA Code: BJW is used by the following ICAO codes: WATB, WRKB
IATA Code: PDG is used by the following ICAO codes: WIEE, WIPT
IATA Code: ACF is used by the following ICAO codes: YBAF, ZWAL
IATA Code: GTS is used by the following ICAO codes: YGDW, YTGT
IATA Code: SXE is used by the following ICAO codes: YMES, YWSL
IATA Code: JNG is used by the following ICAO codes: ZLJN, ZSJG

@mwgg I suggest after this has been fixed that we implement a check that runs as github action similar to the existing checks and will alert us if inadvertently a duplicate IATA code has been entered. I retrieved these results by converting our .json file into a dict and then printing the IATA codes with multiple ICAO occurences.

mwgg commented 2 weeks ago

I've added additional checks (in a separate branch for now, until these are resolved), and a quick run did confirm 67 duplicate entries, so that will be enforced in the future.