我在哪里可以找到国家和城市表

时间:2011-09-17 19:37:05

标签: geocoding country-codes

我是否可以在任何地方获得SQL,它将创建一个加载了条目的国家/地区表和城市表。如果城市与他们的国家相关联,并且如果城市有坐标,那将是很好的。数据将用于填充选择选项并将标记绘制到GoogleMap上。

2 个答案:

答案 0 :(得分:0)

我使用了geonames.org的txt格式化数据库。

下面是关于how to download txt文件的说明,这里是关于如何import into MySql的说明。

我把它放到我的mysql数据库中没有真正的问题,只记得在你的表中添加索引,因为其中一些会很大!

答案 1 :(得分:0)

很抱歉回答了一个旧问题,但是我在这里寻找相同的信息并且似乎没有在任何地方清楚地回答,所以这里有。

来自地理名称的'allCountries'数据非常广泛(简而言之)并且对于大多数应用来说都是过度的。 'cities1000'更有意义,并且具有更易于管理的尺寸。只要您具有对服务器的SSH访问权限,将其导入MySQL就非常简单。

  1. 下载文件 wget http://download.geonames.org/export/dump/cities1000.zip

  2. 摘录unzip cities1000.zip

  3. 运行以下查询(不要忘记将MyDatabase替换为您的数据库名称,并且表名必须与文件名相匹配)

  4. CREATE TABLE IF NOT EXISTS `MyDatabase`.`cities1000` (
      `geo_id`               INT(11) UNSIGNED NOT NULL PRIMARY KEY,
      `geo_name`             VARCHAR(200) NOT NULL DEFAULT '',
      `geo_ansiname`         VARCHAR(200) NOT NULL DEFAULT '',
      `geo_alternate_names`  VARCHAR(2000) NOT NULL DEFAULT '',
      `geo_latitude`         DOUBLE PRECISION(11,7) NOT NULL DEFAULT '0',
      `geo_longitude`        DOUBLE PRECISION(11,7) NOT NULL DEFAULT '0',
      `geo_feature_class`    CHAR(1) ,
      `geo_feature_code`     VARCHAR(10) ,
      `geo_country_code`     CHAR(2),
      `geo_country_code2`    VARCHAR(60),
      `geo_admin1_code`      VARCHAR(20) DEFAULT '',
      `geo_admin2_code`      VARCHAR(80) DEFAULT '',
      `geo_admin3_code`      VARCHAR(20) DEFAULT '',
      `geo_admin4_code`      VARCHAR(20) DEFAULT '',
      `geo_population`       BIGINT(11) DEFAULT '0',
      `geo_elevation`        INT(11) DEFAULT '0',
      `geo_gtopo30`          INT(11) DEFAULT '0',
      `geo_timezone`         VARCHAR(40),
      `geo_mod_date`         DATE DEFAULT '0000-00-00'
    
    ) CHARACTER SET utf8 ;
    
    1. 将下载的文件导入数据库(您需要更改命令以匹配服务器的配置)
    2. mysqlimport -h localhost -u MySQL-USER -p --fields-terminated-by='\t' --lines-terminated-by='\n' --local MyDatabase /path-to/cities1000.txt

      1. 非常重要: 将索引添加到相关字段
      2. 就是这样!一个仍然非常全面的城市列表,没有“allCountries”文件中的所有“垃圾”。

        数据的主要问题是,如果你想要国家,你将不得不自己构建该表并添加将它们链接到城市的外键,但是第二个data source(以XML格式提供)一些聪明的查询就可以解决问题。