我已经下载了数据库城市
`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
我已经下载了另一个名为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"
现在,如果您认为Iam要求进行一些SQL查询,那么您错了。 一切都工作正常,但后来我知道我从下载的文件 Maxmind website不完整,因为'fips_10_4'没有国家'af'和地区'16'的记录。可以有人帮我解决这个问题并告诉我下载这个完整档案的正确位置
答案 0 :(得分:9)
FIPS 10-4已经改变。可以找到更改列表here。
特别是,AF16(拉格曼)已改为AF35。 MaxMind使用新列表。
如果您需要旧代码和新代码,则可以找到它们here。您可以解析文件的内容,并将数据库表替换为此处的信息。
答案 1 :(得分:9)
AF是阿富汗的两位数ISO代码(IS0-3166-2),ISO目前正试图以令人惊讶的244瑞士法郎(瑞士法郎)出售。
由于Teleo says FIPS 10-4已在ITL website上详细更改,Teleo提供的链接以更实用的格式提供数据。 MaxMind also provides it格式更好。
我对非常谨慎使用它。 MaxMind& Teleo的链接由外部公司/个人免费提供,该公司/人员对保持其数据的最新状态不感兴趣。例如,我注意到以下国家缺失:
最后三个是荷属安的列斯群岛的一部分,于2010年10月10日解散。顺便说一句,荷属安的列斯群岛仍然存在一年半,但仍在此档案中。
所有这一切的原因? 2002年9月8日,FIPS 10-4为withdrawn almost a decade ago。引用ITS网站(我的重点):
“对于替换FIPS 10-4,INCITS L1正在与其他人协调 标准开发者和有关方面确定是否 处理拟议的美国国家标准草案或采用美国国家标准 ISO标准将是更好的前进方式。有关的更多信息 这项活动的现状,请联系Rick Pearsall (Richard.A.Pearsall@nga.mil)。”
快速Google会将INCITS L1的消息传递给next meeting on the 12th June 2012。我不会屏住呼吸。
不使用FIPS的另一个原因是它不太可能在美国之外使用很多(显然有些人仍会使用它)。虽然这可能无关紧要,但我将在未来证明您的系统是理所当然的。
我强烈建议使用ISO 3166标准。它是一种全球公认的国家数据分类方法。
CommonDataHub维护一个很棒的版本,其中包括国家和州,与FIPS 10-4相同。他们还有其他ISO states databases,它们更加规范化,值得研究。
它还保持list of all cities,人口超过5,000。
ISO maintain a copy在他们的3166-2标准网站上,需要进行一些编码以确保您始终更新,至少您会确定它是正确的。 Wikipedia也非常擅长保持最新状态。由于问题告诉人们存在数据,它在南苏丹成立一个月后击败了CommonDataHub。
还有其他地方存在这些数据,这只是我使用的详细信息。
如果你想避免数据库在一起,那么Yahoo! PlaceFinder API是一个很好的起点。它有一些documented problems保持最新,但至少有you can tell them they've got it wrong的地方。
不要使用FIPS,它在十年前被撤回。改为使用全球认可的ISO标准。
答案 2 :(得分:3)
我不确定你的真正目标是什么,但here是国家和城市的重要资源......