Skip to content
This repository has been archived by the owner on May 8, 2019. It is now read-only.

GeoName

Guo Yunhe edited this page Jun 11, 2016 · 1 revision

We use GeoNames dump data and API to import some country and city information, including names, latitude and longitude, timezone.

Database Support

In country and city table, a geoname_id column to link to GeoNames data, and a imported_at column to record last time of data import.

Initial Import

Use data dump from http://download.geonames.org/export/dump/. Country data use countryInfo.txt and city data use cities15000.zip (contains only major cities).

Dump files are csv format plain text files.

Columns in countryInfo.txt:

Column # Field Content Import?
0 ISO AD Yes
1 ISO3 AND No
2 ISO-Numeric 020 No
3 FIPS AN No
4 Country Andorra Yes
5 Capital Andorra la Vella No
6 Area(in sq km) 468 No
7 Population 84000 No
8 Continent EU Yes
9 Top Level Domain .ad No
10 CurrencyCode EUR Yes
11 CurrencyName Euro No
12 Phone 376 No
13 Postal Code Format AD### No
14 Postal Code Regex ^(?:AD)*(\d{3})$ No
15 Languages ca No
16 geonameid 3041565 Yes
17 neighbours ES,FR No
18 EquivalentFipsCode - No

Columns in cities15000.txt:

Column # Field Content Import?
0 geonameid 658225 Yes
1 Name Helsinki Yes (Name)
2 ASCII Name Helsinki Yes (slug)
3 Alt. Names Elsin'ki,Elsinki,Elzinki,Gel'sinki,Ḥélsinki,ヘルシンキ,赫尔辛基... No
4 Latitude 60.16952 Yes
5 Longitude 24.93545 Yes
6 Feature Class P No
7 Feature Code PPLC No
8 Country Code FI No
9 CC2 No
10 Admin1 Code 01 No
11 Admin2 Code 011 No
12 Admin3 Code 091 No
13 Admin4 Code No
14 Population 558457 No
15 Elevation No
16 GTOPO30 26 No
17 Timezone Europe/Helsinki Yes
18 Modification Date 2014-09-25 No

Update Through API

GeoNames API has rate limits. So we only fetch data from API by click buttons on website. API calls to GeoNames are done by PHP. Only when imported data is older than 30 days, they could be imported again.

Use getJSON API, example:

http://api.geonames.org/getJSON?geonameId=658225&username=guoyunhe

{
  "timezone": {
    "gmtOffset": 2,
    "timeZoneId": "Europe/Helsinki",
    "dstOffset": 3
  },
  "bbox": {
    "east": 25.13096077191538,
    "south": 60.07255585925447,
    "north": 60.266493629696534,
    "west": 24.73993079912962
  },
  "asciiName": "Helsinki",
  "countryId": "660013",
  "fcl": "P",
  "srtm3": -32768,
  "adminId2": "9610677",
  "adminId3": "658226",
  "countryCode": "FI",
  "adminId1": "830709",
  "lat": "60.16952",
  "fcode": "PPLC",
  "continentCode": "EU",
  "adminCode2": "011",
  "adminCode3": "091",
  "adminCode1": "01",
  "lng": "24.93545",
  "geonameId": 658225,
  "toponymName": "Helsinki",
  "population": 558457,
  "wikipediaURL": "en.wikipedia.org/wiki/Helsinki",
  "adminName5": "",
  "adminName4": "",
  "adminName3": "Helsinki",
  "alternateNames": [
    {
      "name": "헬싱키",
      "lang": "ko"
    },
    {
      "name": "ܗܠܣܢܩܝ",
      "lang": "arc"
    },
    {
      "name": "ሄልሲንኪ",
      "lang": "am"
    },
    {
      "name": "ヘルシンキ",
      "lang": "ja"
    },
    {
      "name": "เฮลซิงกิ",
      "lang": "th"
    },
    {
      "name": "Elsinki",
      "lang": "wo"
    },
    {
      "name": "Èlzinki",
      "lang": "ht"
    },
    {
      "name": "Heilsincí",
      "lang": "ga"
    },
    {
      "name": "HEL",
      "lang": "iata"
    },
    {
      "name": "Helsėnkis",
      "lang": "sgs"
    },
    {
      "name": "Helsingfors",
      "lang": "nn"
    },
    {
      "name": "Helsingfors",
      "lang": "no"
    },
    {
      "isPreferredName": true,
      "name": "Helsingfors",
      "lang": "sv"
    },
    {
      "name": "Helsingi",
      "lang": "et"
    },
    {
      "name": "Helsingia",
      "lang": "la"
    },
    {
      "name": "Helsinki",
      "lang": "af"
    },
    {
      "name": "Helsinki",
      "lang": "bar"
    },
    {
      "name": "Helsinki",
      "lang": "br"
    },
    {
      "name": "Helsinki",
      "lang": "bs"
    },
    {
      "name": "Helsinki",
      "lang": "da"
    },
    {
      "name": "Helsinki",
      "lang": "de"
    },
    {
      "name": "Helsinki",
      "lang": "en"
    },
    {
      "name": "Helsinki",
      "lang": "es"
    },
    {
      "name": "Helsinki",
      "lang": "eu"
    },
    {
      "isPreferredName": true,
      "name": "Helsinki",
      "lang": "fi"
    },
    {
      "name": "Helsinki",
      "lang": "fr"
    },
    {
      "name": "Helsinki",
      "lang": "gd"
    },
    {
      "name": "Helsinki",
      "lang": "hbs"
    },
    {
      "name": "Helsinki",
      "lang": "hr"
    },
    {
      "name": "Helsinki",
      "lang": "hu"
    },
    {
      "name": "Helsinki",
      "lang": "id"
    },
    {
      "name": "Helsinki",
      "lang": "io"
    },
    {
      "name": "Helsinki",
      "lang": "is"
    },
    {
      "name": "Helsinki",
      "lang": "it"
    },
    {
      "name": "Helsinki",
      "lang": "lb"
    },
    {
      "name": "Helsinki",
      "lang": "lv"
    },
    {
      "name": "Helsinki",
      "lang": "na"
    },
    {
      "name": "Helsinki",
      "lang": "nds"
    },
    {
      "name": "Helsinki",
      "lang": "nl"
    },
    {
      "name": "Helsinki",
      "lang": "oc"
    },
    {
      "name": "Helsinki",
      "lang": "pl"
    },
    {
      "name": "Helsinki",
      "lang": "qu"
    },
    {
      "name": "Helsinki",
      "lang": "ro"
    },
    {
      "name": "Helsinki",
      "lang": "sk"
    },
    {
      "name": "Helsinki",
      "lang": "sl"
    },
    {
      "name": "Helsinki",
      "lang": "sq"
    },
    {
      "name": "Helsinki",
      "lang": "sw"
    },
    {
      "name": "Helsinki",
      "lang": "tr"
    },
    {
      "name": "Helsinki"
    },
    {
      "name": "Hel'sinki",
      "lang": "vep"
    },
    {
      "name": "Ħelsinki",
      "lang": "mt"
    },
    {
      "name": "Ḥélsinki",
      "lang": "ast"
    },
    {
      "name": "Hèlsinki",
      "lang": "ace"
    },
    {
      "name": "Hèlsinki",
      "lang": "ca"
    },
    {
      "name": "Helsînkî",
      "lang": "ku"
    },
    {
      "name": "Helsinkis",
      "lang": "lt"
    },
    {
      "name": "Helsinkium",
      "lang": "la"
    },
    {
      "name": "Helsinko",
      "lang": "eo"
    },
    {
      "name": "Helsinky",
      "lang": "cs"
    },
    {
      "name": "Helsinky",
      "lang": "fy"
    },
    {
      "name": "Helsinqui",
      "lang": "gl"
    },
    {
      "name": "Helsinqui",
      "lang": "nah"
    },
    {
      "name": "Helsínquia",
      "lang": "pt"
    },
    {
      "name": "Helsset",
      "lang": "se"
    },
    {
      "name": "http://en.wikipedia.org/wiki/Helsinki",
      "lang": "link"
    },
    {
      "name": "http://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D0%BB%D1%8C%D1%81%D0%B8%D0%BD%D0%BA%D0%B8",
      "lang": "link"
    },
    {
      "name": "Khel'sinki",
      "lang": "ru"
    },
    {
      "name": "Lungsod ng Helsinki",
      "lang": "tl"
    },
    {
      "isColloquial": true,
      "name": "Stadi",
      "lang": "fi"
    },
    {
      "name": "Xelsinki",
      "lang": "kaa"
    },
    {
      "name": "Xélsinki",
      "lang": "ug"
    },
    {
      "name": "ہلسنکی",
      "lang": "ur"
    },
    {
      "name": "ہیلسنکی",
      "lang": "pnb"
    },
    {
      "name": "ھێلسینکی",
      "lang": "ckb"
    },
    {
      "name": "هلسنكي",
      "lang": "ar"
    },
    {
      "name": "هلسینکی",
      "lang": "fa"
    },
    {
      "name": "هیلسینکی",
      "lang": "lrc"
    },
    {
      "name": "هلسنڪي",
      "lang": "sd"
    },
    {
      "name": "هيلسينكى",
      "lang": "arz"
    },
    {
      "name": "הלסינקי",
      "lang": "he"
    },
    {
      "name": "העלסינקי",
      "lang": "yi"
    },
    {
      "name": "Ελσίνκι",
      "lang": "el"
    },
    {
      "name": "Гельсінкі",
      "lang": "uk"
    },
    {
      "name": "Горад Хельсінкі",
      "lang": "be"
    },
    {
      "name": "Хелзинки",
      "lang": "bg"
    },
    {
      "name": "Хелсинки",
      "lang": "mk"
    },
    {
      "name": "Хелсинки",
      "lang": "sr"
    },
    {
      "name": "Ҳелсинкӣ",
      "lang": "tg"
    },
    {
      "name": "Хельсинки",
      "lang": "av"
    },
    {
      "name": "Хельсинки",
      "lang": "ce"
    },
    {
      "name": "Хельсинки",
      "lang": "cv"
    },
    {
      "name": "Хельсинки",
      "lang": "kk"
    },
    {
      "name": "Хельсинки",
      "lang": "koi"
    },
    {
      "name": "Хельсинки",
      "lang": "kv"
    },
    {
      "name": "Хельсинки",
      "lang": "ky"
    },
    {
      "name": "Хельсинки",
      "lang": "mdf"
    },
    {
      "name": "Хельсинки",
      "lang": "mhr"
    },
    {
      "name": "Хельсинки",
      "lang": "mrj"
    },
    {
      "name": "Хельсинки",
      "lang": "os"
    },
    {
      "name": "Хельсинки",
      "lang": "ru"
    },
    {
      "name": "Хельсинки",
      "lang": "sah"
    },
    {
      "name": "Хельсинки",
      "lang": "udm"
    },
    {
      "name": "Һельсинки",
      "lang": "tt"
    },
    {
      "name": "Хельсинки ош",
      "lang": "myv"
    },
    {
      "name": "ཧེལ་སིན་ཀི།",
      "lang": "bo"
    },
    {
      "name": "Հելսինկի",
      "lang": "hy"
    },
    {
      "name": "ჰელსინკი",
      "lang": "ka"
    },
    {
      "name": "हेलसिंकी",
      "lang": "hi"
    },
    {
      "name": "हेलसिंकी",
      "lang": "mr"
    },
    {
      "name": "हेल्सिन्की",
      "lang": "ne"
    },
    {
      "name": "ਹੈਲਸਿੰਕੀ",
      "lang": "pa"
    },
    {
      "name": "ಹೆಲ್ಸಿಂಕಿ",
      "lang": "kn"
    },
    {
      "name": "எல்சிங்கி",
      "lang": "ta"
    },
    {
      "name": "ഹെൽസിങ്കി",
      "lang": "ml"
    },
    {
      "name": "হেলসিঙ্কি",
      "lang": "bn"
    },
    {
      "name": "ဟယ်လ်ဆင်ကီမြို့",
      "lang": "my"
    },
    {
      "name": "赫尔辛基",
      "lang": "zh"
    },
    {
      "name": "赫爾辛基",
      "lang": "yue"
    }
  ],
  "adminName2": "Helsinki",
  "name": "Helsinki",
  "fclName": "city, village,...",
  "countryName": "Finland",
  "fcodeName": "capital of a political entity",
  "adminName1": "Uusimaa"
}