Skip to content

๐Ÿ™๏ธ Cities of the world in Json, based on GeoNames Gazetteer

License

Notifications You must be signed in to change notification settings

lutangar/cities.json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0291d9 ยท Mar 1, 2025

History

73 Commits
Feb 27, 2025
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Jun 23, 2022
Jul 1, 2022
Feb 27, 2025
Feb 27, 2025
Feb 27, 2025
Feb 27, 2025
Mar 1, 2025
Nov 29, 2023
Nov 29, 2023
Mar 1, 2025
Nov 29, 2023

Repository files navigation

๐Ÿ™๏ธ Cities of the World CC BY 4.0

These cities are coming from the GeoNames Gazetteer.

all cities with a population > 1000 or seats of adm div down to PPLA3 (ca 130.000) [...]

Thus, this file is updated monthly and new cities are added as world population rises.

See https://www.geonames.org/datasources/ for the list of data sources used by GeoNames.

Install

npm install --save cities.json

Usage

Node.js

Since Node.js v22 you should import json files with import attributes:

import cities from 'cities.json' with { type: 'json' }

Webpack

import cities from 'cities.json';

Since webpack >= v2.0.0, importing of JSON files will work by default.

Description

This Json version is an array of object of the following shape:

[
  {
    "name": "Lyon",
    "lat": "45.74846",
    "lng": "4.84671",
    "country": "FR",
    "admin1": "84",
    "admin2": "69"
  }
]

These cities can pretty easily be matched with countries by code using the following dataset: https://github.com/annexare/Countries

Administrative divisions

Names and depth of these divisions (and subdivisions) may vary greatly between countries, thus the use of these less expressive property names :

  • admin1 code
  • admin2 code
  • etc.

For example admin1 code for a US city, would stand for the state :

[
  {
    "name": "Boston",
    "lat": "42.35843",
    "lng": "-71.05977",
    "country": "US",
    "admin1": "MA", // Massachusetts
    "admin2": "025"
  }
]

You may map the admin1 code to the full English name through the ./admin1.json file. Where the code is the concatenation of the country code and the admin1 code, for example:

  • US.MA โ†’ Massachusetts

For ./admin2.json concatenate country, admin1 code and the admin2 code:

  • US.MA.025 โ†’ Suffolk County

Resource

Licence

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0