在maxmind数据库中获取区域名称

8 database attributes

我已经下载了数据库城市

`Country`  `City`        `AccentCity`  `Region`  `Population`  `Latitude`  `Longitude`
af     amir kalay       Amir Kalay      16        0             34.6333     70.3333 
ad     aixas            Aixas           06        0             42.4833     1.4667 
and lot more records
Run Code Online (Sandbox Code Playgroud)

我已经下载了另一个名为fips_10_4的数据库来显示城市的状态

country,Region,State
AD,02,"Canillo"
AD,03,"Encamp"
AD,04,"La Massana"
AD,05,"Ordino"
AD,06,"Sant Julia de Loria"
AD,07,"Andorra la Vella"
AD,08,"Escaldes-Engordany"
AE,01,"Abu Dhabi"
Run Code Online (Sandbox Code Playgroud)

现在,如果您认为Iam要求一些SQL查询,那么您错了.一切都工作正常但后来我才知道我从
Maxmind网站下载的文件不完整,因为'fips_10_4'没有国家'af'和地区'16'的记录.可以有人帮我解决这个问题并告诉我正确的地方下载这个完整的文件

Tel*_*leo 9

FIPS 10-4已发生变化.可以在此处找到更改列表.

特别是AF16(拉格曼)已改为AF35.MaxMind使用新列表.

如果您需要旧代码和新代码,可以在此处找到它们.您可以解析文件的内容,并将数据库表替换为其中的信息.


Ben*_*Ben 9

AF是阿富汗的两位数ISO代码(IS0-3166-2),ISO目前正试图以令人惊讶的244瑞士法郎(瑞士法郎)的价格出售.

正如Teleo所说, FIPS 10-4已在ITL网站上详细更改,Teleo提供的链接以更实用的格式提供数据.MaxMind还以更好的格式提供它.

我会非常谨慎地使用它.MaxMind和Teleo的链接都是由外部公司/个人免费提供的,这些公司/人员并不特别感兴趣保持其数据的最新状态.例如,我注意到以下国家遗失:

  • 南苏丹
  • Sint Martaan(荷兰部分)
  • 博内尔岛,圣尤斯特歇斯岛和萨巴岛
  • 库拉索

最后三个是荷属安的列斯群岛的一部分,于2010年10月10日解散.顺便说一句,荷属安的列斯群岛仍然存在一年半,但仍在此档案中.

所有这一切的原因?FIPS 10-4在大约十年前于2002年9月8日被撤销.引用ITS网站(我的重点):

"为了替代FIPS 10-4,INCITS L1正在与其他标准制定者和相关方协调,以确定处理拟议的美国国家标准草案或采用ISO标准是否是更好的前进方式.有关此活动状态的更多信息,请联系Rick Pearsall(Richard.A.Pearsall@nga.mil)."

一个快速的谷歌在2012年6月12日带来INCITS L1 下次会议的消息.我不会屏住呼吸.

不使用FIPS的另一个原因是它不太可能在美国之外使用很多(显然有些人仍然会使用它).虽然这可能无关紧要,但我将在未来证明您的系统是理所当然的.

我强烈建议使用ISO 3166标准.它是全球公认的国家数据分类方式.

CommonDataHub保持一个伟大的版本,其中包括国家和国家以同样的方式作为FIPS 10-4.他们还有其他ISO状态数据库,这些数据库更加规范化并值得研究.

它还保留了所有人口超过5,000的城市清单.

ISO在他们的网站上保留了 3166-2标准的副本,这将需要一些编码,以确保你总是更新,至少你会确定它是正确的.维基百科也非常擅长保持最新状态.由于问题告诉人们数据存在,它在南苏丹成立一个月后击败了CommonDataHub.

还有其他地方存在这些数据,这只是我使用的细节.

如果你想避免数据库在一起,那么雅虎!PlaceFinder API是一个很好的起点.它有一些记录在案的 问题保持最新,但至少有一个地方你可以告诉他们他们弄错了.

TL;博士

不使用FIPS,它在十年前被撤回.请改用全球认可的ISO标准.