Repository: pydantic/FastUI Branch: main Commit: b5a33bc6e5cd Files: 146 Total size: 855.4 KB Directory structure: gitextract_8bolxsaa/ ├── .eslintrc.cjs ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .prettierignore ├── LICENSE ├── Makefile ├── README.md ├── build-docs.sh ├── bump_npm.py ├── demo/ │ ├── README.md │ ├── __init__.py │ ├── auth.py │ ├── auth_user.py │ ├── cities.json │ ├── components_list.py │ ├── forms.py │ ├── main.py │ ├── shared.py │ ├── sse.py │ ├── tables.py │ └── tests.py ├── docs/ │ ├── api/ │ │ ├── python_components.md │ │ └── typescript_components.md │ ├── extra/ │ │ └── tweaks.css │ ├── guide.md │ ├── index.md │ └── plugins.py ├── mkdocs.yml ├── package.json ├── pyproject.toml ├── requirements/ │ ├── docs.in │ └── docs.txt ├── src/ │ ├── npm-fastui/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Defaults.tsx │ │ │ ├── components/ │ │ │ │ ├── Code.tsx │ │ │ │ ├── CodeLazy.tsx │ │ │ │ ├── Custom.tsx │ │ │ │ ├── FireEvent.tsx │ │ │ │ ├── FormField.tsx │ │ │ │ ├── Iframe.tsx │ │ │ │ ├── Json.tsx │ │ │ │ ├── LinkList.tsx │ │ │ │ ├── Markdown.tsx │ │ │ │ ├── MarkdownLazy.tsx │ │ │ │ ├── PageTitle.tsx │ │ │ │ ├── ServerLoad.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── details.tsx │ │ │ │ ├── display.tsx │ │ │ │ ├── div.tsx │ │ │ │ ├── error.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── form.tsx │ │ │ │ ├── heading.tsx │ │ │ │ ├── image.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── link.tsx │ │ │ │ ├── modal.tsx │ │ │ │ ├── navbar.tsx │ │ │ │ ├── pagination.tsx │ │ │ │ ├── paragraph.tsx │ │ │ │ ├── spinner.tsx │ │ │ │ ├── table.tsx │ │ │ │ ├── text.tsx │ │ │ │ ├── toast.tsx │ │ │ │ └── video.tsx │ │ │ ├── controller.tsx │ │ │ ├── dev.tsx │ │ │ ├── events.ts │ │ │ ├── hooks/ │ │ │ │ ├── className.ts │ │ │ │ ├── config.ts │ │ │ │ ├── error.tsx │ │ │ │ ├── eventContext.tsx │ │ │ │ └── locationContext.tsx │ │ │ ├── index.tsx │ │ │ ├── models.d.ts │ │ │ └── tools.ts │ │ ├── tsconfig.json │ │ └── typedoc.json │ ├── npm-fastui-bootstrap/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── footer.tsx │ │ │ ├── index.tsx │ │ │ ├── modal.tsx │ │ │ ├── navbar.tsx │ │ │ ├── pagination.tsx │ │ │ └── toast.tsx │ │ ├── tsconfig.json │ │ └── typedoc.json │ ├── npm-fastui-prebuilt/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── main.scss │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── typedoc.json │ │ └── vite.config.ts │ └── python-fastui/ │ ├── LICENSE │ ├── README.md │ ├── fastui/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── github.py │ │ │ └── shared.py │ │ ├── base.py │ │ ├── class_name.py │ │ ├── components/ │ │ │ ├── __init__.py │ │ │ ├── display.py │ │ │ ├── forms.py │ │ │ ├── py.typed │ │ │ └── tables.py │ │ ├── dev.py │ │ ├── events.py │ │ ├── forms.py │ │ ├── generate_typescript.py │ │ ├── json_schema.py │ │ ├── py.typed │ │ └── types.py │ ├── pyproject.toml │ ├── requirements/ │ │ ├── all.txt │ │ ├── lint.in │ │ ├── lint.txt │ │ ├── pyproject.txt │ │ ├── render.txt │ │ ├── test.in │ │ └── test.txt │ └── tests/ │ ├── test_auth_github.py │ ├── test_auth_shared.py │ ├── test_components.py │ ├── test_dev.py │ ├── test_forms.py │ ├── test_json_schema.py │ ├── test_prebuilt_html.py │ └── test_tables_display.py ├── tsconfig.json ├── typedoc.base.json └── typedoc.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .eslintrc.cjs ================================================ module.exports = { root: true, env: { browser: true, es2020: true }, extends: [ 'standard', 'eslint:recommended', 'plugin:react/recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended', 'prettier', ], ignorePatterns: ['node_modules', 'dist', 'htmlcov'], parser: '@typescript-eslint/parser', plugins: ['react', '@typescript-eslint', 'react-refresh', 'simple-import-sort'], rules: { 'react-refresh/only-export-components': 'off', // how much effect does this have? '@typescript-eslint/no-explicit-any': 'off', 'no-use-before-define': 'off', 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', 'react/display-name': 'off', 'import/order': [ 'error', { 'newlines-between': 'always', groups: ['builtin', 'external', 'internal', 'object', 'type', 'parent', 'index', 'sibling'], pathGroups: [ { pattern: '@/**', group: 'internal', }, { pattern: './../**', group: 'parent', }, ], }, ], }, } ================================================ FILE: .github/dependabot.yml ================================================ # Keep GitHub Actions up to date with GitHub's Dependabot... # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem version: 2 updates: - package-ecosystem: github-actions directory: / groups: github-actions: patterns: - "*" # Group all Actions updates into a single larger pull request schedule: interval: monthly ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: push: branches: - main tags: - '**' pull_request: types: [opened, synchronize] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - uses: actions/setup-node@v4 with: node-version: 18 - run: pip install -r src/python-fastui/requirements/all.txt - run: pip install src/python-fastui - run: npm install - uses: pre-commit/action@v3.0.1 with: extra_args: --all-files env: SKIP: no-commit-to-branch docs-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' # note: PPPR_TOKEN is not available on PRs sourced from forks, but the necessary # dependencies are also listed in docs.txt :) - name: install run: | pip install --upgrade pip pip install --extra-index-url https://pydantic:${PPPR_TOKEN}@pppr.pydantic.dev/simple/ mkdocs-material mkdocstrings-python pip install -r requirements/docs.txt # note -- we can use these in the future when mkdocstrings-typescript and griffe-typedoc beocome publicly available # pip install --extra-index-url https://pydantic:${PPPR_TOKEN}@pppr.pydantic.dev/simple/ mkdocs-material mkdocstrings-python griffe-typedoc mkdocstrings-typescript # npm install # npm install -g typedoc env: PPPR_TOKEN: ${{ secrets.PPPR_TOKEN }} - name: build site run: mkdocs build --strict test: name: test ${{ matrix.python-version }} on ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-15-intel, macos-latest] python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] exclude: - os: macos-15-intel python-version: '3.10' - os: macos-15-intel python-version: '3.11' - os: macos-15-intel python-version: '3.12' - os: macos-latest python-version: '3.13' runs-on: ${{ matrix.os }} env: PYTHON: ${{ matrix.python-version }} OS: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: set up python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - run: pip install -r src/python-fastui/requirements/test.txt - run: pip install -r src/python-fastui/requirements/pyproject.txt - run: pip install -e src/python-fastui - run: coverage run -m pytest src # display coverage and fail if it's below 80%, which shouldn't happen - run: coverage report --fail-under=80 # test demo on 3.11 and 3.12, these tests are intentionally omitted from coverage - if: matrix.python-version == '3.11' || matrix.python-version == '3.12' run: pytest demo/tests.py - run: coverage xml - uses: codecov/codecov-action@v5 with: file: ./coverage.xml env_vars: PYTHON,OS npm-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 18 - run: npm install - run: npm run build - run: tree src check: # This job does nothing and is only used for the branch protection if: always() needs: [lint, test, npm-build] runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 id: all-green with: jobs: ${{ toJSON(needs) }} release: needs: [check] if: "success() && startsWith(github.ref, 'refs/tags/')" runs-on: ubuntu-latest environment: release permissions: id-token: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - run: pip install -U build - id: check-version uses: samuelcolvin/check-python-version@v4.1 with: version_file_path: 'src/python-fastui/fastui/__init__.py' - run: python -m build --outdir dist src/python-fastui - run: ls -lh dist - uses: pypa/gh-action-pypi-publish@release/v1 ================================================ FILE: .gitignore ================================================ # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* /**/*.egg-info node_modules dist dist-ssr *.local # Editor directories and files .vscode/* !.vscode/extensions.json .idea .DS_Store *.suo *.ntvs* *.njsproj *.sln *.sw? # python /env*/ __pycache__/ /.logfire/ /frontend-dist/ /scratch/ /packages-dist/ /.coverage /users.db ================================================ FILE: .pre-commit-config.yaml ================================================ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: no-commit-to-branch - id: check-yaml args: ['--unsafe'] - id: check-toml - id: end-of-file-fixer - id: trailing-whitespace - repo: local hooks: - id: python-format name: python-format types_or: [python] entry: make format language: system pass_filenames: false - id: python-typecheck name: python-typecheck types_or: [python] entry: make typecheck language: system pass_filenames: false - id: js-prettier name: js-prettier types_or: [javascript, jsx, ts, tsx, css, json, markdown] entry: npm run prettier language: system exclude: '^docs/.*' - id: js-lint name: js-lint types_or: [ts, tsx] entry: npm run lint-fix language: system pass_filenames: false - id: js-typecheck name: js-typecheck types_or: [ts, tsx] entry: npm run typecheck language: system pass_filenames: false - id: python-generate-ts name: python-generate-ts types_or: [python] entry: make typescript-models language: system pass_filenames: false ================================================ FILE: .prettierignore ================================================ htmlcov/ ================================================ FILE: LICENSE ================================================ The MIT License (MIT) Copyright (c) 2023 to present Pydantic Services inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: Makefile ================================================ .DEFAULT_GOAL:=all path = src/python-fastui .PHONY: install install: pip install -U pip pre-commit pip-tools pip install -r $(path)/requirements/all.txt pip install -e $(path) pre-commit install .PHONY: install-docs install-docs: pip install -r requirements/docs.txt # note -- mkdocstrings-typescript and griffe-typedoc are not yet publicly available # but the following can be added above the pip install -r requirements/docs.txt line in the future # pip install mkdocstrings-python mkdocstrings-typescript griffe-typedoc .PHONY: update-lockfiles update-lockfiles: @echo "Updating requirements files using pip-compile" pip-compile -q --strip-extras -o $(path)/requirements/lint.txt $(path)/requirements/lint.in pip-compile -q --strip-extras -o $(path)/requirements/pyproject.txt -c $(path)/requirements/lint.txt $(path)/pyproject.toml --extra=fastapi pip-compile -q --strip-extras -o $(path)/requirements/test.txt -c $(path)/requirements/lint.txt -c $(path)/requirements/pyproject.txt $(path)/requirements/test.in pip install --dry-run -r $(path)/requirements/all.txt .PHONY: format format: ruff check --fix-only $(path) demo ruff format $(path) demo .PHONY: lint lint: ruff check $(path) demo ruff format --check $(path) demo .PHONY: typecheck typecheck: pyright .PHONY: test test: coverage run -m pytest .PHONY: testcov testcov: test coverage html .PHONY: typescript-models typescript-models: fastui generate fastui:FastUI src/npm-fastui/src/models.d.ts .PHONY: dev dev: uvicorn demo:app --reload --reload-dir . .PHONY: docs docs: mkdocs build .PHONY: serve serve: mkdocs serve .PHONY: all all: testcov lint ================================================ FILE: README.md ================================================ # NOTE: this project is inactive, see [#368](https://github.com/pydantic/FastUI/issues/368) # FastUI Find the documentation [here](https://docs.pydantic.dev/fastui/). Join the discussion in the #fastui slack channel [here](https://pydanticlogfire.slack.com/archives/C0720M7D31S) [![CI](https://github.com/pydantic/FastUI/actions/workflows/ci.yml/badge.svg)](https://github.com/pydantic/FastUI/actions?query=event%3Apush+branch%3Amain+workflow%3ACI) [![pypi](https://img.shields.io/pypi/v/fastui.svg)](https://pypi.python.org/pypi/fastui) [![versions](https://img.shields.io/pypi/pyversions/fastui.svg)](https://github.com/pydantic/FastUI) [![license](https://img.shields.io/github/license/pydantic/FastUI.svg)](https://github.com/pydantic/FastUI/blob/main/LICENSE) **Please note:** FastUI is still an active work in progress, do not expect it to be complete. ## The Principle (short version) You can see a simple demo of an application built with FastUI [here](https://fastui-demo.onrender.com). FastUI is a new way to build web application user interfaces defined by declarative Python code. This means: - **If you're a Python developer** — you can build responsive web applications using React without writing a single line of JavaScript, or touching `npm`. - **If you're a frontend developer** — you can concentrate on building magical components that are truly reusable, no copy-pasting components for each view. - **For everyone** — a true separation of concerns, the backend defines the entire application; while the frontend is free to implement just the user interface At its heart, FastUI is a set of matching [Pydantic](https://docs.pydantic.dev) models and TypeScript interfaces that allow you to define a user interface. This interface is validated at build time by TypeScript and pyright/mypy and at runtime by Pydantic. ## The Practice — Usage FastUI is made up of 4 things: - [`fastui` PyPI package](https://pypi.python.org/pypi/fastui) — Pydantic models for UI components, and some utilities. While it works well with [FastAPI](https://fastapi.tiangolo.com) it doesn't depend on FastAPI, and most of it could be used with any python web framework. - [`@pydantic/fastui` npm package](https://www.npmjs.com/package/@pydantic/fastui) — a React TypeScript package that lets you reuse the machinery and types of FastUI while implementing your own components - [`@pydantic/fastui-bootstrap` npm package](https://www.npmjs.com/package/@pydantic/fastui-bootstrap) — implementation/customisation of all FastUI components using [Bootstrap](https://getbootstrap.com) - [`@pydantic/fastui-prebuilt` npm package](https://www.jsdelivr.com/package/npm/@pydantic/fastui-prebuilt) (available on [jsdelivr.com CDN](https://www.jsdelivr.com/package/npm/@pydantic/fastui-prebuilt)) providing a pre-built version of the FastUI React app so you can use it without installing any npm packages or building anything yourself. The Python package provides a simple HTML page to serve this app. Here's a simple but complete FastAPI application that uses FastUI to show some user profiles: ```python from datetime import date from fastapi import FastAPI, HTTPException from fastapi.responses import HTMLResponse from fastui import FastUI, AnyComponent, prebuilt_html, components as c from fastui.components.display import DisplayMode, DisplayLookup from fastui.events import GoToEvent, BackEvent from pydantic import BaseModel, Field app = FastAPI() class User(BaseModel): id: int name: str dob: date = Field(title='Date of Birth') # define some users users = [ User(id=1, name='John', dob=date(1990, 1, 1)), User(id=2, name='Jack', dob=date(1991, 1, 1)), User(id=3, name='Jill', dob=date(1992, 1, 1)), User(id=4, name='Jane', dob=date(1993, 1, 1)), ] @app.get("/api/", response_model=FastUI, response_model_exclude_none=True) def users_table() -> list[AnyComponent]: """ Show a table of four users, `/api` is the endpoint the frontend will connect to when a user visits `/` to fetch components to render. """ return [ c.Page( # Page provides a basic container for components components=[ c.Heading(text='Users', level=2), # renders `

Users

` c.Table( data=users, # define two columns for the table columns=[ # the first is the users, name rendered as a link to their profile DisplayLookup(field='name', on_click=GoToEvent(url='/user/{id}/')), # the second is the date of birth, rendered as a date DisplayLookup(field='dob', mode=DisplayMode.date), ], ), ] ), ] @app.get("/api/user/{user_id}/", response_model=FastUI, response_model_exclude_none=True) def user_profile(user_id: int) -> list[AnyComponent]: """ User profile page, the frontend will fetch this when the user visits `/user/{id}/`. """ try: user = next(u for u in users if u.id == user_id) except StopIteration: raise HTTPException(status_code=404, detail="User not found") return [ c.Page( components=[ c.Heading(text=user.name, level=2), c.Link(components=[c.Text(text='Back')], on_click=BackEvent()), c.Details(data=user), ] ), ] @app.get('/{path:path}') async def html_landing() -> HTMLResponse: """Simple HTML page which serves the React app, comes last as it matches all paths.""" return HTMLResponse(prebuilt_html(title='FastUI Demo')) ``` Which renders like this: ![screenshot](https://raw.githubusercontent.com/pydantic/FastUI/main/screenshot.png) Of course, that's a very simple application, the [full demo](https://fastui-demo.onrender.com) is more complete. ### Components FastUI already defines a rich set of components. All components are listed in the [demo app](https://fastui-demo.onrender.com). ## The Principle (long version) FastUI is an implementation of the RESTful principle; but not as it's usually understood, instead I mean the principle defined in the original [PhD dissertation](https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm) by Roy Fielding, and excellently summarised in [this essay on htmx.org](https://htmx.org/essays/how-did-rest-come-to-mean-the-opposite-of-rest/) (HTMX people, I'm sorry to use your article to promote React which I know you despise 🙏). The RESTful principle as described in the HTMX article is that the frontend doesn't need to (and shouldn't) know anything about the application you're building. Instead, it should just provide all the components you need to construct the interface, the backend can then tell the frontend what to do. Think of your frontend as a puppet, and the backend as the hand within it — the puppet doesn't need to know what to say, that's kind of the point. Building an application this way has a number of significant advantages: - You only need to write code in one place to build a new feature — add a new view, change the behavior of an existing view or alter the URL structure - Deploying the front and backend can be completely decoupled, provided the frontend knows how to render all the components the backend is going to ask it to use, you're good to go - You should be able to reuse a rich set of opensource components, they should end up being better tested and more reliable than anything you could build yourself, this is possible because the components need no context about how they're going to be used (note: since FastUI is brand new, this isn't true yet, hopefully we get there) - We can use Pydantic, TypeScript and JSON Schema to provide guarantees that the two sides are communicating with an agreed schema In the abstract, FastUI is like the opposite of GraphQL but with the same goal — GraphQL lets frontend developers extend an application without any new backend development; FastUI lets backend developers extend an application without any new frontend development. ### Beyond Python and React Of course, this principle shouldn't be limited to Python and React applications — provided we use the same set of agreed schemas and encoding to communicate, we should be able to use any frontend and backend that implements the schema. Interchangeably. This could mean: - Implementing a web frontend using another JS framework like Vue — lots of work, limited value IMHO - Implementing a web frontend using an edge server, so the browser just sees HTML — lots of work but very valuable - Implementing frontends for other platforms like mobile or IOT — lots of work, no idea if it's actually a good idea? - Implementing the component models in another language like Rust or Go — since there's actually not that much code in the backend, so this would be a relatively small and mechanical task ================================================ FILE: build-docs.sh ================================================ #!/usr/bin/env bash set -e set -x python3 -V python3 -m pip install --extra-index-url https://pydantic:${PPPR_TOKEN}@pppr.pydantic.dev/simple/ mkdocs-material mkdocstrings-python python3 -m pip install -r ./requirements/docs.txt # note -- we can use these in the future when mkdocstrings-typescript and griffe-typedoc beocome publicly available # python3 -m pip install --extra-index-url https://pydantic:$PPPR_TOKEN@pppr.pydantic.dev/simple/ mkdocs-material mkdocstrings-python griffe-typedoc mkdocstrings-typescript # npm install # npm install -g typedoc python3 -m mkdocs build ================================================ FILE: bump_npm.py ================================================ #!/usr/bin/env python from __future__ import annotations import json import re from pathlib import Path def replace_package_json(package_json: Path, new_version: str, deps: bool = False) -> tuple[Path, str]: content = package_json.read_text() content, r_count = re.subn(r'"version": *".*?"', f'"version": "{new_version}"', content, count=1) assert r_count == 1 , f'Failed to update version in {package_json}, expect replacement count 1, got {r_count}' if deps: content, r_count = re.subn(r'"(@pydantic/.+?)": *".*?"', fr'"\1": "{new_version}"', content) assert r_count == 1, f'Failed to update version in {package_json}, expect replacement count 1, got {r_count}' return package_json, content def main(): this_dir = Path(__file__).parent fastui_package_json = this_dir / 'src/npm-fastui/package.json' with fastui_package_json.open() as f: old_version = json.load(f)['version'] rest, patch_version = old_version.rsplit('.', 1) new_version = f'{rest}.{int(patch_version) + 1}' bootstrap_package_json = this_dir / 'src/npm-fastui-bootstrap/package.json' prebuilt_package_json = this_dir / 'src/npm-fastui-prebuilt/package.json' to_update: list[tuple[Path, str]] = [ replace_package_json(fastui_package_json, new_version), replace_package_json(bootstrap_package_json, new_version, deps=True), replace_package_json(prebuilt_package_json, new_version), ] python_init = this_dir / 'src/python-fastui/fastui/__init__.py' python_content = python_init.read_text() python_content, r_count = re.subn(r"(_PREBUILT_VERSION = )'.+'", fr"\1'{new_version}'", python_content) assert r_count == 1, f'Failed to update version in {python_init}, expect replacement count 1, got {r_count}' to_update.append((python_init, python_content)) # logic is finished, no update all files print(f'Updating files:') for package_json, content in to_update: print(f' {package_json.relative_to(this_dir)}') package_json.write_text(content) print(f""" Bumped from `{old_version}` to `{new_version}` in {len(to_update)} files. To publish the new version, run: > npm --workspaces publish """) if __name__ == '__main__': main() ================================================ FILE: demo/README.md ================================================ # FastUI Demo This a simple demo app for FastUI, it's deployed at [fastui-demo.onrender.com](https://fastui-demo.onrender.com). ## Running To run the demo app, execute the following commands from the FastUI repo root ```bash # create a virtual env python3.11 -m venv env311 # activate the env . env311/bin/activate # install deps make install # run the demo server make dev ``` Then navigate to [http://localhost:8000](http://localhost:8000) If you want to run the dev version of the React frontend, run ```bash npm install npm run dev ``` This will run at [http://localhost:3000](http://localhost:3000), and connect to the backend running at `localhost:3000`. ================================================ FILE: demo/__init__.py ================================================ from __future__ import annotations as _annotations import sys from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.responses import HTMLResponse, PlainTextResponse from fastui import prebuilt_html from fastui.auth import fastapi_auth_exception_handling from fastui.dev import dev_fastapi_app from httpx import AsyncClient from .auth import router as auth_router from .components_list import router as components_router from .forms import router as forms_router from .main import router as main_router from .sse import router as sse_router from .tables import router as table_router @asynccontextmanager async def lifespan(app_: FastAPI): async with AsyncClient() as client: app_.state.httpx_client = client yield frontend_reload = '--reload' in sys.argv if frontend_reload: # dev_fastapi_app reloads in the browser when the Python source changes app = dev_fastapi_app(lifespan=lifespan) else: app = FastAPI(lifespan=lifespan) fastapi_auth_exception_handling(app) app.include_router(components_router, prefix='/api/components') app.include_router(sse_router, prefix='/api/components') app.include_router(table_router, prefix='/api/table') app.include_router(forms_router, prefix='/api/forms') app.include_router(auth_router, prefix='/api/auth') app.include_router(main_router, prefix='/api') @app.get('/robots.txt', response_class=PlainTextResponse) async def robots_txt() -> str: return 'User-agent: *\nAllow: /' @app.get('/favicon.ico', status_code=404, response_class=PlainTextResponse) async def favicon_ico() -> str: return 'page not found' @app.get('/{path:path}') async def html_landing() -> HTMLResponse: return HTMLResponse(prebuilt_html(title='FastUI Demo')) ================================================ FILE: demo/auth.py ================================================ from __future__ import annotations as _annotations import asyncio import json import os from dataclasses import asdict from typing import Annotated, Literal, TypeAlias from fastapi import APIRouter, Depends, Request from fastui import AnyComponent, FastUI from fastui import components as c from fastui.auth import AuthRedirect, GitHubAuthProvider from fastui.events import AuthEvent, GoToEvent, PageEvent from fastui.forms import fastui_form from httpx import AsyncClient from pydantic import BaseModel, EmailStr, Field, SecretStr from .auth_user import User from .shared import demo_page router = APIRouter() GITHUB_CLIENT_ID = os.getenv('GITHUB_CLIENT_ID', '0d0315f9c2e055d032e2') # this will give an error when making requests to GitHub, but at least the app will run GITHUB_CLIENT_SECRET = SecretStr(os.getenv('GITHUB_CLIENT_SECRET', 'dummy-secret')) # use 'http://localhost:3000/auth/login/github/redirect' in development GITHUB_REDIRECT = os.getenv('GITHUB_REDIRECT') async def get_github_auth(request: Request) -> GitHubAuthProvider: client: AsyncClient = request.app.state.httpx_client return GitHubAuthProvider( httpx_client=client, github_client_id=GITHUB_CLIENT_ID, github_client_secret=GITHUB_CLIENT_SECRET, redirect_uri=GITHUB_REDIRECT, scopes=['user:email'], ) LoginKind: TypeAlias = Literal['password', 'github'] @router.get('/login/{kind}', response_model=FastUI, response_model_exclude_none=True) def auth_login( kind: LoginKind, user: Annotated[User | None, Depends(User.from_request_opt)], ) -> list[AnyComponent]: if user is not None: # already logged in raise AuthRedirect('/auth/profile') return demo_page( c.LinkList( links=[ c.Link( components=[c.Text(text='Password Login')], on_click=PageEvent(name='tab', push_path='/auth/login/password', context={'kind': 'password'}), active='/auth/login/password', ), c.Link( components=[c.Text(text='GitHub Login')], on_click=PageEvent(name='tab', push_path='/auth/login/github', context={'kind': 'github'}), active='/auth/login/github', ), ], mode='tabs', class_name='+ mb-4', ), c.ServerLoad( path='/auth/login/content/{kind}', load_trigger=PageEvent(name='tab'), components=auth_login_content(kind), ), title='Authentication', ) @router.get('/login/content/{kind}', response_model=FastUI, response_model_exclude_none=True) def auth_login_content(kind: LoginKind) -> list[AnyComponent]: match kind: case 'password': return [ c.Heading(text='Password Login', level=3), c.Paragraph( text=( 'This is a very simple demo of password authentication, ' 'here you can "login" with any email address and password.' ) ), c.Paragraph(text='(Passwords are not saved and is email stored in the browser via a JWT only)'), c.ModelForm(model=LoginForm, submit_url='/api/auth/login', display_mode='page'), ] case 'github': return [ c.Heading(text='GitHub Login', level=3), c.Paragraph(text='Demo of GitHub authentication.'), c.Paragraph(text='(Credentials are stored in the browser via a JWT only)'), c.Button(text='Login with GitHub', on_click=GoToEvent(url='/auth/login/github/gen')), ] case _: raise ValueError(f'Invalid kind {kind!r}') class LoginForm(BaseModel): email: EmailStr = Field( title='Email Address', description='Enter whatever value you like', json_schema_extra={'autocomplete': 'email'} ) password: SecretStr = Field( title='Password', description='Enter whatever value you like, password is not checked', json_schema_extra={'autocomplete': 'current-password'}, ) @router.post('/login', response_model=FastUI, response_model_exclude_none=True) async def login_form_post(form: Annotated[LoginForm, fastui_form(LoginForm)]) -> list[AnyComponent]: user = User(email=form.email, extra={}) token = user.encode_token() return [c.FireEvent(event=AuthEvent(token=token, url='/auth/profile'))] @router.get('/profile', response_model=FastUI, response_model_exclude_none=True) async def profile(user: Annotated[User, Depends(User.from_request)]) -> list[AnyComponent]: return demo_page( c.Paragraph(text=f'You are logged in as "{user.email}".'), c.Button(text='Logout', on_click=PageEvent(name='submit-form')), c.Heading(text='User Data:', level=3), c.Code(language='json', text=json.dumps(asdict(user), indent=2)), c.Form( submit_url='/api/auth/logout', form_fields=[c.FormFieldInput(name='test', title='', initial='data', html_type='hidden')], footer=[], submit_trigger=PageEvent(name='submit-form'), ), title='Authentication', ) @router.post('/logout', response_model=FastUI, response_model_exclude_none=True) async def logout_form_post() -> list[AnyComponent]: return [c.FireEvent(event=AuthEvent(token=False, url='/auth/login/password'))] @router.get('/login/github/gen', response_model=FastUI, response_model_exclude_none=True) async def auth_github_gen(github_auth: Annotated[GitHubAuthProvider, Depends(get_github_auth)]) -> list[AnyComponent]: auth_url = await github_auth.authorization_url() return [c.FireEvent(event=GoToEvent(url=auth_url))] @router.get('/login/github/redirect', response_model=FastUI, response_model_exclude_none=True) async def github_redirect( code: str, state: str | None, github_auth: Annotated[GitHubAuthProvider, Depends(get_github_auth)], ) -> list[AnyComponent]: exchange = await github_auth.exchange_code(code, state) user_info, emails = await asyncio.gather( github_auth.get_github_user(exchange), github_auth.get_github_user_emails(exchange) ) user = User( email=next((e.email for e in emails if e.primary and e.verified), None), extra={ 'github_user_info': user_info.model_dump(), 'github_emails': [e.model_dump() for e in emails], }, ) token = user.encode_token() return [c.FireEvent(event=AuthEvent(token=token, url='/auth/profile'))] ================================================ FILE: demo/auth_user.py ================================================ import json from dataclasses import asdict, dataclass from datetime import datetime, timedelta from typing import Annotated, Any import jwt from fastapi import Header, HTTPException from fastui.auth import AuthRedirect from typing_extensions import Self JWT_SECRET = 'secret' @dataclass class User: email: str | None extra: dict[str, Any] def encode_token(self) -> str: payload = asdict(self) payload['exp'] = datetime.now() + timedelta(hours=1) return jwt.encode(payload, JWT_SECRET, algorithm='HS256', json_encoder=CustomJsonEncoder) @classmethod def from_request(cls, authorization: Annotated[str, Header()] = '') -> Self: user = cls.from_request_opt(authorization) if user is None: raise AuthRedirect('/auth/login/password') else: return user @classmethod def from_request_opt(cls, authorization: Annotated[str, Header()] = '') -> Self | None: try: token = authorization.split(' ', 1)[1] except IndexError: return None try: payload = jwt.decode(token, JWT_SECRET, algorithms=['HS256']) except jwt.ExpiredSignatureError: return None except jwt.DecodeError: raise HTTPException(status_code=401, detail='Invalid token') else: # existing token might not have 'exp' field payload.pop('exp', None) return cls(**payload) class CustomJsonEncoder(json.JSONEncoder): def default(self, obj: Any) -> Any: if isinstance(obj, datetime): return obj.isoformat() else: return super().default(obj) ================================================ FILE: demo/cities.json ================================================ [ { "city": "Kandahār", "city_ascii": "Kandahar", "lat": 31.62, "lng": 65.7158, "country": "Afghanistan", "iso2": "AF", "iso3": "AFG", "admin_name": "Kandahār", "capital": "admin", "population": 614254.0, "id": 1004003059 }, { "city": "Herāt", "city_ascii": "Herat", "lat": 34.3419, "lng": 62.2031, "country": "Afghanistan", "iso2": "AF", "iso3": "AFG", "admin_name": "Herāt", "capital": "admin", "population": 556205.0, "id": 1004237782 }, { "city": "Mazār-e Sharīf", "city_ascii": "Mazar-e Sharif", "lat": 36.7, "lng": 67.1167, "country": "Afghanistan", "iso2": "AF", "iso3": "AFG", "admin_name": "Balkh", "capital": "admin", "population": 469247.0, "id": 1004436363 }, { "city": "Farāh", "city_ascii": "Farah", "lat": 32.3436, "lng": 62.1194, "country": "Afghanistan", "iso2": "AF", "iso3": "AFG", "admin_name": "Farāh", "capital": "admin", "population": 500000.0, "id": 1004523791 }, { "city": "Kabul", "city_ascii": "Kabul", "lat": 34.5253, "lng": 69.1783, "country": "Afghanistan", "iso2": "AF", "iso3": "AFG", "admin_name": "Kābul", "capital": "primary", "population": 4273156.0, "id": 1004993580 }, { "city": "Tirana", "city_ascii": "Tirana", "lat": 41.3289, "lng": 19.8178, "country": "Albania", "iso2": "AL", "iso3": "ALB", "admin_name": "Tiranë", "capital": "primary", "population": 418495.0, "id": 1008162156 }, { "city": "Oran", "city_ascii": "Oran", "lat": 35.6969, "lng": -0.6331, "country": "Algeria", "iso2": "DZ", "iso3": "DZA", "admin_name": "Oran", "capital": "admin", "population": 852000.0, "id": 1012126319 }, { "city": "Constantine", "city_ascii": "Constantine", "lat": 36.365, "lng": 6.6147, "country": "Algeria", "iso2": "DZ", "iso3": "DZA", "admin_name": "Constantine", "capital": "admin", "population": 448374.0, "id": 1012275076 }, { "city": "Algiers", "city_ascii": "Algiers", "lat": 36.7539, "lng": 3.0589, "country": "Algeria", "iso2": "DZ", "iso3": "DZA", "admin_name": "Alger", "capital": "primary", "population": 3415811.0, "id": 1012973369 }, { "city": "Huambo", "city_ascii": "Huambo", "lat": -12.7767, "lng": 15.7347, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Huambo", "capital": "admin", "population": 665564.0, "id": 1024079828 }, { "city": "Lobito", "city_ascii": "Lobito", "lat": -12.3597, "lng": 13.5308, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Benguela", "capital": null, "population": 393079.0, "id": 1024128946 }, { "city": "Benguela", "city_ascii": "Benguela", "lat": -12.55, "lng": 13.4167, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Benguela", "capital": "admin", "population": 561775.0, "id": 1024141961 }, { "city": "Belas", "city_ascii": "Belas", "lat": -8.9983, "lng": 13.265, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Luanda", "capital": null, "population": 500000.0, "id": 1024196826 }, { "city": "Luena", "city_ascii": "Luena", "lat": -11.7918, "lng": 19.9062, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Moxico", "capital": "admin", "population": 357413.0, "id": 1024283760 }, { "city": "Saurimo", "city_ascii": "Saurimo", "lat": -9.65, "lng": 20.4, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Lunda-Sul", "capital": "admin", "population": 393000.0, "id": 1024326839 }, { "city": "Cabinda", "city_ascii": "Cabinda", "lat": -5.56, "lng": 12.19, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Cabinda", "capital": "admin", "population": 739182.0, "id": 1024474012 }, { "city": "Cacuaco", "city_ascii": "Cacuaco", "lat": -8.8053, "lng": 13.2444, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Luanda", "capital": null, "population": 1279488.0, "id": 1024559448 }, { "city": "Cubal", "city_ascii": "Cubal", "lat": -13.1117, "lng": 14.3672, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Benguela", "capital": null, "population": 357618.0, "id": 1024580158 }, { "city": "Lubango", "city_ascii": "Lubango", "lat": -14.9167, "lng": 13.5, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Huíla", "capital": "admin", "population": 776249.0, "id": 1024669127 }, { "city": "Malanje", "city_ascii": "Malanje", "lat": -9.5333, "lng": 16.35, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Malanje", "capital": "admin", "population": 604215.0, "id": 1024774947 }, { "city": "Cuito", "city_ascii": "Cuito", "lat": -12.3833, "lng": 16.9333, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Bié", "capital": "admin", "population": 355423.0, "id": 1024939858 }, { "city": "Luanda", "city_ascii": "Luanda", "lat": -8.8383, "lng": 13.2344, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Luanda", "capital": "primary", "population": 9051000.0, "id": 1024949724 }, { "city": "Talatona", "city_ascii": "Talatona", "lat": -8.9167, "lng": 13.1833, "country": "Angola", "iso2": "AO", "iso3": "AGO", "admin_name": "Luanda", "capital": null, "population": 500000.0, "id": 1024988332 }, { "city": "Sumqayıt", "city_ascii": "Sumqayit", "lat": 40.5917, "lng": 49.6397, "country": "Azerbaijan", "iso2": "AZ", "iso3": "AZE", "admin_name": "Sumqayıt", "capital": "admin", "population": 341200.0, "id": 1031630283 }, { "city": "Baku", "city_ascii": "Baku", "lat": 40.3667, "lng": 49.8352, "country": "Azerbaijan", "iso2": "AZ", "iso3": "AZE", "admin_name": "Bakı", "capital": "primary", "population": 2300500.0, "id": 1031946365 }, { "city": "Lanús", "city_ascii": "Lanus", "lat": -34.7, "lng": -58.4, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Buenos Aires", "capital": "minor", "population": 459263.0, "id": 1032009573 }, { "city": "Comodoro Rivadavia", "city_ascii": "Comodoro Rivadavia", "lat": -45.8647, "lng": -67.4808, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Chubut", "capital": "minor", "population": 730266.0, "id": 1032042035 }, { "city": "Corrientes", "city_ascii": "Corrientes", "lat": -27.4833, "lng": -58.8167, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Corrientes", "capital": "admin", "population": 352646.0, "id": 1032173097 }, { "city": "San Miguel de Tucumán", "city_ascii": "San Miguel de Tucuman", "lat": -26.8167, "lng": -65.2167, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Tucumán", "capital": "admin", "population": 605767.0, "id": 1032233996 }, { "city": "Mar del Plata", "city_ascii": "Mar del Plata", "lat": -38.0, "lng": -57.55, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Buenos Aires", "capital": "minor", "population": 682605.0, "id": 1032456103 }, { "city": "Santiago del Estero", "city_ascii": "Santiago del Estero", "lat": -27.7833, "lng": -64.2667, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Santiago del Estero", "capital": "admin", "population": 911506.0, "id": 1032492280 }, { "city": "Buenos Aires", "city_ascii": "Buenos Aires", "lat": -34.5997, "lng": -58.3819, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Buenos Aires, Ciudad Autónoma de", "capital": "primary", "population": 16710000.0, "id": 1032717330 }, { "city": "Florencio Varela", "city_ascii": "Florencio Varela", "lat": -34.8167, "lng": -58.2833, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Buenos Aires", "capital": null, "population": 426005.0, "id": 1032730758 }, { "city": "Rosario", "city_ascii": "Rosario", "lat": -32.9575, "lng": -60.6394, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Santa Fe", "capital": "minor", "population": 1276000.0, "id": 1032770677 }, { "city": "Córdoba", "city_ascii": "Cordoba", "lat": -31.4167, "lng": -64.1833, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Córdoba", "capital": "admin", "population": 1565112.0, "id": 1032803249 }, { "city": "Santa Fe", "city_ascii": "Santa Fe", "lat": -31.6333, "lng": -60.7, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Santa Fe", "capital": "admin", "population": 405683.0, "id": 1032817575 }, { "city": "San Juan", "city_ascii": "San Juan", "lat": -31.5342, "lng": -68.5261, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "San Juan", "capital": "admin", "population": 471389.0, "id": 1032869625 }, { "city": "Salta", "city_ascii": "Salta", "lat": -24.7833, "lng": -65.4167, "country": "Argentina", "iso2": "AR", "iso3": "ARG", "admin_name": "Salta", "capital": "admin", "population": 535303.0, "id": 1032926124 }, { "city": "Central Coast", "city_ascii": "Central Coast", "lat": -33.3, "lng": 151.2, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "New South Wales", "capital": null, "population": 346596.0, "id": 1036067845 }, { "city": "Sydney", "city_ascii": "Sydney", "lat": -33.8678, "lng": 151.21, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "New South Wales", "capital": "admin", "population": 4840600.0, "id": 1036074917 }, { "city": "Canberra", "city_ascii": "Canberra", "lat": -35.2931, "lng": 149.1269, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Australian Capital Territory", "capital": "primary", "population": 381488.0, "id": 1036142029 }, { "city": "Gold Coast", "city_ascii": "Gold Coast", "lat": -28.0167, "lng": 153.4, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Queensland", "capital": null, "population": 638090.0, "id": 1036153217 }, { "city": "Perth", "city_ascii": "Perth", "lat": -31.9559, "lng": 115.8606, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Western Australia", "capital": "admin", "population": 2141834.0, "id": 1036178956 }, { "city": "Brisbane", "city_ascii": "Brisbane", "lat": -27.4678, "lng": 153.0281, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Queensland", "capital": "admin", "population": 2360241.0, "id": 1036192929 }, { "city": "Melbourne", "city_ascii": "Melbourne", "lat": -37.8142, "lng": 144.9631, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Victoria", "capital": "admin", "population": 4529500.0, "id": 1036533631 }, { "city": "Adelaide", "city_ascii": "Adelaide", "lat": -34.9275, "lng": 138.6, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "South Australia", "capital": "admin", "population": 1295714.0, "id": 1036538171 }, { "city": "Cranbourne", "city_ascii": "Cranbourne", "lat": -38.0996, "lng": 145.2834, "country": "Australia", "iso2": "AU", "iso3": "AUS", "admin_name": "Victoria", "capital": null, "population": 460491.0, "id": 1036685862 }, { "city": "Vienna", "city_ascii": "Vienna", "lat": 48.2083, "lng": 16.3725, "country": "Austria", "iso2": "AT", "iso3": "AUT", "admin_name": "Wien", "capital": "primary", "population": 1973403.0, "id": 1040261752 }, { "city": "Manama", "city_ascii": "Manama", "lat": 26.225, "lng": 50.5775, "country": "Bahrain", "iso2": "BH", "iso3": "BHR", "admin_name": "Al ‘Āşimah", "capital": "primary", "population": 436000.0, "id": 1048989486 }, { "city": "Kushtia", "city_ascii": "Kushtia", "lat": 23.9101, "lng": 89.1231, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Khulna", "capital": null, "population": 418312.0, "id": 1050000610 }, { "city": "Rangapukur", "city_ascii": "Rangapukur", "lat": 25.56, "lng": 89.25, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Rangpur", "capital": null, "population": 1031388.0, "id": 1050032005 }, { "city": "Tungi", "city_ascii": "Tungi", "lat": 23.9, "lng": 90.41, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": null, "population": 350000.0, "id": 1050143008 }, { "city": "Farīdpur", "city_ascii": "Faridpur", "lat": 23.602, "lng": 89.833, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": null, "population": 557632.0, "id": 1050187264 }, { "city": "Mymensingh", "city_ascii": "Mymensingh", "lat": 24.7539, "lng": 90.4031, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Mymensingh", "capital": "admin", "population": 576722.0, "id": 1050399881 }, { "city": "Nārāyanganj", "city_ascii": "Narayanganj", "lat": 23.62, "lng": 90.5, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": null, "population": 1572386.0, "id": 1050424421 }, { "city": "Gāzipura", "city_ascii": "Gazipura", "lat": 23.9889, "lng": 90.375, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": null, "population": 1199215.0, "id": 1050449249 }, { "city": "Dhaka", "city_ascii": "Dhaka", "lat": 23.7639, "lng": 90.3889, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": "primary", "population": 18627000.0, "id": 1050529279 }, { "city": "Rājshāhi", "city_ascii": "Rajshahi", "lat": 24.3667, "lng": 88.6, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Rājshāhi", "capital": "admin", "population": 763580.0, "id": 1050547831 }, { "city": "Tāngāil", "city_ascii": "Tangail", "lat": 24.2644, "lng": 89.9181, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Dhaka", "capital": null, "population": 392300.0, "id": 1050628940 }, { "city": "Sylhet", "city_ascii": "Sylhet", "lat": 24.9, "lng": 91.8667, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Sylhet", "capital": "admin", "population": 479837.0, "id": 1050646703 }, { "city": "Khulna", "city_ascii": "Khulna", "lat": 22.8167, "lng": 89.55, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Khulna", "capital": "admin", "population": 1400689.0, "id": 1050667339 }, { "city": "Chauddagram", "city_ascii": "Chauddagram", "lat": 23.2283, "lng": 91.3133, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Chattogram", "capital": null, "population": 443648.0, "id": 1050749168 }, { "city": "Chattogram", "city_ascii": "Chattogram", "lat": 22.335, "lng": 91.8325, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Chattogram", "capital": "admin", "population": 7000000.0, "id": 1050830722 }, { "city": "Barura", "city_ascii": "Barura", "lat": 23.375, "lng": 91.0583, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Chattogram", "capital": null, "population": 473590.0, "id": 1050831924 }, { "city": "Bogra", "city_ascii": "Bogra", "lat": 24.85, "lng": 89.3667, "country": "Bangladesh", "iso2": "BD", "iso3": "BGD", "admin_name": "Rājshāhi", "capital": null, "population": 400983.0, "id": 1050833664 }, { "city": "Yerevan", "city_ascii": "Yerevan", "lat": 40.1814, "lng": 44.5144, "country": "Armenia", "iso2": "AM", "iso3": "ARM", "admin_name": "Yerevan", "capital": "primary", "population": 1075800.0, "id": 1051074169 }, { "city": "Antwerp", "city_ascii": "Antwerp", "lat": 51.2178, "lng": 4.4003, "country": "Belgium", "iso2": "BE", "iso3": "BEL", "admin_name": "Flanders", "capital": "minor", "population": 529247.0, "id": 1056168623 }, { "city": "Brussels", "city_ascii": "Brussels", "lat": 50.8467, "lng": 4.3525, "country": "Belgium", "iso2": "BE", "iso3": "BEL", "admin_name": "Brussels-Capital Region", "capital": "primary", "population": 1743000.0, "id": 1056469830 }, { "city": "La Paz", "city_ascii": "La Paz", "lat": -16.5, "lng": -68.15, "country": "Bolivia", "iso2": "BO", "iso3": "BOL", "admin_name": "La Paz", "capital": "primary", "population": 2867504.0, "id": 1068000064 }, { "city": "El Alto", "city_ascii": "El Alto", "lat": -16.5047, "lng": -68.1633, "country": "Bolivia", "iso2": "BO", "iso3": "BOL", "admin_name": "La Paz", "capital": null, "population": 943000.0, "id": 1068007058 }, { "city": "Santa Cruz", "city_ascii": "Santa Cruz", "lat": -17.7892, "lng": -63.1975, "country": "Bolivia", "iso2": "BO", "iso3": "BOL", "admin_name": "Santa Cruz", "capital": "admin", "population": 3151676.0, "id": 1068129363 }, { "city": "Oruro", "city_ascii": "Oruro", "lat": -17.9667, "lng": -67.1167, "country": "Bolivia", "iso2": "BO", "iso3": "BOL", "admin_name": "Oruro", "capital": null, "population": 351802.0, "id": 1068626742 }, { "city": "Cochabamba", "city_ascii": "Cochabamba", "lat": -17.3833, "lng": -66.1667, "country": "Bolivia", "iso2": "BO", "iso3": "BOL", "admin_name": "Cochabamba", "capital": "admin", "population": 856198.0, "id": 1068793894 }, { "city": "Sarajevo", "city_ascii": "Sarajevo", "lat": 43.8564, "lng": 18.4131, "country": "Bosnia and Herzegovina", "iso2": "BA", "iso3": "BIH", "admin_name": "Bosnia and Herzegovina, Federation of", "capital": "primary", "population": 419957.0, "id": 1070966777 }, { "city": "Jaboatão", "city_ascii": "Jaboatao", "lat": -8.1803, "lng": -35.0014, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pernambuco", "capital": null, "population": 702621.0, "id": 1076000699 }, { "city": "Juiz de Fora", "city_ascii": "Juiz de Fora", "lat": -21.7619, "lng": -43.3494, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 573285.0, "id": 1076006144 }, { "city": "Maringá", "city_ascii": "Maringa", "lat": -23.4, "lng": -51.9167, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Paraná", "capital": null, "population": 403063.0, "id": 1076013378 }, { "city": "Ananindeua", "city_ascii": "Ananindeua", "lat": -1.3658, "lng": -48.3719, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pará", "capital": null, "population": 540410.0, "id": 1076025295 }, { "city": "Santos", "city_ascii": "Santos", "lat": -23.9369, "lng": -46.325, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 1897551.0, "id": 1076033299 }, { "city": "Goiânia", "city_ascii": "Goiania", "lat": -16.6667, "lng": -49.25, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Goiás", "capital": "admin", "population": 1393575.0, "id": 1076034054 }, { "city": "Porto Velho", "city_ascii": "Porto Velho", "lat": -8.7619, "lng": -63.9039, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rondônia", "capital": "admin", "population": 428527.0, "id": 1076045591 }, { "city": "Joinvile", "city_ascii": "Joinvile", "lat": -26.3204, "lng": -48.8437, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Santa Catarina", "capital": null, "population": 515288.0, "id": 1076050637 }, { "city": "Cuiabá", "city_ascii": "Cuiaba", "lat": -15.5958, "lng": -56.0969, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Mato Grosso", "capital": "admin", "population": 585367.0, "id": 1076112309 }, { "city": "Montes Claros", "city_ascii": "Montes Claros", "lat": -16.7306, "lng": -43.8639, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 361915.0, "id": 1076113275 }, { "city": "Recife", "city_ascii": "Recife", "lat": -8.05, "lng": -34.9, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pernambuco", "capital": "admin", "population": 1653461.0, "id": 1076137337 }, { "city": "Brasília", "city_ascii": "Brasilia", "lat": -15.7939, "lng": -47.8828, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Distrito Federal", "capital": "primary", "population": 3039444.0, "id": 1076144436 }, { "city": "Campinas", "city_ascii": "Campinas", "lat": -22.9058, "lng": -47.0608, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 1213792.0, "id": 1076145766 }, { "city": "Piracicaba", "city_ascii": "Piracicaba", "lat": -22.7253, "lng": -47.6492, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 391449.0, "id": 1076166252 }, { "city": "Macapá", "city_ascii": "Macapa", "lat": 0.033, "lng": -51.0653, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Amapá", "capital": "admin", "population": 512902.0, "id": 1076189884 }, { "city": "Florianópolis", "city_ascii": "Florianopolis", "lat": -27.6122, "lng": -48.4853, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Santa Catarina", "capital": "admin", "population": 477798.0, "id": 1076190259 }, { "city": "Serra", "city_ascii": "Serra", "lat": -20.1289, "lng": -40.3078, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Espírito Santo", "capital": null, "population": 485376.0, "id": 1076191325 }, { "city": "Anápolis", "city_ascii": "Anapolis", "lat": -16.3339, "lng": -48.9519, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Goiás", "capital": null, "population": 366491.0, "id": 1076208869 }, { "city": "Campina Grande", "city_ascii": "Campina Grande", "lat": -7.2306, "lng": -35.8811, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Paraíba", "capital": null, "population": 405072.0, "id": 1076218697 }, { "city": "Natal", "city_ascii": "Natal", "lat": -6.9838, "lng": -60.2699, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Amazonas", "capital": null, "population": 980588.0, "id": 1076336975 }, { "city": "Iguaçu", "city_ascii": "Iguacu", "lat": -22.74, "lng": -43.47, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio de Janeiro", "capital": null, "population": 844583.0, "id": 1076339714 }, { "city": "Vitória", "city_ascii": "Vitoria", "lat": -20.2889, "lng": -40.3083, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Espírito Santo", "capital": "admin", "population": 355875.0, "id": 1076376829 }, { "city": "Rio Branco", "city_ascii": "Rio Branco", "lat": -9.9747, "lng": -67.81, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Acre", "capital": "admin", "population": 413418.0, "id": 1076391263 }, { "city": "Caruaru", "city_ascii": "Caruaru", "lat": -8.2828, "lng": -35.9758, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pernambuco", "capital": null, "population": 347088.0, "id": 1076397475 }, { "city": "Vila Velha", "city_ascii": "Vila Velha", "lat": -20.3364, "lng": -40.2936, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Espírito Santo", "capital": null, "population": 472762.0, "id": 1076404077 }, { "city": "Abaeté", "city_ascii": "Abaete", "lat": -19.1583, "lng": -45.4522, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 800000.0, "id": 1076413528 }, { "city": "Maceió", "city_ascii": "Maceio", "lat": -9.6658, "lng": -35.735, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Alagoas", "capital": "admin", "population": 1025360.0, "id": 1076440479 }, { "city": "Mauá", "city_ascii": "Maua", "lat": -23.6678, "lng": -46.4608, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 453286.0, "id": 1076477498 }, { "city": "Cariacica", "city_ascii": "Cariacica", "lat": -20.2639, "lng": -40.42, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Espírito Santo", "capital": null, "population": 348738.0, "id": 1076479479 }, { "city": "São Gonçalo", "city_ascii": "Sao Goncalo", "lat": -22.8269, "lng": -43.0539, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio de Janeiro", "capital": null, "population": 1077687.0, "id": 1076485783 }, { "city": "Uberlândia", "city_ascii": "Uberlandia", "lat": -18.9231, "lng": -48.2886, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 604013.0, "id": 1076495001 }, { "city": "Niterói", "city_ascii": "Niteroi", "lat": -22.8833, "lng": -43.1036, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio de Janeiro", "capital": null, "population": 496696.0, "id": 1076501425 }, { "city": "Ribeirão Prêto", "city_ascii": "Ribeirao Preto", "lat": -21.1783, "lng": -47.8067, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 711825.0, "id": 1076524478 }, { "city": "Aracaju", "city_ascii": "Aracaju", "lat": -10.9167, "lng": -37.05, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Sergipe", "capital": "admin", "population": 632744.0, "id": 1076527830 }, { "city": "São Paulo", "city_ascii": "Sao Paulo", "lat": -23.55, "lng": -46.6333, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": "admin", "population": 23086000.0, "id": 1076532519 }, { "city": "Fortaleza", "city_ascii": "Fortaleza", "lat": -3.7275, "lng": -38.5275, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Ceará", "capital": "admin", "population": 2452185.0, "id": 1076567885 }, { "city": "Vila Velha", "city_ascii": "Vila Velha", "lat": 3.2167, "lng": -51.2167, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Amapá", "capital": null, "population": 1209091.0, "id": 1076575691 }, { "city": "Campos", "city_ascii": "Campos", "lat": -21.7539, "lng": -41.3239, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio de Janeiro", "capital": null, "population": 463731.0, "id": 1076606365 }, { "city": "Manaus", "city_ascii": "Manaus", "lat": -3.1, "lng": -60.0167, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Amazonas", "capital": "admin", "population": 2219580.0, "id": 1076607274 }, { "city": "Blumenau", "city_ascii": "Blumenau", "lat": -26.9333, "lng": -49.05, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Santa Catarina", "capital": null, "population": 361855.0, "id": 1076618665 }, { "city": "Boa Vista", "city_ascii": "Boa Vista", "lat": 2.8194, "lng": -60.6714, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Roraima", "capital": "admin", "population": 419652.0, "id": 1076621300 }, { "city": "Santo André", "city_ascii": "Santo Andre", "lat": -23.6572, "lng": -46.5333, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 721368.0, "id": 1076625886 }, { "city": "Belém", "city_ascii": "Belem", "lat": -1.4558, "lng": -48.5039, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pará", "capital": "admin", "population": 1499641.0, "id": 1076646823 }, { "city": "Porto Alegre", "city_ascii": "Porto Alegre", "lat": -30.0331, "lng": -51.23, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio Grande do Sul", "capital": "admin", "population": 1484941.0, "id": 1076658221 }, { "city": "Campo Grande", "city_ascii": "Campo Grande", "lat": -20.4839, "lng": -54.615, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Mato Grosso do Sul", "capital": "admin", "population": 906092.0, "id": 1076660445 }, { "city": "Natal", "city_ascii": "Natal", "lat": -5.7833, "lng": -35.2, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio Grande do Norte", "capital": "admin", "population": 877662.0, "id": 1076697777 }, { "city": "Curitiba", "city_ascii": "Curitiba", "lat": -25.4297, "lng": -49.2711, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Paraná", "capital": "admin", "population": 1879355.0, "id": 1076701712 }, { "city": "Londrina", "city_ascii": "Londrina", "lat": -23.31, "lng": -51.1628, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Paraná", "capital": null, "population": 548249.0, "id": 1076723241 }, { "city": "Teresina", "city_ascii": "Teresina", "lat": -5.0949, "lng": -42.8042, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Piauí", "capital": "admin", "population": 953172.0, "id": 1076727667 }, { "city": "Guarulhos", "city_ascii": "Guarulhos", "lat": -23.4628, "lng": -46.5328, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 1324781.0, "id": 1076730420 }, { "city": "Franca", "city_ascii": "Franca", "lat": -20.5389, "lng": -47.4008, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 358539.0, "id": 1076740256 }, { "city": "Sorocaba", "city_ascii": "Sorocaba", "lat": -23.5017, "lng": -47.4581, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 644919.0, "id": 1076758708 }, { "city": "São José do Rio Prêto", "city_ascii": "Sao Jose do Rio Preto", "lat": -20.8081, "lng": -49.3811, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 469173.0, "id": 1076760827 }, { "city": "São José dos Campos", "city_ascii": "Sao Jose dos Campos", "lat": -23.1789, "lng": -45.8869, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 729737.0, "id": 1076783887 }, { "city": "Olinda", "city_ascii": "Olinda", "lat": -8.0, "lng": -34.8833, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Pernambuco", "capital": null, "population": 393115.0, "id": 1076784718 }, { "city": "Osasco", "city_ascii": "Osasco", "lat": -23.5328, "lng": -46.7919, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 694844.0, "id": 1076786452 }, { "city": "São Bernardo do Campo", "city_ascii": "Sao Bernardo do Campo", "lat": -23.7, "lng": -46.55, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 816925.0, "id": 1076793227 }, { "city": "Caxias do Sul", "city_ascii": "Caxias do Sul", "lat": -29.1667, "lng": -51.1833, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio Grande do Sul", "capital": null, "population": 435564.0, "id": 1076809957 }, { "city": "Vitória da Conquista", "city_ascii": "Vitoria da Conquista", "lat": -14.8658, "lng": -40.8389, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Bahia", "capital": null, "population": 343230.0, "id": 1076812020 }, { "city": "São Luís", "city_ascii": "Sao Luis", "lat": -2.5283, "lng": -44.3044, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Maranhão", "capital": "admin", "population": 1108975.0, "id": 1076819308 }, { "city": "Contagem", "city_ascii": "Contagem", "lat": -19.9319, "lng": -44.0539, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 648766.0, "id": 1076845191 }, { "city": "São Vicente", "city_ascii": "Sao Vicente", "lat": -23.9633, "lng": -46.3922, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 355542.0, "id": 1076857089 }, { "city": "Mogi das Cruzes", "city_ascii": "Mogi das Cruzes", "lat": -23.5228, "lng": -46.1878, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 450785.0, "id": 1076857883 }, { "city": "Diadema", "city_ascii": "Diadema", "lat": -23.6861, "lng": -46.6106, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 426757.0, "id": 1076867279 }, { "city": "Caucaia", "city_ascii": "Caucaia", "lat": -3.7167, "lng": -38.65, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Ceará", "capital": null, "population": 368918.0, "id": 1076870058 }, { "city": "Carapicuíba", "city_ascii": "Carapicuiba", "lat": -23.5192, "lng": -46.8358, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 403183.0, "id": 1076874103 }, { "city": "Rio de Janeiro", "city_ascii": "Rio de Janeiro", "lat": -22.9111, "lng": -43.2056, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Rio de Janeiro", "capital": "admin", "population": 12592000.0, "id": 1076887657 }, { "city": "Feira de Santana", "city_ascii": "Feira de Santana", "lat": -12.25, "lng": -38.95, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Bahia", "capital": null, "population": 617528.0, "id": 1076892244 }, { "city": "Bauru", "city_ascii": "Bauru", "lat": -22.315, "lng": -49.0608, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 366992.0, "id": 1076905338 }, { "city": "João Pessoa", "city_ascii": "Joao Pessoa", "lat": -7.12, "lng": -34.88, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Paraíba", "capital": "admin", "population": 801718.0, "id": 1076922014 }, { "city": "Salvador", "city_ascii": "Salvador", "lat": -12.9747, "lng": -38.4767, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Bahia", "capital": "admin", "population": 2886698.0, "id": 1076923789 }, { "city": "Itaquaquecetuba", "city_ascii": "Itaquaquecetuba", "lat": -23.4864, "lng": -46.3486, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 352801.0, "id": 1076942224 }, { "city": "Betim", "city_ascii": "Betim", "lat": -19.9678, "lng": -44.1978, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": null, "population": 378089.0, "id": 1076953384 }, { "city": "Belo Horizonte", "city_ascii": "Belo Horizonte", "lat": -19.9167, "lng": -43.9333, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "Minas Gerais", "capital": "admin", "population": 5328000.0, "id": 1076967355 }, { "city": "Jundiaí", "city_ascii": "Jundiai", "lat": -23.1858, "lng": -46.8839, "country": "Brazil", "iso2": "BR", "iso3": "BRA", "admin_name": "São Paulo", "capital": null, "population": 401896.0, "id": 1076998392 }, { "city": "Plovdiv", "city_ascii": "Plovdiv", "lat": 42.15, "lng": 24.75, "country": "Bulgaria", "iso2": "BG", "iso3": "BGR", "admin_name": "Plovdiv", "capital": "admin", "population": 383540.0, "id": 1100436706 }, { "city": "Sofia", "city_ascii": "Sofia", "lat": 42.7, "lng": 23.33, "country": "Bulgaria", "iso2": "BG", "iso3": "BGR", "admin_name": "Sofia-Grad", "capital": "primary", "population": 1547779.0, "id": 1100762037 }, { "city": "Varna", "city_ascii": "Varna", "lat": 43.2167, "lng": 27.9167, "country": "Bulgaria", "iso2": "BG", "iso3": "BGR", "admin_name": "Varna", "capital": "admin", "population": 348668.0, "id": 1100789115 }, { "city": "Maungdaw", "city_ascii": "Maungdaw", "lat": 20.8167, "lng": 92.3667, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Rakhine State", "capital": null, "population": 400000.0, "id": 1104000431 }, { "city": "Taunggyi", "city_ascii": "Taunggyi", "lat": 20.7836, "lng": 97.0354, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Shan State", "capital": "admin", "population": 381639.0, "id": 1104364374 }, { "city": "Mandalay", "city_ascii": "Mandalay", "lat": 21.9831, "lng": 96.0844, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Mandalay", "capital": "admin", "population": 1319452.0, "id": 1104468217 }, { "city": "Hpa-An", "city_ascii": "Hpa-An", "lat": 16.8906, "lng": 97.6333, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Kayin State", "capital": "admin", "population": 421525.0, "id": 1104494124 }, { "city": "Rangoon", "city_ascii": "Rangoon", "lat": 16.795, "lng": 96.16, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Yangon", "capital": "primary", "population": 5209541.0, "id": 1104616656 }, { "city": "Kyaukse", "city_ascii": "Kyaukse", "lat": 21.6131, "lng": 96.1303, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Mandalay", "capital": null, "population": 741071.0, "id": 1104814217 }, { "city": "Nay Pyi Taw", "city_ascii": "Nay Pyi Taw", "lat": 19.7475, "lng": 96.115, "country": "Myanmar", "iso2": "MM", "iso3": "MMR", "admin_name": "Nay Pyi Taw", "capital": "primary", "population": 1160242.0, "id": 1104838105 }, { "city": "Bujumbura", "city_ascii": "Bujumbura", "lat": -3.3833, "lng": 29.3667, "country": "Burundi", "iso2": "BI", "iso3": "BDI", "admin_name": "Bujumbura Mairie", "capital": "primary", "population": 1075000.0, "id": 1108101689 }, { "city": "Hrodna", "city_ascii": "Hrodna", "lat": 53.6667, "lng": 23.8333, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Hrodzyenskaya Voblasts’", "capital": "admin", "population": 357493.0, "id": 1112187197 }, { "city": "Minsk", "city_ascii": "Minsk", "lat": 53.9, "lng": 27.5667, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Minsk", "capital": "primary", "population": 2009786.0, "id": 1112348503 }, { "city": "Vitsyebsk", "city_ascii": "Vitsyebsk", "lat": 55.1917, "lng": 30.2056, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Vitsyebskaya Voblasts’", "capital": "admin", "population": 366299.0, "id": 1112480679 }, { "city": "Mahilyow", "city_ascii": "Mahilyow", "lat": 53.9167, "lng": 30.35, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Mahilyowskaya Voblasts’", "capital": "admin", "population": 357100.0, "id": 1112518993 }, { "city": "Homyel’", "city_ascii": "Homyel'", "lat": 52.4453, "lng": 30.9842, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Homyel’skaya Voblasts’", "capital": "admin", "population": 510300.0, "id": 1112580227 }, { "city": "Brest", "city_ascii": "Brest", "lat": 52.1347, "lng": 23.6569, "country": "Belarus", "iso2": "BY", "iso3": "BLR", "admin_name": "Brestskaya Voblasts’", "capital": "admin", "population": 340723.0, "id": 1112896927 }, { "city": "Phnom Penh", "city_ascii": "Phnom Penh", "lat": 11.5694, "lng": 104.9211, "country": "Cambodia", "iso2": "KH", "iso3": "KHM", "admin_name": "Phnom Penh", "capital": "primary", "population": 2129371.0, "id": 1116260534 }, { "city": "Yaoundé", "city_ascii": "Yaounde", "lat": 3.8667, "lng": 11.5167, "country": "Cameroon", "iso2": "CM", "iso3": "CMR", "admin_name": "Centre", "capital": "primary", "population": 2440462.0, "id": 1120298240 }, { "city": "Bafoussam", "city_ascii": "Bafoussam", "lat": 5.4667, "lng": 10.4167, "country": "Cameroon", "iso2": "CM", "iso3": "CMR", "admin_name": "Ouest", "capital": "admin", "population": 1146000.0, "id": 1120435460 }, { "city": "Douala", "city_ascii": "Douala", "lat": 4.05, "lng": 9.7, "country": "Cameroon", "iso2": "CM", "iso3": "CMR", "admin_name": "Littoral", "capital": "admin", "population": 5768400.0, "id": 1120494607 }, { "city": "Garoua", "city_ascii": "Garoua", "lat": 9.3, "lng": 13.4, "country": "Cameroon", "iso2": "CM", "iso3": "CMR", "admin_name": "Nord", "capital": "admin", "population": 600000.0, "id": 1120803808 }, { "city": "Bamenda", "city_ascii": "Bamenda", "lat": 5.9614, "lng": 10.1517, "country": "Cameroon", "iso2": "CM", "iso3": "CMR", "admin_name": "North-West", "capital": "admin", "population": 2000000.0, "id": 1120909610 }, { "city": "Surrey", "city_ascii": "Surrey", "lat": 49.19, "lng": -122.8489, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "British Columbia", "capital": null, "population": 517887.0, "id": 1124001454 }, { "city": "Mississauga", "city_ascii": "Mississauga", "lat": 43.6, "lng": -79.65, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": null, "population": 721599.0, "id": 1124112672 }, { "city": "Halifax", "city_ascii": "Halifax", "lat": 44.6475, "lng": -63.5906, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Nova Scotia", "capital": "admin", "population": 403131.0, "id": 1124130981 }, { "city": "Kitchener", "city_ascii": "Kitchener", "lat": 43.4186, "lng": -80.4728, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": null, "population": 470015.0, "id": 1124158530 }, { "city": "Winnipeg", "city_ascii": "Winnipeg", "lat": 49.8844, "lng": -97.1464, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Manitoba", "capital": "admin", "population": 705244.0, "id": 1124224963 }, { "city": "Toronto", "city_ascii": "Toronto", "lat": 43.7417, "lng": -79.3733, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": "admin", "population": 5429524.0, "id": 1124279679 }, { "city": "Edmonton", "city_ascii": "Edmonton", "lat": 53.5344, "lng": -113.4903, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Alberta", "capital": "admin", "population": 1062643.0, "id": 1124290735 }, { "city": "Ottawa", "city_ascii": "Ottawa", "lat": 45.4247, "lng": -75.695, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": "primary", "population": 989567.0, "id": 1124399363 }, { "city": "London", "city_ascii": "London", "lat": 42.9836, "lng": -81.2497, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": null, "population": 383822.0, "id": 1124469960 }, { "city": "Hamilton", "city_ascii": "Hamilton", "lat": 43.2567, "lng": -79.8692, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": null, "population": 693645.0, "id": 1124567288 }, { "city": "Montréal", "city_ascii": "Montreal", "lat": 45.5089, "lng": -73.5617, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Quebec", "capital": null, "population": 3519595.0, "id": 1124586170 }, { "city": "Brampton", "city_ascii": "Brampton", "lat": 43.6833, "lng": -79.7667, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Ontario", "capital": null, "population": 593638.0, "id": 1124625989 }, { "city": "Calgary", "city_ascii": "Calgary", "lat": 51.05, "lng": -114.0667, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Alberta", "capital": null, "population": 1239220.0, "id": 1124690423 }, { "city": "Quebec City", "city_ascii": "Quebec City", "lat": 46.8139, "lng": -71.2081, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Quebec", "capital": "admin", "population": 705103.0, "id": 1124823933 }, { "city": "Vancouver", "city_ascii": "Vancouver", "lat": 49.25, "lng": -123.1, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "British Columbia", "capital": null, "population": 2264823.0, "id": 1124825478 }, { "city": "Laval", "city_ascii": "Laval", "lat": 45.5833, "lng": -73.75, "country": "Canada", "iso2": "CA", "iso3": "CAN", "admin_name": "Quebec", "capital": null, "population": 422993.0, "id": 1124922301 }, { "city": "Bangui", "city_ascii": "Bangui", "lat": 4.3733, "lng": 18.5628, "country": "Central African Republic", "iso2": "CF", "iso3": "CAF", "admin_name": "Bangui", "capital": "primary", "population": 889231.0, "id": 1140080881 }, { "city": "Colombo", "city_ascii": "Colombo", "lat": 6.9344, "lng": 79.8428, "country": "Sri Lanka", "iso2": "LK", "iso3": "LKA", "admin_name": "Western", "capital": "primary", "population": 2323826.0, "id": 1144251314 }, { "city": "N’Djamena", "city_ascii": "N'Djamena", "lat": 12.11, "lng": 15.05, "country": "Chad", "iso2": "TD", "iso3": "TCD", "admin_name": "N’Djamena", "capital": "primary", "population": 1092066.0, "id": 1148708596 }, { "city": "Puente Alto", "city_ascii": "Puente Alto", "lat": -33.6167, "lng": -70.5667, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Región Metropolitana", "capital": "minor", "population": 573935.0, "id": 1152516346 }, { "city": "Santiago", "city_ascii": "Santiago", "lat": -33.4372, "lng": -70.6506, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Región Metropolitana", "capital": "primary", "population": 7171000.0, "id": 1152554349 }, { "city": "Maipú", "city_ascii": "Maipu", "lat": -33.5167, "lng": -70.7667, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Región Metropolitana", "capital": null, "population": 521627.0, "id": 1152583016 }, { "city": "Antofagasta", "city_ascii": "Antofagasta", "lat": -23.65, "lng": -70.4, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Antofagasta", "capital": "admin", "population": 348517.0, "id": 1152734289 }, { "city": "Concepción", "city_ascii": "Concepcion", "lat": -36.8282, "lng": -73.0514, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Biobío", "capital": "admin", "population": 719944.0, "id": 1152838958 }, { "city": "La Florida", "city_ascii": "La Florida", "lat": -33.5333, "lng": -70.5833, "country": "Chile", "iso2": "CL", "iso3": "CHL", "admin_name": "Región Metropolitana", "capital": null, "population": 366916.0, "id": 1152939649 }, { "city": "Cencheng", "city_ascii": "Cencheng", "lat": 22.9297, "lng": 111.0186, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 772113.0, "id": 1156000460 }, { "city": "Yongji", "city_ascii": "Yongji", "lat": 34.867, "lng": 110.4417, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 444724.0, "id": 1156001205 }, { "city": "Xiaoganzhan", "city_ascii": "Xiaoganzhan", "lat": 30.9273, "lng": 113.911, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 4921000.0, "id": 1156002290 }, { "city": "Lengshuijiang", "city_ascii": "Lengshuijiang", "lat": 27.6858, "lng": 111.4279, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 370300.0, "id": 1156002852 }, { "city": "Liaocheng", "city_ascii": "Liaocheng", "lat": 36.45, "lng": 115.9833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 5952128.0, "id": 1156006600 }, { "city": "Yatou", "city_ascii": "Yatou", "lat": 37.1653, "lng": 122.4867, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 714211.0, "id": 1156009046 }, { "city": "Loudi", "city_ascii": "Loudi", "lat": 27.7378, "lng": 111.9974, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 3931800.0, "id": 1156010654 }, { "city": "Changsha", "city_ascii": "Changsha", "lat": 22.3762, "lng": 112.6877, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 717700.0, "id": 1156011120 }, { "city": "Yingcheng", "city_ascii": "Yingcheng", "lat": 24.1878, "lng": 113.4042, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 986400.0, "id": 1156012356 }, { "city": "Longyan", "city_ascii": "Longyan", "lat": 25.0881, "lng": 117.0244, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2723637.0, "id": 1156012979 }, { "city": "Heshan", "city_ascii": "Heshan", "lat": 22.7697, "lng": 112.9578, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 516500.0, "id": 1156013872 }, { "city": "Wancheng", "city_ascii": "Wancheng", "lat": 18.8, "lng": 110.4, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "minor", "population": 578600.0, "id": 1156017483 }, { "city": "Kaihua", "city_ascii": "Kaihua", "lat": 23.3715, "lng": 104.2437, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 481505.0, "id": 1156017759 }, { "city": "Botou", "city_ascii": "Botou", "lat": 38.074, "lng": 116.57, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 584308.0, "id": 1156018338 }, { "city": "Huadian", "city_ascii": "Huadian", "lat": 42.9633, "lng": 126.7478, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 455339.0, "id": 1156018839 }, { "city": "Bijie", "city_ascii": "Bijie", "lat": 27.3019, "lng": 105.2863, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 6899636.0, "id": 1156018927 }, { "city": "Wuxi", "city_ascii": "Wuxi", "lat": 31.5667, "lng": 120.2833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 3245179.0, "id": 1156019650 }, { "city": "Lianzhou", "city_ascii": "Lianzhou", "lat": 24.7868, "lng": 112.3735, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 384700.0, "id": 1156020454 }, { "city": "Meishan", "city_ascii": "Meishan", "lat": 34.1736, "lng": 112.839, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 936000.0, "id": 1156023073 }, { "city": "Zigong", "city_ascii": "Zigong", "lat": 29.3498, "lng": 104.7645, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": null, "population": 2678899.0, "id": 1156023354 }, { "city": "Sanzhou", "city_ascii": "Sanzhou", "lat": 30.82, "lng": 108.4, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Chongqing", "capital": null, "population": 1680000.0, "id": 1156025536 }, { "city": "Wuxue", "city_ascii": "Wuxue", "lat": 29.8518, "lng": 115.5539, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 644247.0, "id": 1156027100 }, { "city": "Suzhou", "city_ascii": "Suzhou", "lat": 31.3, "lng": 120.6194, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 4330000.0, "id": 1156029196 }, { "city": "Shanhu", "city_ascii": "Shanhu", "lat": 29.5908, "lng": 120.8176, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 679762.0, "id": 1156029691 }, { "city": "Qinbaling", "city_ascii": "Qinbaling", "lat": 35.7278, "lng": 107.64, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": null, "population": 2211191.0, "id": 1156032582 }, { "city": "Baotou", "city_ascii": "Baotou", "lat": 40.6562, "lng": 109.8345, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": null, "population": 2709378.0, "id": 1156032751 }, { "city": "Rizhao", "city_ascii": "Rizhao", "lat": 35.4164, "lng": 119.4331, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 2968365.0, "id": 1156032841 }, { "city": "Jingcheng", "city_ascii": "Jingcheng", "lat": 32.0058, "lng": 120.2547, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 684360.0, "id": 1156033208 }, { "city": "Jiangyin", "city_ascii": "Jiangyin", "lat": 31.9087, "lng": 120.2653, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 1285785.0, "id": 1156033234 }, { "city": "Qingping", "city_ascii": "Qingping", "lat": 34.538, "lng": 113.3796, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 797200.0, "id": 1156033855 }, { "city": "Longjiang", "city_ascii": "Longjiang", "lat": 27.582, "lng": 120.5488, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 464695.0, "id": 1156034166 }, { "city": "Xinpu", "city_ascii": "Xinpu", "lat": 34.5906, "lng": 119.1801, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 4599360.0, "id": 1156035381 }, { "city": "Huichang", "city_ascii": "Huichang", "lat": 34.9136, "lng": 112.7852, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 367113.0, "id": 1156035769 }, { "city": "Chuzhou", "city_ascii": "Chuzhou", "lat": 32.3062, "lng": 118.3115, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 3987054.0, "id": 1156036420 }, { "city": "Jingdezhen", "city_ascii": "Jingdezhen", "lat": 29.2942, "lng": 117.2036, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 1673200.0, "id": 1156038165 }, { "city": "Hongjiang", "city_ascii": "Hongjiang", "lat": 27.1167, "lng": 109.95, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 498100.0, "id": 1156039152 }, { "city": "Hengzhou", "city_ascii": "Hengzhou", "lat": 22.6896, "lng": 109.2674, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 908400.0, "id": 1156041202 }, { "city": "Zhuzhou", "city_ascii": "Zhuzhou", "lat": 27.8407, "lng": 113.1469, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 4020800.0, "id": 1156041962 }, { "city": "Linxia Chengguanzhen", "city_ascii": "Linxia Chengguanzhen", "lat": 35.6, "lng": 103.2167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 355968.0, "id": 1156043522 }, { "city": "Leling", "city_ascii": "Leling", "lat": 37.7333, "lng": 117.2167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 689867.0, "id": 1156044041 }, { "city": "Lincang", "city_ascii": "Lincang", "lat": 23.8864, "lng": 100.0871, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 2536000.0, "id": 1156044130 }, { "city": "Zhuozhou", "city_ascii": "Zhuozhou", "lat": 39.4887, "lng": 115.9918, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 603535.0, "id": 1156045160 }, { "city": "Nantong", "city_ascii": "Nantong", "lat": 31.9829, "lng": 120.8873, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 2261382.0, "id": 1156045365 }, { "city": "Puxi", "city_ascii": "Puxi", "lat": 35.2125, "lng": 114.735, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 809535.0, "id": 1156046618 }, { "city": "Lianshan", "city_ascii": "Lianshan", "lat": 40.7523, "lng": 120.828, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 2426000.0, "id": 1156046704 }, { "city": "Xushan", "city_ascii": "Xushan", "lat": 30.1697, "lng": 121.2665, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1502000.0, "id": 1156046916 }, { "city": "Yan’an Beilu", "city_ascii": "Yan'an Beilu", "lat": 44.0144, "lng": 87.2674, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 426253.0, "id": 1156048097 }, { "city": "Ürümqi", "city_ascii": "Urumqi", "lat": 43.8225, "lng": 87.6125, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "admin", "population": 4335017.0, "id": 1156051276 }, { "city": "Shuyangzha", "city_ascii": "Shuyangzha", "lat": 34.1299, "lng": 118.7734, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 1770000.0, "id": 1156051957 }, { "city": "Wenling", "city_ascii": "Wenling", "lat": 28.3797, "lng": 121.3718, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 1416199.0, "id": 1156052493 }, { "city": "Haicheng", "city_ascii": "Haicheng", "lat": 40.8523, "lng": 122.7474, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 1293877.0, "id": 1156052713 }, { "city": "Yunfu", "city_ascii": "Yunfu", "lat": 22.9242, "lng": 112.0353, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2526900.0, "id": 1156057251 }, { "city": "Leiyang", "city_ascii": "Leiyang", "lat": 26.4179, "lng": 112.8457, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1151554.0, "id": 1156057789 }, { "city": "Changzhi", "city_ascii": "Changzhi", "lat": 36.1953, "lng": 113.097, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 3334565.0, "id": 1156057944 }, { "city": "Dunhua", "city_ascii": "Dunhua", "lat": 43.3667, "lng": 128.2333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 483811.0, "id": 1156058709 }, { "city": "Wudalianchi", "city_ascii": "Wudalianchi", "lat": 48.6433, "lng": 126.1408, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 360000.0, "id": 1156059331 }, { "city": "Jingling", "city_ascii": "Jingling", "lat": 30.6667, "lng": 113.1667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 1247400.0, "id": 1156060544 }, { "city": "Siping", "city_ascii": "Siping", "lat": 43.1715, "lng": 124.3644, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 3385156.0, "id": 1156063295 }, { "city": "Ghulja", "city_ascii": "Ghulja", "lat": 43.9, "lng": 81.35, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 542507.0, "id": 1156064979 }, { "city": "Pingxiang", "city_ascii": "Pingxiang", "lat": 27.6333, "lng": 113.85, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 1933200.0, "id": 1156066465 }, { "city": "Luoyang", "city_ascii": "Luoyang", "lat": 34.6587, "lng": 112.4245, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 2372571.0, "id": 1156069315 }, { "city": "Zhangjiajie", "city_ascii": "Zhangjiajie", "lat": 29.1255, "lng": 110.4844, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1537900.0, "id": 1156072884 }, { "city": "Shanghai", "city_ascii": "Shanghai", "lat": 31.1667, "lng": 121.4667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanghai", "capital": "admin", "population": 24073000.0, "id": 1156073548 }, { "city": "Shishi", "city_ascii": "Shishi", "lat": 24.7355, "lng": 118.6434, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 693000.0, "id": 1156077046 }, { "city": "Zhugang", "city_ascii": "Zhugang", "lat": 28.1277, "lng": 121.2288, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 616346.0, "id": 1156077330 }, { "city": "Yiwu", "city_ascii": "Yiwu", "lat": 29.3081, "lng": 120.0698, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1234015.0, "id": 1156078044 }, { "city": "Changchun", "city_ascii": "Changchun", "lat": 43.9, "lng": 125.2, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "admin", "population": 4408154.0, "id": 1156078103 }, { "city": "Xiashi", "city_ascii": "Xiashi", "lat": 30.5333, "lng": 120.6833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1076199.0, "id": 1156080077 }, { "city": "Linghai", "city_ascii": "Linghai", "lat": 41.1676, "lng": 121.3558, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 412513.0, "id": 1156081300 }, { "city": "Xining", "city_ascii": "Xining", "lat": 36.6239, "lng": 101.7787, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Qinghai", "capital": "admin", "population": 2467965.0, "id": 1156081448 }, { "city": "Kaiyuan", "city_ascii": "Kaiyuan", "lat": 42.538, "lng": 124.0371, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 545624.0, "id": 1156081841 }, { "city": "Beian", "city_ascii": "Beian", "lat": 48.2395, "lng": 126.5037, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 470000.0, "id": 1156084414 }, { "city": "Guangyuan", "city_ascii": "Guangyuan", "lat": 32.4353, "lng": 105.8398, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": null, "population": 2484122.0, "id": 1156084562 }, { "city": "Duyun", "city_ascii": "Duyun", "lat": 26.2672, "lng": 107.5143, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 493574.0, "id": 1156084618 }, { "city": "Linyi", "city_ascii": "Linyi", "lat": 35.1041, "lng": 118.3502, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 11018365.0, "id": 1156086320 }, { "city": "Zijinglu", "city_ascii": "Zijinglu", "lat": 34.7513, "lng": 112.9854, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 807857.0, "id": 1156086381 }, { "city": "Wugang", "city_ascii": "Wugang", "lat": 26.7345, "lng": 110.6293, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 734870.0, "id": 1156089788 }, { "city": "Tieling", "city_ascii": "Tieling", "lat": 42.2841, "lng": 123.8365, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 2717732.0, "id": 1156089994 }, { "city": "Qinhuangdao", "city_ascii": "Qinhuangdao", "lat": 39.9398, "lng": 119.5881, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 3146300.0, "id": 1156091093 }, { "city": "Shangzhou", "city_ascii": "Shangzhou", "lat": 33.868, "lng": 109.9244, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 2341742.0, "id": 1156091241 }, { "city": "Luanzhou", "city_ascii": "Luanzhou", "lat": 39.7396, "lng": 118.6978, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 554315.0, "id": 1156092104 }, { "city": "Tai’an", "city_ascii": "Tai'an", "lat": 36.2001, "lng": 117.0809, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 5494207.0, "id": 1156095188 }, { "city": "Dengtacun", "city_ascii": "Dengtacun", "lat": 41.4237, "lng": 123.3203, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 496122.0, "id": 1156096868 }, { "city": "Benxi", "city_ascii": "Benxi", "lat": 41.292, "lng": 123.761, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 1709538.0, "id": 1156097909 }, { "city": "Baojishi", "city_ascii": "Baojishi", "lat": 34.3609, "lng": 107.1751, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 3738700.0, "id": 1156101096 }, { "city": "Rongcheng", "city_ascii": "Rongcheng", "lat": 29.8239, "lng": 112.9019, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 1162770.0, "id": 1156102432 }, { "city": "Puyang Chengguanzhen", "city_ascii": "Puyang Chengguanzhen", "lat": 35.7004, "lng": 114.98, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 666322.0, "id": 1156103317 }, { "city": "Qincheng", "city_ascii": "Qincheng", "lat": 34.5809, "lng": 105.7311, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 3262549.0, "id": 1156104017 }, { "city": "Ruiming", "city_ascii": "Ruiming", "lat": 25.8833, "lng": 116.0333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 640600.0, "id": 1156104573 }, { "city": "Taishan", "city_ascii": "Taishan", "lat": 22.2486, "lng": 112.785, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 953900.0, "id": 1156105450 }, { "city": "Jiangmen", "city_ascii": "Jiangmen", "lat": 22.5833, "lng": 113.0833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 4630300.0, "id": 1156105613 }, { "city": "Kuaidamao", "city_ascii": "Kuaidamao", "lat": 41.7302, "lng": 125.9471, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 2324439.0, "id": 1156106507 }, { "city": "Qinzhou", "city_ascii": "Qinzhou", "lat": 21.95, "lng": 108.6167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 3304400.0, "id": 1156106602 }, { "city": "Xigazê", "city_ascii": "Xigaze", "lat": 29.25, "lng": 88.8833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tibet", "capital": "minor", "population": 798153.0, "id": 1156107208 }, { "city": "Xiangyang", "city_ascii": "Xiangyang", "lat": 32.0654, "lng": 112.1531, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 5680000.0, "id": 1156107325 }, { "city": "Shangzhi", "city_ascii": "Shangzhi", "lat": 45.2116, "lng": 127.962, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 585386.0, "id": 1156107332 }, { "city": "Yibin", "city_ascii": "Yibin", "lat": 28.7596, "lng": 104.64, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 4588804.0, "id": 1156107603 }, { "city": "Langfang", "city_ascii": "Langfang", "lat": 39.5196, "lng": 116.7006, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 5464087.0, "id": 1156109017 }, { "city": "Qingdao", "city_ascii": "Qingdao", "lat": 36.1167, "lng": 120.4, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 5818255.0, "id": 1156112588 }, { "city": "Kashgar", "city_ascii": "Kashgar", "lat": 39.4681, "lng": 75.9938, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 920000.0, "id": 1156113193 }, { "city": "Pizhou", "city_ascii": "Pizhou", "lat": 34.3422, "lng": 118.0097, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 1458038.0, "id": 1156114238 }, { "city": "Hebi", "city_ascii": "Hebi", "lat": 35.7497, "lng": 114.2887, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 1569208.0, "id": 1156114258 }, { "city": "Xichang", "city_ascii": "Xichang", "lat": 27.8983, "lng": 102.2706, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 712434.0, "id": 1156116456 }, { "city": "Wuhan", "city_ascii": "Wuhan", "lat": 30.5872, "lng": 114.2881, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "admin", "population": 10251000.0, "id": 1156117184 }, { "city": "Taizhou", "city_ascii": "Taizhou", "lat": 32.4831, "lng": 119.9, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 5031000.0, "id": 1156119229 }, { "city": "Xianyang", "city_ascii": "Xianyang", "lat": 34.35, "lng": 108.7167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": "minor", "population": 5096001.0, "id": 1156120117 }, { "city": "Rongcheng", "city_ascii": "Rongcheng", "lat": 26.2312, "lng": 104.0966, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 1302891.0, "id": 1156122888 }, { "city": "Yangjiang", "city_ascii": "Yangjiang", "lat": 21.8556, "lng": 111.9627, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2555600.0, "id": 1156123172 }, { "city": "Deyang", "city_ascii": "Deyang", "lat": 31.1289, "lng": 104.395, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 3877000.0, "id": 1156127147 }, { "city": "Bazhou", "city_ascii": "Bazhou", "lat": 39.1235, "lng": 116.386, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 622975.0, "id": 1156127276 }, { "city": "Nangandao", "city_ascii": "Nangandao", "lat": 35.2992, "lng": 113.8851, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 5708191.0, "id": 1156127660 }, { "city": "Huanghua", "city_ascii": "Huanghua", "lat": 38.371, "lng": 117.3329, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 548507.0, "id": 1156131099 }, { "city": "Chizhou", "city_ascii": "Chizhou", "lat": 30.6583, "lng": 117.4849, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 1402518.0, "id": 1156131504 }, { "city": "Kumul", "city_ascii": "Kumul", "lat": 42.8193, "lng": 93.5151, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 673383.0, "id": 1156131545 }, { "city": "Qingyuan", "city_ascii": "Qingyuan", "lat": 23.6842, "lng": 113.0507, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 3969473.0, "id": 1156135890 }, { "city": "Meicheng", "city_ascii": "Meicheng", "lat": 30.6412, "lng": 116.5689, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 500292.0, "id": 1156136207 }, { "city": "Beidao", "city_ascii": "Beidao", "lat": 34.602, "lng": 105.918, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 1225000.0, "id": 1156137209 }, { "city": "Xinyu", "city_ascii": "Xinyu", "lat": 27.795, "lng": 114.9242, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 1202499.0, "id": 1156138735 }, { "city": "Luocheng", "city_ascii": "Luocheng", "lat": 22.7645, "lng": 111.5745, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 984100.0, "id": 1156138895 }, { "city": "Wuzhong", "city_ascii": "Wuzhong", "lat": 37.9874, "lng": 106.1919, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Ningxia", "capital": "minor", "population": 1382713.0, "id": 1156139322 }, { "city": "Chang’an", "city_ascii": "Chang'an", "lat": 29.4761, "lng": 113.448, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 537500.0, "id": 1156139784 }, { "city": "Baiyin", "city_ascii": "Baiyin", "lat": 36.5448, "lng": 104.1766, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 1708751.0, "id": 1156140738 }, { "city": "Fuxin", "city_ascii": "Fuxin", "lat": 42.0127, "lng": 121.6486, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 1819339.0, "id": 1156141954 }, { "city": "Dashiqiao", "city_ascii": "Dashiqiao", "lat": 40.6328, "lng": 122.5021, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 704891.0, "id": 1156141962 }, { "city": "Anda", "city_ascii": "Anda", "lat": 46.4078, "lng": 125.3252, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 520000.0, "id": 1156142150 }, { "city": "Yiyang", "city_ascii": "Yiyang", "lat": 26.4103, "lng": 112.3913, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 810447.0, "id": 1156142520 }, { "city": "Huaibei", "city_ascii": "Huaibei", "lat": 33.9562, "lng": 116.789, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 2114276.0, "id": 1156142626 }, { "city": "Songyang", "city_ascii": "Songyang", "lat": 34.4603, "lng": 113.028, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 668592.0, "id": 1156143149 }, { "city": "Gaizhou", "city_ascii": "Gaizhou", "lat": 40.4019, "lng": 122.3499, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 691595.0, "id": 1156145272 }, { "city": "Pencheng", "city_ascii": "Pencheng", "lat": 29.6792, "lng": 115.6611, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 419047.0, "id": 1156147187 }, { "city": "Hanchuan", "city_ascii": "Hanchuan", "lat": 30.652, "lng": 113.8274, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 1092700.0, "id": 1156149248 }, { "city": "Huili Chengguanzhen", "city_ascii": "Huili Chengguanzhen", "lat": 26.6614, "lng": 102.2469, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 430066.0, "id": 1156149320 }, { "city": "Jiannan", "city_ascii": "Jiannan", "lat": 31.3446, "lng": 104.1994, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 477868.0, "id": 1156155414 }, { "city": "Xishan", "city_ascii": "Xishan", "lat": 27.6609, "lng": 113.4946, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1060000.0, "id": 1156155575 }, { "city": "Pingdu", "city_ascii": "Pingdu", "lat": 36.7833, "lng": 119.9556, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1378900.0, "id": 1156157078 }, { "city": "Jinzhou", "city_ascii": "Jinzhou", "lat": 41.1144, "lng": 121.1292, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 3126463.0, "id": 1156157151 }, { "city": "Yangquan", "city_ascii": "Yangquan", "lat": 37.8576, "lng": 113.5762, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 1368502.0, "id": 1156157844 }, { "city": "Jiaozuo", "city_ascii": "Jiaozuo", "lat": 35.229, "lng": 113.2304, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 3590700.0, "id": 1156157854 }, { "city": "Luofeng", "city_ascii": "Luofeng", "lat": 37.359, "lng": 120.396, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 570898.0, "id": 1156158643 }, { "city": "Shenzhen", "city_ascii": "Shenzhen", "lat": 22.535, "lng": 114.054, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 17619000.0, "id": 1156158707 }, { "city": "Xicheng", "city_ascii": "Xicheng", "lat": 23.3629, "lng": 103.1545, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 459781.0, "id": 1156161838 }, { "city": "Jincheng", "city_ascii": "Jincheng", "lat": 35.4906, "lng": 112.8483, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 2279146.0, "id": 1156163376 }, { "city": "Guiping", "city_ascii": "Guiping", "lat": 23.4, "lng": 110.0833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 1511011.0, "id": 1156165517 }, { "city": "Changping", "city_ascii": "Changping", "lat": 40.2248, "lng": 116.1944, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Beijing", "capital": null, "population": 614821.0, "id": 1156166828 }, { "city": "Hechi", "city_ascii": "Hechi", "lat": 24.6928, "lng": 108.085, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 3545700.0, "id": 1156167204 }, { "city": "Zhaoqing", "city_ascii": "Zhaoqing", "lat": 23.05, "lng": 112.4667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 4151700.0, "id": 1156170144 }, { "city": "Ningbo", "city_ascii": "Ningbo", "lat": 29.875, "lng": 121.5492, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 4087523.0, "id": 1156170787 }, { "city": "Anguo", "city_ascii": "Anguo", "lat": 38.4177, "lng": 115.3204, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 370317.0, "id": 1156172518 }, { "city": "Ximeicun", "city_ascii": "Ximeicun", "lat": 24.9633, "lng": 118.3811, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": null, "population": 1508000.0, "id": 1156173813 }, { "city": "Tianjin", "city_ascii": "Tianjin", "lat": 39.1467, "lng": 117.2056, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tianjin", "capital": "admin", "population": 10368000.0, "id": 1156174046 }, { "city": "Kuiju", "city_ascii": "Kuiju", "lat": 36.8528, "lng": 119.3904, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 564501.0, "id": 1156174997 }, { "city": "Dalian", "city_ascii": "Dalian", "lat": 38.9, "lng": 121.6, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 5871474.0, "id": 1156175472 }, { "city": "Yuci", "city_ascii": "Yuci", "lat": 37.6823, "lng": 112.7281, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 840000.0, "id": 1156177817 }, { "city": "Dandong", "city_ascii": "Dandong", "lat": 40.1167, "lng": 124.3833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 2444697.0, "id": 1156178316 }, { "city": "Zhangye", "city_ascii": "Zhangye", "lat": 38.9355, "lng": 100.4553, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 1199515.0, "id": 1156180353 }, { "city": "Quzhou", "city_ascii": "Quzhou", "lat": 28.9545, "lng": 118.8763, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 902767.0, "id": 1156180376 }, { "city": "Luocheng", "city_ascii": "Luocheng", "lat": 30.9793, "lng": 104.28, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 591115.0, "id": 1156180482 }, { "city": "Jinghong", "city_ascii": "Jinghong", "lat": 22.0057, "lng": 100.7948, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 519935.0, "id": 1156181533 }, { "city": "Wutong", "city_ascii": "Wutong", "lat": 30.6326, "lng": 120.5474, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1029754.0, "id": 1156182309 }, { "city": "Zhengzhou", "city_ascii": "Zhengzhou", "lat": 34.7492, "lng": 113.6605, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "admin", "population": 5621593.0, "id": 1156183137 }, { "city": "Haikou", "city_ascii": "Haikou", "lat": 20.02, "lng": 110.32, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "admin", "population": 2873358.0, "id": 1156183327 }, { "city": "Lingyuan", "city_ascii": "Lingyuan", "lat": 41.2407, "lng": 119.3957, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 570660.0, "id": 1156184681 }, { "city": "Zhumadian", "city_ascii": "Zhumadian", "lat": 32.9773, "lng": 114.0253, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 7231234.0, "id": 1156184822 }, { "city": "Jinchang", "city_ascii": "Jinchang", "lat": 38.5168, "lng": 102.1866, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 438026.0, "id": 1156184861 }, { "city": "Yong’an", "city_ascii": "Yong'an", "lat": 25.9733, "lng": 117.3593, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 357000.0, "id": 1156185328 }, { "city": "Meishan", "city_ascii": "Meishan", "lat": 30.0575, "lng": 103.8381, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": null, "population": 2950545.0, "id": 1156185501 }, { "city": "Changzhou", "city_ascii": "Changzhou", "lat": 31.8122, "lng": 119.9692, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 3601079.0, "id": 1156185511 }, { "city": "Fuzhou", "city_ascii": "Fuzhou", "lat": 26.0769, "lng": 119.2917, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "admin", "population": 3671192.0, "id": 1156188037 }, { "city": "Wenzhou", "city_ascii": "Wenzhou", "lat": 27.9991, "lng": 120.6561, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 3604446.0, "id": 1156188829 }, { "city": "Nanyang", "city_ascii": "Nanyang", "lat": 32.9987, "lng": 112.5292, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 10013600.0, "id": 1156192287 }, { "city": "Weichanglu", "city_ascii": "Weichanglu", "lat": 37.1792, "lng": 119.9333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 859424.0, "id": 1156194600 }, { "city": "Xiangtan", "city_ascii": "Xiangtan", "lat": 27.8431, "lng": 112.9228, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 2864800.0, "id": 1156195684 }, { "city": "Fuyuan", "city_ascii": "Fuyuan", "lat": 48.3614, "lng": 134.2875, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 480000.0, "id": 1156196485 }, { "city": "Zaoyang", "city_ascii": "Zaoyang", "lat": 32.1287, "lng": 112.7581, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 1004741.0, "id": 1156197076 }, { "city": "Wuchuan", "city_ascii": "Wuchuan", "lat": 21.4283, "lng": 110.7749, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 972400.0, "id": 1156198103 }, { "city": "Huanglongsi", "city_ascii": "Huanglongsi", "lat": 34.795, "lng": 114.345, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 4824016.0, "id": 1156198356 }, { "city": "Nanchang", "city_ascii": "Nanchang", "lat": 28.6842, "lng": 115.8872, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "admin", "population": 3576547.0, "id": 1156198892 }, { "city": "Huanggang", "city_ascii": "Huanggang", "lat": 30.45, "lng": 114.875, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 6333000.0, "id": 1156200037 }, { "city": "Zhoushan", "city_ascii": "Zhoushan", "lat": 29.9887, "lng": 122.2049, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 882932.0, "id": 1156200283 }, { "city": "Dengtalu", "city_ascii": "Dengtalu", "lat": 36.1386, "lng": 114.1066, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 887000.0, "id": 1156202014 }, { "city": "Lingcheng", "city_ascii": "Lingcheng", "lat": 22.7, "lng": 110.35, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": null, "population": 1211637.0, "id": 1156202191 }, { "city": "Liaoyang", "city_ascii": "Liaoyang", "lat": 41.2643, "lng": 123.1772, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 1858768.0, "id": 1156202749 }, { "city": "Yangshe", "city_ascii": "Yangshe", "lat": 31.8775, "lng": 120.5512, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 1432044.0, "id": 1156203000 }, { "city": "Leshan", "city_ascii": "Leshan", "lat": 29.5854, "lng": 103.7575, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": null, "population": 3235759.0, "id": 1156203130 }, { "city": "Huizhou", "city_ascii": "Huizhou", "lat": 23.1115, "lng": 114.4152, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2509243.0, "id": 1156203268 }, { "city": "Jiujiang", "city_ascii": "Jiujiang", "lat": 29.7048, "lng": 116.0021, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 4896800.0, "id": 1156206041 }, { "city": "Laiyang", "city_ascii": "Laiyang", "lat": 36.9758, "lng": 120.7136, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 874127.0, "id": 1156207330 }, { "city": "Laiwu", "city_ascii": "Laiwu", "lat": 36.1833, "lng": 117.6667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1248636.0, "id": 1156207332 }, { "city": "Xiping", "city_ascii": "Xiping", "lat": 25.6005, "lng": 103.8166, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 652604.0, "id": 1156207794 }, { "city": "Licheng", "city_ascii": "Licheng", "lat": 24.4935, "lng": 110.3902, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 352472.0, "id": 1156208986 }, { "city": "Hohhot", "city_ascii": "Hohhot", "lat": 40.8151, "lng": 111.6629, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": "admin", "population": 3446100.0, "id": 1156210167 }, { "city": "Suqian", "city_ascii": "Suqian", "lat": 33.9331, "lng": 118.2831, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 4986192.0, "id": 1156212349 }, { "city": "Xiamen", "city_ascii": "Xiamen", "lat": 24.4797, "lng": 118.0819, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 3707090.0, "id": 1156212809 }, { "city": "Xiangyang", "city_ascii": "Xiangyang", "lat": 34.2999, "lng": 108.4816, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 541554.0, "id": 1156215566 }, { "city": "Pingliang", "city_ascii": "Pingliang", "lat": 35.5412, "lng": 106.6819, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 2068033.0, "id": 1156216904 }, { "city": "Xiantao", "city_ascii": "Xiantao", "lat": 30.3833, "lng": 113.4, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 1140100.0, "id": 1156216927 }, { "city": "Yanjiang", "city_ascii": "Yanjiang", "lat": 30.1256, "lng": 104.6397, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 2593843.0, "id": 1156217114 }, { "city": "Shijiazhuang", "city_ascii": "Shijiazhuang", "lat": 38.0422, "lng": 114.5086, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "admin", "population": 4098243.0, "id": 1156217541 }, { "city": "Yiyang", "city_ascii": "Yiyang", "lat": 28.5833, "lng": 112.3333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 4413800.0, "id": 1156218615 }, { "city": "Yuyao", "city_ascii": "Yuyao", "lat": 30.0372, "lng": 121.1546, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 1095000.0, "id": 1156221984 }, { "city": "Heze", "city_ascii": "Heze", "lat": 35.2333, "lng": 115.4333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 8795939.0, "id": 1156225008 }, { "city": "Hejin", "city_ascii": "Hejin", "lat": 35.5914, "lng": 110.706, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 395527.0, "id": 1156225234 }, { "city": "Chuxiong", "city_ascii": "Chuxiong", "lat": 25.0461, "lng": 101.5436, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 588620.0, "id": 1156225985 }, { "city": "Shuozhou", "city_ascii": "Shuozhou", "lat": 39.3408, "lng": 112.4292, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 1714857.0, "id": 1156227167 }, { "city": "Beijing", "city_ascii": "Beijing", "lat": 39.904, "lng": 116.4075, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Beijing", "capital": "primary", "population": 18522000.0, "id": 1156228865 }, { "city": "Yichun", "city_ascii": "Yichun", "lat": 27.8041, "lng": 114.383, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 5573200.0, "id": 1156229590 }, { "city": "Yidu", "city_ascii": "Yidu", "lat": 30.388, "lng": 111.4505, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 384598.0, "id": 1156230664 }, { "city": "Shihezi", "city_ascii": "Shihezi", "lat": 44.3054, "lng": 86.0804, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 717000.0, "id": 1156232270 }, { "city": "Huangshi", "city_ascii": "Huangshi", "lat": 30.2018, "lng": 115.0326, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 2471700.0, "id": 1156234290 }, { "city": "Guilin", "city_ascii": "Guilin", "lat": 25.2819, "lng": 110.2864, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 5085500.0, "id": 1156235364 }, { "city": "Suihua", "city_ascii": "Suihua", "lat": 46.6384, "lng": 126.9808, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 5418153.0, "id": 1156235493 }, { "city": "Jiangguanchi", "city_ascii": "Jiangguanchi", "lat": 34.0244, "lng": 113.8201, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 4379998.0, "id": 1156235735 }, { "city": "Gaoyou", "city_ascii": "Gaoyou", "lat": 32.7847, "lng": 119.4432, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 811800.0, "id": 1156235854 }, { "city": "Xin’an", "city_ascii": "Xin'an", "lat": 34.3662, "lng": 118.3369, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 920628.0, "id": 1156236053 }, { "city": "Suohe", "city_ascii": "Suohe", "lat": 34.7879, "lng": 113.392, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 626700.0, "id": 1156236948 }, { "city": "Guangzhou", "city_ascii": "Guangzhou", "lat": 23.13, "lng": 113.26, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "admin", "population": 26940000.0, "id": 1156237133 }, { "city": "Gaoping", "city_ascii": "Gaoping", "lat": 35.7911, "lng": 112.9259, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 484862.0, "id": 1156238773 }, { "city": "Anqing", "city_ascii": "Anqing", "lat": 30.5, "lng": 117.0333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 4723000.0, "id": 1156238875 }, { "city": "Zhangjiakou Shi Xuanhua Qu", "city_ascii": "Zhangjiakou Shi Xuanhua Qu", "lat": 40.5944, "lng": 115.0243, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 409745.0, "id": 1156240430 }, { "city": "Harbin", "city_ascii": "Harbin", "lat": 45.75, "lng": 126.6333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "admin", "population": 3830000.0, "id": 1156241528 }, { "city": "Zhangzhou", "city_ascii": "Zhangzhou", "lat": 24.5093, "lng": 117.6612, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 5140000.0, "id": 1156241637 }, { "city": "Tongshan", "city_ascii": "Tongshan", "lat": 34.261, "lng": 117.1859, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 9083790.0, "id": 1156241678 }, { "city": "Xi’an", "city_ascii": "Xi'an", "lat": 34.2667, "lng": 108.9, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": "admin", "population": 12328000.0, "id": 1156244079 }, { "city": "Fu’an", "city_ascii": "Fu'an", "lat": 27.1, "lng": 119.6333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 577000.0, "id": 1156244234 }, { "city": "Yushan", "city_ascii": "Yushan", "lat": 31.3867, "lng": 120.9766, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 2092496.0, "id": 1156245000 }, { "city": "Shuangyashan", "city_ascii": "Shuangyashan", "lat": 46.6388, "lng": 131.1545, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 1462626.0, "id": 1156245904 }, { "city": "Fuyang", "city_ascii": "Fuyang", "lat": 32.8986, "lng": 115.8045, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 8200264.0, "id": 1156248008 }, { "city": "Guankou", "city_ascii": "Guankou", "lat": 28.1417, "lng": 113.625, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1168056.0, "id": 1156249346 }, { "city": "Mudanjiang", "city_ascii": "Mudanjiang", "lat": 44.5861, "lng": 129.5997, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 2798723.0, "id": 1156249698 }, { "city": "Liaoyuan", "city_ascii": "Liaoyuan", "lat": 42.8976, "lng": 125.1381, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 1176239.0, "id": 1156249772 }, { "city": "Chengxiang", "city_ascii": "Chengxiang", "lat": 31.4515, "lng": 121.1043, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 831113.0, "id": 1156254788 }, { "city": "Xingyi", "city_ascii": "Xingyi", "lat": 25.091, "lng": 104.9011, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 1004132.0, "id": 1156255316 }, { "city": "Ankang", "city_ascii": "Ankang", "lat": 32.6877, "lng": 109.0235, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 2629906.0, "id": 1156255711 }, { "city": "Daye", "city_ascii": "Daye", "lat": 30.1003, "lng": 114.9699, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 909724.0, "id": 1156255811 }, { "city": "Baoding", "city_ascii": "Baoding", "lat": 38.8671, "lng": 115.4845, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 11860000.0, "id": 1156256829 }, { "city": "Yingkou", "city_ascii": "Yingkou", "lat": 40.6653, "lng": 122.2297, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 2428534.0, "id": 1156257074 }, { "city": "Xinxing", "city_ascii": "Xinxing", "lat": 39.8734, "lng": 124.1453, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 627475.0, "id": 1156258586 }, { "city": "Guixi", "city_ascii": "Guixi", "lat": 28.2861, "lng": 117.2083, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 647240.0, "id": 1156259342 }, { "city": "Dongyang", "city_ascii": "Dongyang", "lat": 29.2785, "lng": 120.2282, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 804398.0, "id": 1156259752 }, { "city": "Jieyang", "city_ascii": "Jieyang", "lat": 23.5533, "lng": 116.3649, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 6089400.0, "id": 1156260378 }, { "city": "Nagqu", "city_ascii": "Nagqu", "lat": 31.4766, "lng": 92.0569, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tibet", "capital": "minor", "population": 504838.0, "id": 1156260844 }, { "city": "Xindi", "city_ascii": "Xindi", "lat": 29.8182, "lng": 113.4653, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 819446.0, "id": 1156263165 }, { "city": "Zhuangyuan", "city_ascii": "Zhuangyuan", "lat": 37.3056, "lng": 120.8275, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 626683.0, "id": 1156263400 }, { "city": "Wusong", "city_ascii": "Wusong", "lat": 30.9333, "lng": 117.7667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 1311726.0, "id": 1156264408 }, { "city": "Hancheng", "city_ascii": "Hancheng", "lat": 35.4768, "lng": 110.4419, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 391164.0, "id": 1156265838 }, { "city": "Mishan", "city_ascii": "Mishan", "lat": 45.542, "lng": 131.8666, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 420000.0, "id": 1156267144 }, { "city": "Hailin", "city_ascii": "Hailin", "lat": 44.5735, "lng": 129.3825, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 420000.0, "id": 1156267191 }, { "city": "Guangshui", "city_ascii": "Guangshui", "lat": 31.6189, "lng": 113.8229, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 755910.0, "id": 1156267419 }, { "city": "Bazhou", "city_ascii": "Bazhou", "lat": 31.8576, "lng": 106.7559, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 3283148.0, "id": 1156271365 }, { "city": "Zhoukou", "city_ascii": "Zhoukou", "lat": 33.625, "lng": 114.6418, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 9026015.0, "id": 1156272098 }, { "city": "Qingyang", "city_ascii": "Qingyang", "lat": 24.8141, "lng": 118.5792, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2111000.0, "id": 1156273372 }, { "city": "Xinyang", "city_ascii": "Xinyang", "lat": 32.1264, "lng": 114.0672, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 6234401.0, "id": 1156273453 }, { "city": "Hangzhou", "city_ascii": "Hangzhou", "lat": 30.25, "lng": 120.1675, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "admin", "population": 9523000.0, "id": 1156275243 }, { "city": "Jiexiu", "city_ascii": "Jiexiu", "lat": 37.0282, "lng": 111.9103, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 406517.0, "id": 1156275703 }, { "city": "Chifeng", "city_ascii": "Chifeng", "lat": 42.2663, "lng": 118.9223, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": "minor", "population": 4341245.0, "id": 1156277458 }, { "city": "Qamdo", "city_ascii": "Qamdo", "lat": 31.1375, "lng": 97.1777, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tibet", "capital": "minor", "population": 760966.0, "id": 1156277802 }, { "city": "Ji’an", "city_ascii": "Ji'an", "lat": 27.1172, "lng": 114.9793, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 4956600.0, "id": 1156278215 }, { "city": "Jian’ou", "city_ascii": "Jian'ou", "lat": 27.0387, "lng": 118.3215, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 456000.0, "id": 1156278784 }, { "city": "Shache", "city_ascii": "Shache", "lat": 38.4261, "lng": 77.25, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": null, "population": 851374.0, "id": 1156278934 }, { "city": "Ailan Mubage", "city_ascii": "Ailan Mubage", "lat": 43.908, "lng": 81.2777, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 526745.0, "id": 1156279608 }, { "city": "Lanzhou", "city_ascii": "Lanzhou", "lat": 36.0617, "lng": 103.8318, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "admin", "population": 3067141.0, "id": 1156280566 }, { "city": "Yulinshi", "city_ascii": "Yulinshi", "lat": 38.2655, "lng": 109.7388, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 3634750.0, "id": 1156280672 }, { "city": "Taihe", "city_ascii": "Taihe", "lat": 30.8706, "lng": 105.3784, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 924531.0, "id": 1156281983 }, { "city": "Huazhou", "city_ascii": "Huazhou", "lat": 21.654, "lng": 110.6294, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 1302100.0, "id": 1156282637 }, { "city": "Xiulin", "city_ascii": "Xiulin", "lat": 29.7211, "lng": 112.4037, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 577022.0, "id": 1156284109 }, { "city": "Chenzhou", "city_ascii": "Chenzhou", "lat": 25.7989, "lng": 113.0267, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 4744500.0, "id": 1156291915 }, { "city": "Yicheng", "city_ascii": "Yicheng", "lat": 31.3697, "lng": 119.8239, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 1285785.0, "id": 1156292419 }, { "city": "Yuanping", "city_ascii": "Yuanping", "lat": 38.7299, "lng": 112.7134, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 491213.0, "id": 1156294277 }, { "city": "Sanming", "city_ascii": "Sanming", "lat": 26.2658, "lng": 117.6302, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2580000.0, "id": 1156294429 }, { "city": "Xingtai", "city_ascii": "Xingtai", "lat": 37.0659, "lng": 114.4753, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 7111106.0, "id": 1156294952 }, { "city": "Minzhu", "city_ascii": "Minzhu", "lat": 43.7192, "lng": 127.337, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 453265.0, "id": 1156295044 }, { "city": "Yingtan", "city_ascii": "Yingtan", "lat": 28.2333, "lng": 117.0, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 1175000.0, "id": 1156301061 }, { "city": "Lichuan", "city_ascii": "Lichuan", "lat": 30.2965, "lng": 108.9378, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 913700.0, "id": 1156302762 }, { "city": "Feicheng", "city_ascii": "Feicheng", "lat": 36.186, "lng": 116.772, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 946627.0, "id": 1156303834 }, { "city": "Jieshou", "city_ascii": "Jieshou", "lat": 33.2605, "lng": 115.3618, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 650870.0, "id": 1156304827 }, { "city": "Shenyang", "city_ascii": "Shenyang", "lat": 41.8025, "lng": 123.4281, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "admin", "population": 7964000.0, "id": 1156309382 }, { "city": "Shaoyang", "city_ascii": "Shaoyang", "lat": 27.2418, "lng": 111.4725, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 7370500.0, "id": 1156310366 }, { "city": "Qian’an", "city_ascii": "Qian'an", "lat": 40.0059, "lng": 118.6973, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 728160.0, "id": 1156315498 }, { "city": "Wuhu", "city_ascii": "Wuhu", "lat": 31.334, "lng": 118.3622, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 3842100.0, "id": 1156315512 }, { "city": "Taizhou", "city_ascii": "Taizhou", "lat": 28.6583, "lng": 121.4221, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 2162461.0, "id": 1156322307 }, { "city": "Rucheng", "city_ascii": "Rucheng", "lat": 32.3852, "lng": 120.5634, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 1267066.0, "id": 1156323529 }, { "city": "Yushu", "city_ascii": "Yushu", "lat": 44.8249, "lng": 126.5451, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 1304436.0, "id": 1156326773 }, { "city": "Xiangshui", "city_ascii": "Xiangshui", "lat": 26.5964, "lng": 104.8314, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 1221000.0, "id": 1156328867 }, { "city": "Luohe", "city_ascii": "Luohe", "lat": 33.583, "lng": 114.0109, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 2544266.0, "id": 1156330876 }, { "city": "Taixing", "city_ascii": "Taixing", "lat": 32.1724, "lng": 120.0142, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 1073921.0, "id": 1156331200 }, { "city": "Hai’an", "city_ascii": "Hai'an", "lat": 32.532, "lng": 120.4604, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 874334.0, "id": 1156332302 }, { "city": "Hefei", "city_ascii": "Hefei", "lat": 31.8639, "lng": 117.2808, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "admin", "population": 4216940.0, "id": 1156332710 }, { "city": "Lianran", "city_ascii": "Lianran", "lat": 24.9211, "lng": 102.4778, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 341341.0, "id": 1156332794 }, { "city": "Huzhou", "city_ascii": "Huzhou", "lat": 30.8925, "lng": 120.0875, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1558826.0, "id": 1156335543 }, { "city": "Heihe", "city_ascii": "Heihe", "lat": 50.2458, "lng": 127.4886, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 1673899.0, "id": 1156339225 }, { "city": "Fuyang", "city_ascii": "Fuyang", "lat": 30.0553, "lng": 119.95, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 771000.0, "id": 1156340393 }, { "city": "Jiangshan", "city_ascii": "Jiangshan", "lat": 28.7412, "lng": 118.6225, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 467862.0, "id": 1156346497 }, { "city": "Danjiangkou", "city_ascii": "Danjiangkou", "lat": 32.5408, "lng": 111.5098, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 443755.0, "id": 1156347994 }, { "city": "Jiamusi", "city_ascii": "Jiamusi", "lat": 46.8081, "lng": 130.3653, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 2552097.0, "id": 1156350864 }, { "city": "Jiangjiafan", "city_ascii": "Jiangjiafan", "lat": 31.0238, "lng": 111.9709, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 400000.0, "id": 1156352568 }, { "city": "Huaihua", "city_ascii": "Huaihua", "lat": 27.5494, "lng": 109.9592, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 4979600.0, "id": 1156353465 }, { "city": "Bozhou", "city_ascii": "Bozhou", "lat": 33.8626, "lng": 115.7742, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 4996844.0, "id": 1156356860 }, { "city": "Tongliao", "city_ascii": "Tongliao", "lat": 43.6172, "lng": 122.264, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": "minor", "population": 3139153.0, "id": 1156358686 }, { "city": "Yinchuan", "city_ascii": "Yinchuan", "lat": 38.4795, "lng": 106.2254, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Ningxia", "capital": "admin", "population": 1901793.0, "id": 1156359072 }, { "city": "Liuzhou", "city_ascii": "Liuzhou", "lat": 24.3264, "lng": 109.4281, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 4157934.0, "id": 1156360785 }, { "city": "Meizhou", "city_ascii": "Meizhou", "lat": 24.2998, "lng": 116.1191, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 4378800.0, "id": 1156361028 }, { "city": "Liangshi", "city_ascii": "Liangshi", "lat": 27.2578, "lng": 111.7351, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 1335900.0, "id": 1156366507 }, { "city": "Xinmin", "city_ascii": "Xinmin", "lat": 41.9952, "lng": 122.8224, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 680000.0, "id": 1156368551 }, { "city": "Lhasa", "city_ascii": "Lhasa", "lat": 29.6534, "lng": 91.1719, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tibet", "capital": "admin", "population": 902500.0, "id": 1156369972 }, { "city": "Sanya", "city_ascii": "Sanya", "lat": 18.2533, "lng": 109.5036, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "minor", "population": 1031396.0, "id": 1156373900 }, { "city": "Guang’an", "city_ascii": "Guang'an", "lat": 30.4673, "lng": 106.6336, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 3205476.0, "id": 1156377302 }, { "city": "Beipiao", "city_ascii": "Beipiao", "lat": 41.802, "lng": 120.7621, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 496164.0, "id": 1156378599 }, { "city": "Zibo", "city_ascii": "Zibo", "lat": 36.7831, "lng": 118.0497, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 2631647.0, "id": 1156381094 }, { "city": "Hanzhong", "city_ascii": "Hanzhong", "lat": 33.0794, "lng": 107.026, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 3416196.0, "id": 1156382678 }, { "city": "Guli", "city_ascii": "Guli", "lat": 28.9008, "lng": 120.0284, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 723490.0, "id": 1156383681 }, { "city": "Shiyan", "city_ascii": "Shiyan", "lat": 32.6351, "lng": 110.7755, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 3398000.0, "id": 1156383921 }, { "city": "Fangting", "city_ascii": "Fangting", "lat": 31.1282, "lng": 104.1695, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 412758.0, "id": 1156384608 }, { "city": "Wenlan", "city_ascii": "Wenlan", "lat": 23.3989, "lng": 103.3631, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 585976.0, "id": 1156385754 }, { "city": "Yingmen", "city_ascii": "Yingmen", "lat": 39.9487, "lng": 97.4395, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": null, "population": 350000.0, "id": 1156386711 }, { "city": "Jixi", "city_ascii": "Jixi", "lat": 45.2937, "lng": 130.965, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 1862165.0, "id": 1156393765 }, { "city": "Daqing", "city_ascii": "Daqing", "lat": 46.5979, "lng": 125.008, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 2904532.0, "id": 1156403962 }, { "city": "Fujin", "city_ascii": "Fujin", "lat": 47.2489, "lng": 132.0341, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 470000.0, "id": 1156404715 }, { "city": "Yanji", "city_ascii": "Yanji", "lat": 42.9044, "lng": 129.5067, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 513072.0, "id": 1156405468 }, { "city": "Shangrao", "city_ascii": "Shangrao", "lat": 28.4419, "lng": 117.9633, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 6810700.0, "id": 1156405492 }, { "city": "Hejian", "city_ascii": "Hejian", "lat": 38.4451, "lng": 116.0897, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 810306.0, "id": 1156405731 }, { "city": "Anlu", "city_ascii": "Anlu", "lat": 31.2575, "lng": 113.6783, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 720000.0, "id": 1156406202 }, { "city": "Zhuanghe", "city_ascii": "Zhuanghe", "lat": 39.6896, "lng": 122.9664, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 905852.0, "id": 1156410076 }, { "city": "Ezhou", "city_ascii": "Ezhou", "lat": 30.3972, "lng": 114.8842, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 1079353.0, "id": 1156414637 }, { "city": "Anshun", "city_ascii": "Anshun", "lat": 26.2456, "lng": 105.934, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 2353100.0, "id": 1156415948 }, { "city": "Linfen", "city_ascii": "Linfen", "lat": 36.0812, "lng": 111.5087, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 4316610.0, "id": 1156416074 }, { "city": "Mianyang", "city_ascii": "Mianyang", "lat": 31.4669, "lng": 104.7385, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 4868243.0, "id": 1156417758 }, { "city": "Beihai", "city_ascii": "Beihai", "lat": 21.4667, "lng": 109.1, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 1853227.0, "id": 1156421449 }, { "city": "Chengdu", "city_ascii": "Chengdu", "lat": 30.66, "lng": 104.0633, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "admin", "population": 14645000.0, "id": 1156421555 }, { "city": "Xinshi", "city_ascii": "Xinshi", "lat": 31.0236, "lng": 113.1079, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 636776.0, "id": 1156422214 }, { "city": "Xuanzhou", "city_ascii": "Xuanzhou", "lat": 30.9475, "lng": 118.7518, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 2532938.0, "id": 1156424311 }, { "city": "Beining", "city_ascii": "Beining", "lat": 41.5961, "lng": 121.7928, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 514898.0, "id": 1156424678 }, { "city": "Nangong", "city_ascii": "Nangong", "lat": 37.3606, "lng": 115.3803, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 476096.0, "id": 1156426803 }, { "city": "Puyang", "city_ascii": "Puyang", "lat": 35.7639, "lng": 115.03, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 3598740.0, "id": 1156431924 }, { "city": "Baicheng", "city_ascii": "Baicheng", "lat": 45.6148, "lng": 122.832, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 2032356.0, "id": 1156435764 }, { "city": "Aksu", "city_ascii": "Aksu", "lat": 41.185, "lng": 80.2904, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 535657.0, "id": 1156436913 }, { "city": "Taozhou", "city_ascii": "Taozhou", "lat": 30.8956, "lng": 119.411, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 499132.0, "id": 1156438524 }, { "city": "Chongzuo", "city_ascii": "Chongzuo", "lat": 22.4167, "lng": 107.3667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 2099400.0, "id": 1156438670 }, { "city": "Bengbu", "city_ascii": "Bengbu", "lat": 32.9354, "lng": 117.3531, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 3296408.0, "id": 1156440668 }, { "city": "Kaiyuan", "city_ascii": "Kaiyuan", "lat": 36.0656, "lng": 113.8153, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 1160000.0, "id": 1156441554 }, { "city": "Jianshe", "city_ascii": "Jianshe", "lat": 34.2189, "lng": 113.7693, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 687130.0, "id": 1156444449 }, { "city": "Changde", "city_ascii": "Changde", "lat": 29.0397, "lng": 111.6839, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 5827200.0, "id": 1156449091 }, { "city": "Sizhan", "city_ascii": "Sizhan", "lat": 39.0099, "lng": 106.3694, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Ningxia", "capital": null, "population": 751389.0, "id": 1156450911 }, { "city": "Linhai", "city_ascii": "Linhai", "lat": 28.8523, "lng": 121.1409, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 1028813.0, "id": 1156451663 }, { "city": "Fenyang", "city_ascii": "Fenyang", "lat": 37.2647, "lng": 111.7775, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 416212.0, "id": 1156455704 }, { "city": "Xinji", "city_ascii": "Xinji", "lat": 37.9423, "lng": 115.2118, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 615919.0, "id": 1156456552 }, { "city": "Shantou", "city_ascii": "Shantou", "lat": 23.3735, "lng": 116.6941, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 4312192.0, "id": 1156457499 }, { "city": "Hezhou", "city_ascii": "Hezhou", "lat": 24.4164, "lng": 111.5478, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 2072600.0, "id": 1156459799 }, { "city": "Shuizhai", "city_ascii": "Shuizhai", "lat": 33.4433, "lng": 114.8994, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 1003698.0, "id": 1156462734 }, { "city": "Yanjiao", "city_ascii": "Yanjiao", "lat": 39.9432, "lng": 116.8036, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 363809.0, "id": 1156470847 }, { "city": "Weihai", "city_ascii": "Weihai", "lat": 37.5, "lng": 122.1, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 2906548.0, "id": 1156473300 }, { "city": "Meihekou", "city_ascii": "Meihekou", "lat": 42.5279, "lng": 125.678, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 618251.0, "id": 1156474288 }, { "city": "Sanhe", "city_ascii": "Sanhe", "lat": 39.9808, "lng": 117.0701, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 652042.0, "id": 1156476348 }, { "city": "Wafangdian", "city_ascii": "Wafangdian", "lat": 39.6271, "lng": 121.9972, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 1024876.0, "id": 1156476417 }, { "city": "Kunming", "city_ascii": "Kunming", "lat": 25.0433, "lng": 102.7061, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "admin", "population": 4422686.0, "id": 1156477539 }, { "city": "Dongguan", "city_ascii": "Dongguan", "lat": 23.0475, "lng": 113.7493, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 10646000.0, "id": 1156478242 }, { "city": "Huilong", "city_ascii": "Huilong", "lat": 31.8131, "lng": 121.6574, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 972525.0, "id": 1156485081 }, { "city": "Gaobeidian", "city_ascii": "Gaobeidian", "lat": 39.3257, "lng": 115.8678, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 640280.0, "id": 1156487293 }, { "city": "Qufu", "city_ascii": "Qufu", "lat": 35.6, "lng": 116.9833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 640498.0, "id": 1156490037 }, { "city": "Lianyuan", "city_ascii": "Lianyuan", "lat": 27.6961, "lng": 111.6659, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1162928.0, "id": 1156490109 }, { "city": "Jiaxing", "city_ascii": "Jiaxing", "lat": 30.7522, "lng": 120.75, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1518654.0, "id": 1156491661 }, { "city": "Lu’an", "city_ascii": "Lu'an", "lat": 31.7542, "lng": 116.5078, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 5611701.0, "id": 1156499624 }, { "city": "Zhanjiang", "city_ascii": "Zhanjiang", "lat": 21.1967, "lng": 110.4031, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 7332000.0, "id": 1156502170 }, { "city": "Guankou", "city_ascii": "Guankou", "lat": 30.9933, "lng": 103.624, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": null, "population": 671200.0, "id": 1156503907 }, { "city": "Zhuji", "city_ascii": "Zhuji", "lat": 29.7169, "lng": 120.2314, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1157938.0, "id": 1156504227 }, { "city": "Jining", "city_ascii": "Jining", "lat": 35.4, "lng": 116.5667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 8357897.0, "id": 1156504601 }, { "city": "Zhongba", "city_ascii": "Zhongba", "lat": 31.7761, "lng": 104.7406, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 762140.0, "id": 1156515985 }, { "city": "Neijiang", "city_ascii": "Neijiang", "lat": 29.5872, "lng": 105.0635, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 3702847.0, "id": 1156516335 }, { "city": "Dingxi", "city_ascii": "Dingxi", "lat": 35.5806, "lng": 104.6263, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 2698624.0, "id": 1156518274 }, { "city": "Fengcheng", "city_ascii": "Fengcheng", "lat": 40.4543, "lng": 124.0646, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 543933.0, "id": 1156519626 }, { "city": "Gaoping", "city_ascii": "Gaoping", "lat": 30.7824, "lng": 106.1281, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 2174000.0, "id": 1156522457 }, { "city": "Zhufeng", "city_ascii": "Zhufeng", "lat": 36.0, "lng": 119.4167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1081960.0, "id": 1156522825 }, { "city": "Dezhou", "city_ascii": "Dezhou", "lat": 37.4513, "lng": 116.3105, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 5611194.0, "id": 1156524080 }, { "city": "Xiangxiang", "city_ascii": "Xiangxiang", "lat": 27.7389, "lng": 112.5223, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 787216.0, "id": 1156524101 }, { "city": "Huangshan", "city_ascii": "Huangshan", "lat": 29.7132, "lng": 118.3151, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 1358980.0, "id": 1156527426 }, { "city": "Sanmenxia", "city_ascii": "Sanmenxia", "lat": 34.7736, "lng": 111.195, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 2234018.0, "id": 1156529682 }, { "city": "Fuding", "city_ascii": "Fuding", "lat": 27.2, "lng": 120.2, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 542000.0, "id": 1156530120 }, { "city": "Yucheng", "city_ascii": "Yucheng", "lat": 36.9329, "lng": 116.6403, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 522878.0, "id": 1156530681 }, { "city": "Fangchenggang", "city_ascii": "Fangchenggang", "lat": 21.6, "lng": 108.3, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 1046068.0, "id": 1156532454 }, { "city": "Xingren", "city_ascii": "Xingren", "lat": 25.4352, "lng": 105.1907, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 417919.0, "id": 1156533633 }, { "city": "Dongtai", "city_ascii": "Dongtai", "lat": 32.8534, "lng": 120.3037, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 990306.0, "id": 1156536785 }, { "city": "Zunyi", "city_ascii": "Zunyi", "lat": 27.705, "lng": 106.9336, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 6606675.0, "id": 1156539782 }, { "city": "Hegang", "city_ascii": "Hegang", "lat": 47.3139, "lng": 130.2775, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 1058665.0, "id": 1156541759 }, { "city": "Xinhualu", "city_ascii": "Xinhualu", "lat": 34.3962, "lng": 113.7249, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 758079.0, "id": 1156544851 }, { "city": "Jianguang", "city_ascii": "Jianguang", "lat": 28.1958, "lng": 115.7833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 1507402.0, "id": 1156545200 }, { "city": "Yan’an", "city_ascii": "Yan'an", "lat": 36.5952, "lng": 109.4863, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 2282581.0, "id": 1156546342 }, { "city": "Baoshan", "city_ascii": "Baoshan", "lat": 25.1211, "lng": 99.169, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 2627000.0, "id": 1156546994 }, { "city": "Jinhua", "city_ascii": "Jinhua", "lat": 29.1046, "lng": 119.6494, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 1463990.0, "id": 1156547188 }, { "city": "Chaozhou", "city_ascii": "Chaozhou", "lat": 23.67, "lng": 116.63, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2656600.0, "id": 1156549118 }, { "city": "Zêtang", "city_ascii": "Zetang", "lat": 29.238, "lng": 91.771, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Tibet", "capital": null, "population": 382610.0, "id": 1156561299 }, { "city": "Binzhou", "city_ascii": "Binzhou", "lat": 37.3806, "lng": 118.0125, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 3928568.0, "id": 1156564962 }, { "city": "Maoming", "city_ascii": "Maoming", "lat": 21.6618, "lng": 110.9178, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 6313200.0, "id": 1156568722 }, { "city": "Chengjiao", "city_ascii": "Chengjiao", "lat": 35.4043, "lng": 114.0593, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 495744.0, "id": 1156571332 }, { "city": "Wanyuan", "city_ascii": "Wanyuan", "lat": 32.0691, "lng": 108.0351, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 407594.0, "id": 1156571429 }, { "city": "Turpan", "city_ascii": "Turpan", "lat": 42.9512, "lng": 89.1895, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 622903.0, "id": 1156573684 }, { "city": "Shuanghe", "city_ascii": "Shuanghe", "lat": 30.3866, "lng": 106.7756, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 360000.0, "id": 1156573894 }, { "city": "Wenchang", "city_ascii": "Wenchang", "lat": 31.054, "lng": 116.9507, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 664455.0, "id": 1156574542 }, { "city": "Wuhai", "city_ascii": "Wuhai", "lat": 39.6844, "lng": 106.8158, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": "minor", "population": 532902.0, "id": 1156575615 }, { "city": "Da’an", "city_ascii": "Da'an", "lat": 45.505, "lng": 124.2863, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 418232.0, "id": 1156577983 }, { "city": "Danyang", "city_ascii": "Danyang", "lat": 31.9948, "lng": 119.575, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 980662.0, "id": 1156578273 }, { "city": "Zhongshan", "city_ascii": "Zhongshan", "lat": 22.5333, "lng": 113.35, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2909633.0, "id": 1156579621 }, { "city": "Huludao", "city_ascii": "Huludao", "lat": 40.7094, "lng": 120.8378, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": "minor", "population": 2623541.0, "id": 1156580218 }, { "city": "Luzhou", "city_ascii": "Luzhou", "lat": 28.8918, "lng": 105.4409, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 4218427.0, "id": 1156582079 }, { "city": "Dangyang", "city_ascii": "Dangyang", "lat": 30.8258, "lng": 111.791, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 560000.0, "id": 1156585505 }, { "city": "Qingzhen", "city_ascii": "Qingzhen", "lat": 26.5555, "lng": 106.4646, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 467992.0, "id": 1156587033 }, { "city": "Yutan", "city_ascii": "Yutan", "lat": 28.3147, "lng": 112.554, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 1368117.0, "id": 1156592042 }, { "city": "Anqiu", "city_ascii": "Anqiu", "lat": 36.3619, "lng": 119.1072, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 947723.0, "id": 1156592047 }, { "city": "Zhaodong", "city_ascii": "Zhaodong", "lat": 46.0635, "lng": 125.9773, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 666532.0, "id": 1156601489 }, { "city": "Nanning", "city_ascii": "Nanning", "lat": 22.8192, "lng": 108.315, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "admin", "population": 3837978.0, "id": 1156605439 }, { "city": "Sihui", "city_ascii": "Sihui", "lat": 23.3448, "lng": 112.6956, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 593400.0, "id": 1156609451 }, { "city": "Nehe", "city_ascii": "Nehe", "lat": 48.48, "lng": 124.8738, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 740000.0, "id": 1156609562 }, { "city": "Lecheng", "city_ascii": "Lecheng", "lat": 25.1307, "lng": 113.3472, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 419500.0, "id": 1156612198 }, { "city": "Shaoguan", "city_ascii": "Shaoguan", "lat": 24.8011, "lng": 113.5927, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2997600.0, "id": 1156617066 }, { "city": "Xinzhou", "city_ascii": "Xinzhou", "lat": 38.4178, "lng": 112.7233, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 3067501.0, "id": 1156617534 }, { "city": "Wuzhou", "city_ascii": "Wuzhou", "lat": 23.4833, "lng": 111.3167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 3061100.0, "id": 1156620133 }, { "city": "Ning’an", "city_ascii": "Ning'an", "lat": 44.3439, "lng": 129.4656, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 440000.0, "id": 1156629205 }, { "city": "Zhongxiang", "city_ascii": "Zhongxiang", "lat": 31.169, "lng": 112.5853, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 1022514.0, "id": 1156631720 }, { "city": "Taiyuan", "city_ascii": "Taiyuan", "lat": 37.8733, "lng": 112.5425, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "admin", "population": 3875053.0, "id": 1156632014 }, { "city": "Longba", "city_ascii": "Longba", "lat": 33.535, "lng": 105.349, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": null, "population": 2567718.0, "id": 1156633259 }, { "city": "Huai’an", "city_ascii": "Huai'an", "lat": 33.5058, "lng": 119.1392, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 2632788.0, "id": 1156634228 }, { "city": "Zhenzhou", "city_ascii": "Zhenzhou", "lat": 32.2739, "lng": 119.1619, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 564021.0, "id": 1156634387 }, { "city": "Nanjing", "city_ascii": "Nanjing", "lat": 32.0608, "lng": 118.7789, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "admin", "population": 8422000.0, "id": 1156644065 }, { "city": "Pudong", "city_ascii": "Pudong", "lat": 31.2231, "lng": 121.5397, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanghai", "capital": "minor", "population": 5681512.0, "id": 1156644508 }, { "city": "Jilin", "city_ascii": "Jilin", "lat": 43.8519, "lng": 126.5481, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 2396000.0, "id": 1156646448 }, { "city": "Encheng", "city_ascii": "Encheng", "lat": 22.1879, "lng": 112.3131, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 509700.0, "id": 1156653230 }, { "city": "Suining", "city_ascii": "Suining", "lat": 30.5098, "lng": 105.5737, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 3252619.0, "id": 1156655650 }, { "city": "Dingzhou", "city_ascii": "Dingzhou", "lat": 38.5158, "lng": 114.9845, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 1165182.0, "id": 1156656582 }, { "city": "Xunyang", "city_ascii": "Xunyang", "lat": 32.8357, "lng": 109.359, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": null, "population": 426677.0, "id": 1156656651 }, { "city": "Jiaji", "city_ascii": "Jiaji", "lat": 19.2431, "lng": 110.4642, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "minor", "population": 515700.0, "id": 1156658217 }, { "city": "Zhongshu", "city_ascii": "Zhongshu", "lat": 27.8116, "lng": 106.4133, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 679624.0, "id": 1156658422 }, { "city": "Panshi", "city_ascii": "Panshi", "lat": 42.9392, "lng": 126.0561, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 370238.0, "id": 1156659612 }, { "city": "Jin’e", "city_ascii": "Jin'e", "lat": 29.3395, "lng": 105.2868, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 633210.0, "id": 1156661253 }, { "city": "Huaiyin", "city_ascii": "Huaiyin", "lat": 33.5819, "lng": 119.028, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 1264000.0, "id": 1156662372 }, { "city": "Heyuan", "city_ascii": "Heyuan", "lat": 23.7503, "lng": 114.6923, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 3093900.0, "id": 1156665165 }, { "city": "Yakeshi", "city_ascii": "Yakeshi", "lat": 49.2842, "lng": 120.7283, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Inner Mongolia", "capital": "minor", "population": 352173.0, "id": 1156666223 }, { "city": "Shaoyang", "city_ascii": "Shaoyang", "lat": 32.9387, "lng": 119.8404, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 1253548.0, "id": 1156668366 }, { "city": "Chaohucun", "city_ascii": "Chaohucun", "lat": 31.6783, "lng": 117.7353, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 782000.0, "id": 1156671495 }, { "city": "Shengli", "city_ascii": "Shengli", "lat": 37.45, "lng": 118.4667, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 2193518.0, "id": 1156672254 }, { "city": "Gaomi", "city_ascii": "Gaomi", "lat": 36.3833, "lng": 119.75, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 868715.0, "id": 1156673331 }, { "city": "Qionghu", "city_ascii": "Qionghu", "lat": 28.8417, "lng": 112.3595, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 667104.0, "id": 1156678111 }, { "city": "Gulou", "city_ascii": "Gulou", "lat": 26.0865, "lng": 119.298, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2606000.0, "id": 1156680279 }, { "city": "Yuxi", "city_ascii": "Yuxi", "lat": 24.3495, "lng": 102.5432, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 2386000.0, "id": 1156682309 }, { "city": "Lanxi", "city_ascii": "Lanxi", "lat": 29.2167, "lng": 119.4722, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 560514.0, "id": 1156686465 }, { "city": "Kaifeng Chengguanzhen", "city_ascii": "Kaifeng Chengguanzhen", "lat": 34.8519, "lng": 114.3481, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 872000.0, "id": 1156686574 }, { "city": "Qingnian", "city_ascii": "Qingnian", "lat": 36.8494, "lng": 115.7061, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 760781.0, "id": 1156689964 }, { "city": "Shahe", "city_ascii": "Shahe", "lat": 36.8622, "lng": 114.502, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 486329.0, "id": 1156690538 }, { "city": "Miluo Chengguanzhen", "city_ascii": "Miluo Chengguanzhen", "lat": 28.8049, "lng": 113.0745, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 692080.0, "id": 1156690651 }, { "city": "Tanbei", "city_ascii": "Tanbei", "lat": 35.0907, "lng": 112.9317, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 447701.0, "id": 1156690688 }, { "city": "Yongzhou", "city_ascii": "Yongzhou", "lat": 26.4515, "lng": 111.5953, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 5452100.0, "id": 1156694479 }, { "city": "Gongzhuling", "city_ascii": "Gongzhuling", "lat": 43.5036, "lng": 124.8088, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 1092692.0, "id": 1156696810 }, { "city": "Hengyang", "city_ascii": "Hengyang", "lat": 26.8968, "lng": 112.5857, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": null, "population": 7243400.0, "id": 1156696884 }, { "city": "Cangzhou", "city_ascii": "Cangzhou", "lat": 38.3037, "lng": 116.8452, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 7544300.0, "id": 1156698069 }, { "city": "Wuxi", "city_ascii": "Wuxi", "lat": 26.5895, "lng": 111.8481, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 853197.0, "id": 1156698595 }, { "city": "Leping", "city_ascii": "Leping", "lat": 28.9632, "lng": 117.1203, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 852800.0, "id": 1156705082 }, { "city": "Yuncheng", "city_ascii": "Yuncheng", "lat": 35.0304, "lng": 110.998, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 5134779.0, "id": 1156705644 }, { "city": "Xingcheng", "city_ascii": "Xingcheng", "lat": 40.6189, "lng": 120.7205, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 546176.0, "id": 1156705922 }, { "city": "Chaoyang", "city_ascii": "Chaoyang", "lat": 41.5757, "lng": 120.4486, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 3044641.0, "id": 1156706927 }, { "city": "Pinghu", "city_ascii": "Pinghu", "lat": 30.7005, "lng": 121.0104, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 671834.0, "id": 1156720536 }, { "city": "Zhuhai", "city_ascii": "Zhuhai", "lat": 22.2769, "lng": 113.5678, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2439585.0, "id": 1156722242 }, { "city": "Wu’an", "city_ascii": "Wu'an", "lat": 36.6941, "lng": 114.1847, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 819000.0, "id": 1156729960 }, { "city": "Helixi", "city_ascii": "Helixi", "lat": 30.6267, "lng": 118.9861, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 376857.0, "id": 1156734041 }, { "city": "Pingdingshan", "city_ascii": "Pingdingshan", "lat": 33.735, "lng": 113.2999, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 4904701.0, "id": 1156735124 }, { "city": "Foshan", "city_ascii": "Foshan", "lat": 23.0292, "lng": 113.1056, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 9498863.0, "id": 1156738403 }, { "city": "Yicheng", "city_ascii": "Yicheng", "lat": 31.7117, "lng": 112.2551, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 512530.0, "id": 1156742818 }, { "city": "Qujing", "city_ascii": "Qujing", "lat": 25.5102, "lng": 103.8029, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 6155400.0, "id": 1156747998 }, { "city": "Yingchuan", "city_ascii": "Yingchuan", "lat": 34.1511, "lng": 113.4733, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 1131896.0, "id": 1156748426 }, { "city": "Jiaozhou", "city_ascii": "Jiaozhou", "lat": 36.2481, "lng": 119.9625, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 900500.0, "id": 1156752602 }, { "city": "Puning", "city_ascii": "Puning", "lat": 23.2993, "lng": 116.1586, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 2118200.0, "id": 1156756494 }, { "city": "Zunhua", "city_ascii": "Zunhua", "lat": 40.1881, "lng": 117.9593, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 737011.0, "id": 1156756935 }, { "city": "Yichun", "city_ascii": "Yichun", "lat": 47.7235, "lng": 128.8893, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 1148126.0, "id": 1156757274 }, { "city": "Zhengjiatun", "city_ascii": "Zhengjiatun", "lat": 43.513, "lng": 123.5003, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 419529.0, "id": 1156759747 }, { "city": "Wuwei", "city_ascii": "Wuwei", "lat": 37.9278, "lng": 102.6329, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 1815059.0, "id": 1156760291 }, { "city": "Xintai", "city_ascii": "Xintai", "lat": 35.91, "lng": 117.78, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1315942.0, "id": 1156761230 }, { "city": "Nanchong", "city_ascii": "Nanchong", "lat": 30.7991, "lng": 106.0784, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 6278614.0, "id": 1156762337 }, { "city": "Xiaoxita", "city_ascii": "Xiaoxita", "lat": 30.7083, "lng": 111.2803, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": "minor", "population": 4137900.0, "id": 1156764447 }, { "city": "Suoluntun", "city_ascii": "Suoluntun", "lat": 45.2279, "lng": 124.8432, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 495900.0, "id": 1156764587 }, { "city": "Tieli", "city_ascii": "Tieli", "lat": 46.9838, "lng": 128.04, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 390000.0, "id": 1156769379 }, { "city": "Zhijiang", "city_ascii": "Zhijiang", "lat": 30.4271, "lng": 111.7506, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 495995.0, "id": 1156769646 }, { "city": "Tianchang", "city_ascii": "Tianchang", "lat": 32.6853, "lng": 119.0041, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 602840.0, "id": 1156770851 }, { "city": "Qiqihar", "city_ascii": "Qiqihar", "lat": 47.3398, "lng": 123.9512, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 5367003.0, "id": 1156775905 }, { "city": "Gaozhou", "city_ascii": "Gaozhou", "lat": 21.9135, "lng": 110.8481, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 1414100.0, "id": 1156785303 }, { "city": "Yangchun", "city_ascii": "Yangchun", "lat": 22.1717, "lng": 111.7846, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 891800.0, "id": 1156787307 }, { "city": "Shouguang", "city_ascii": "Shouguang", "lat": 36.8833, "lng": 118.7333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1039205.0, "id": 1156787809 }, { "city": "Laohekou", "city_ascii": "Laohekou", "lat": 32.3849, "lng": 111.6695, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 471482.0, "id": 1156791804 }, { "city": "Rongjiawan", "city_ascii": "Rongjiawan", "lat": 29.1409, "lng": 113.1087, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "minor", "population": 826000.0, "id": 1156795164 }, { "city": "Zaozhuang", "city_ascii": "Zaozhuang", "lat": 34.8667, "lng": 117.55, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 3729140.0, "id": 1156796454 }, { "city": "Huazhou", "city_ascii": "Huazhou", "lat": 32.6832, "lng": 112.079, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 1468061.0, "id": 1156796734 }, { "city": "Zhangjiakou", "city_ascii": "Zhangjiakou", "lat": 40.8108, "lng": 114.8811, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 4345485.0, "id": 1156800221 }, { "city": "Hengshui", "city_ascii": "Hengshui", "lat": 37.7348, "lng": 115.686, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 4472000.0, "id": 1156803028 }, { "city": "Tongren", "city_ascii": "Tongren", "lat": 27.7233, "lng": 109.1885, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 3168800.0, "id": 1156803442 }, { "city": "Hailun", "city_ascii": "Hailun", "lat": 47.4585, "lng": 126.9632, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 850000.0, "id": 1156804488 }, { "city": "Shangqiu", "city_ascii": "Shangqiu", "lat": 34.4259, "lng": 115.6467, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 7816831.0, "id": 1156805441 }, { "city": "Putian", "city_ascii": "Putian", "lat": 25.4394, "lng": 119.0103, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 3210714.0, "id": 1156811601 }, { "city": "Jiaojiangcun", "city_ascii": "Jiaojiangcun", "lat": 28.6804, "lng": 121.45, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 471500.0, "id": 1156812073 }, { "city": "Yucheng", "city_ascii": "Yucheng", "lat": 29.9888, "lng": 103.0007, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 1507258.0, "id": 1156817119 }, { "city": "Zouping", "city_ascii": "Zouping", "lat": 36.8625, "lng": 117.7424, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 774517.0, "id": 1156817518 }, { "city": "Guyuan", "city_ascii": "Guyuan", "lat": 36.008, "lng": 106.2782, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Ningxia", "capital": null, "population": 1426000.0, "id": 1156817541 }, { "city": "Yangzhou", "city_ascii": "Yangzhou", "lat": 32.3912, "lng": 119.4363, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 4559797.0, "id": 1156818601 }, { "city": "Dayan", "city_ascii": "Dayan", "lat": 26.8808, "lng": 100.2208, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 1296000.0, "id": 1156828380 }, { "city": "Quanzhou", "city_ascii": "Quanzhou", "lat": 24.9139, "lng": 118.5858, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 8782285.0, "id": 1156829655 }, { "city": "Ganzhou", "city_ascii": "Ganzhou", "lat": 25.8292, "lng": 114.9336, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": "minor", "population": 8970014.0, "id": 1156832475 }, { "city": "Tengyue", "city_ascii": "Tengyue", "lat": 25.0208, "lng": 98.4972, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": "minor", "population": 644765.0, "id": 1156832866 }, { "city": "Dazhou", "city_ascii": "Dazhou", "lat": 31.2152, "lng": 107.4947, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 5468097.0, "id": 1156834076 }, { "city": "Lingbao Chengguanzhen", "city_ascii": "Lingbao Chengguanzhen", "lat": 34.5221, "lng": 110.8786, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 656571.0, "id": 1156837145 }, { "city": "Songzi", "city_ascii": "Songzi", "lat": 30.1772, "lng": 111.7732, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 765911.0, "id": 1156837705 }, { "city": "Dali", "city_ascii": "Dali", "lat": 25.6808, "lng": 100.3003, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 771128.0, "id": 1156840276 }, { "city": "Yongcheng", "city_ascii": "Yongcheng", "lat": 33.9317, "lng": 116.4459, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": null, "population": 1240382.0, "id": 1156841802 }, { "city": "Ma’anshan", "city_ascii": "Ma'anshan", "lat": 31.6858, "lng": 118.5101, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": "minor", "population": 2202899.0, "id": 1156847452 }, { "city": "Tongchuan", "city_ascii": "Tongchuan", "lat": 34.9057, "lng": 108.9422, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": "minor", "population": 834437.0, "id": 1156849608 }, { "city": "Fushun", "city_ascii": "Fushun", "lat": 41.8708, "lng": 123.8917, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 2024000.0, "id": 1156857743 }, { "city": "Lishui", "city_ascii": "Lishui", "lat": 28.45, "lng": 119.9167, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 2507396.0, "id": 1156858793 }, { "city": "Leizhou", "city_ascii": "Leizhou", "lat": 20.9147, "lng": 110.0806, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 1494700.0, "id": 1156863840 }, { "city": "Longzhou", "city_ascii": "Longzhou", "lat": 30.32, "lng": 112.23, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 520000.0, "id": 1156863928 }, { "city": "Mingguang", "city_ascii": "Mingguang", "lat": 32.7816, "lng": 117.9899, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 532732.0, "id": 1156864248 }, { "city": "Chengguan", "city_ascii": "Chengguan", "lat": 35.5256, "lng": 113.6976, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 740435.0, "id": 1156866870 }, { "city": "Suzhou", "city_ascii": "Suzhou", "lat": 33.6333, "lng": 116.9683, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 5352924.0, "id": 1156871297 }, { "city": "Qingzhou", "city_ascii": "Qingzhou", "lat": 36.6967, "lng": 118.4797, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 914047.0, "id": 1156874864 }, { "city": "Taihecun", "city_ascii": "Taihecun", "lat": 45.768, "lng": 131.0063, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Heilongjiang", "capital": "minor", "population": 920471.0, "id": 1156875484 }, { "city": "Huainan", "city_ascii": "Huainan", "lat": 32.4831, "lng": 117.0164, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Anhui", "capital": null, "population": 2333896.0, "id": 1156877299 }, { "city": "Chengtangcun", "city_ascii": "Chengtangcun", "lat": 35.0833, "lng": 117.15, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 1603659.0, "id": 1156883901 }, { "city": "Karamay", "city_ascii": "Karamay", "lat": 45.5799, "lng": 84.8892, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 391008.0, "id": 1156892128 }, { "city": "Shaoxing", "city_ascii": "Shaoxing", "lat": 30.0, "lng": 120.5833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": "minor", "population": 2521964.0, "id": 1156893449 }, { "city": "Fuqing", "city_ascii": "Fuqing", "lat": 25.7232, "lng": 119.3735, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 1390487.0, "id": 1156893569 }, { "city": "Kuqa", "city_ascii": "Kuqa", "lat": 41.7156, "lng": 82.9322, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 462588.0, "id": 1156894895 }, { "city": "Guigang", "city_ascii": "Guigang", "lat": 23.0961, "lng": 109.6092, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 4409200.0, "id": 1156895251 }, { "city": "Jurong", "city_ascii": "Jurong", "lat": 31.9579, "lng": 119.1595, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 617706.0, "id": 1156897463 }, { "city": "Dehui", "city_ascii": "Dehui", "lat": 44.5333, "lng": 125.7, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": null, "population": 839786.0, "id": 1156898134 }, { "city": "Xiping", "city_ascii": "Xiping", "lat": 40.082, "lng": 113.2981, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": "minor", "population": 1873000.0, "id": 1156898522 }, { "city": "Yueqing", "city_ascii": "Yueqing", "lat": 28.1188, "lng": 120.9621, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 488980.0, "id": 1156900058 }, { "city": "Yulin", "city_ascii": "Yulin", "lat": 22.6293, "lng": 110.1507, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 5849700.0, "id": 1156901312 }, { "city": "Dadukou", "city_ascii": "Dadukou", "lat": 26.5849, "lng": 101.7149, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 1214121.0, "id": 1156901342 }, { "city": "Changshu", "city_ascii": "Changshu", "lat": 31.65, "lng": 120.7333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": null, "population": 1677050.0, "id": 1156901538 }, { "city": "Anshan", "city_ascii": "Anshan", "lat": 41.1066, "lng": 122.9895, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Liaoning", "capital": null, "population": 3645884.0, "id": 1156901825 }, { "city": "Weinan", "city_ascii": "Weinan", "lat": 34.4996, "lng": 109.4684, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shaanxi", "capital": "minor", "population": 5286077.0, "id": 1156903687 }, { "city": "Tangshan", "city_ascii": "Tangshan", "lat": 39.6292, "lng": 118.1742, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 3399231.0, "id": 1156904299 }, { "city": "Hongzhai", "city_ascii": "Hongzhai", "lat": 34.9857, "lng": 104.5446, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": null, "population": 355037.0, "id": 1156905289 }, { "city": "Ningde", "city_ascii": "Ningde", "lat": 26.6617, "lng": 119.5228, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2910000.0, "id": 1156909802 }, { "city": "Xiaoyi", "city_ascii": "Xiaoyi", "lat": 37.1449, "lng": 111.7718, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shanxi", "capital": null, "population": 468770.0, "id": 1156910270 }, { "city": "Nada", "city_ascii": "Nada", "lat": 19.5, "lng": 109.5833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "minor", "population": 977700.0, "id": 1156911678 }, { "city": "Weifang", "city_ascii": "Weifang", "lat": 36.7167, "lng": 119.1, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 2636154.0, "id": 1156912965 }, { "city": "Xingcheng", "city_ascii": "Xingcheng", "lat": 24.1681, "lng": 115.6669, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 993000.0, "id": 1156913008 }, { "city": "Fuzhou", "city_ascii": "Fuzhou", "lat": 27.9814, "lng": 116.3577, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 4047200.0, "id": 1156915325 }, { "city": "Qianxi", "city_ascii": "Qianxi", "lat": 27.0284, "lng": 106.0327, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": null, "population": 695947.0, "id": 1156919716 }, { "city": "Shenzhou", "city_ascii": "Shenzhou", "lat": 38.0005, "lng": 115.5541, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 566087.0, "id": 1156921843 }, { "city": "Zhaotong", "city_ascii": "Zhaotong", "lat": 27.3328, "lng": 103.7144, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Yunnan", "capital": null, "population": 5591000.0, "id": 1156924687 }, { "city": "Laibin", "city_ascii": "Laibin", "lat": 23.7333, "lng": 109.2333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 2233900.0, "id": 1156925734 }, { "city": "Nanping", "city_ascii": "Nanping", "lat": 26.6448, "lng": 118.1728, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Fujian", "capital": "minor", "population": 2690000.0, "id": 1156927445 }, { "city": "Langzhong", "city_ascii": "Langzhong", "lat": 31.5504, "lng": 105.9938, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Sichuan", "capital": "minor", "population": 728935.0, "id": 1156930148 }, { "city": "Guiyang", "city_ascii": "Guiyang", "lat": 26.5794, "lng": 106.7078, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guizhou", "capital": "admin", "population": 3299724.0, "id": 1156932620 }, { "city": "Yantai", "city_ascii": "Yantai", "lat": 37.3997, "lng": 121.2664, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 2511053.0, "id": 1156932948 }, { "city": "Licheng", "city_ascii": "Licheng", "lat": 31.4174, "lng": 119.4786, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 749522.0, "id": 1156933354 }, { "city": "Zhenjiang", "city_ascii": "Zhenjiang", "lat": 32.2109, "lng": 119.4551, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 3210418.0, "id": 1156934125 }, { "city": "Mizhou", "city_ascii": "Mizhou", "lat": 35.99, "lng": 119.3801, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "minor", "population": 1060000.0, "id": 1156935002 }, { "city": "Chongqing", "city_ascii": "Chongqing", "lat": 29.55, "lng": 106.5069, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Chongqing", "capital": "admin", "population": 12135000.0, "id": 1156936556 }, { "city": "Xinyi", "city_ascii": "Xinyi", "lat": 22.3559, "lng": 110.9369, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 1013900.0, "id": 1156936644 }, { "city": "Shanwei", "city_ascii": "Shanwei", "lat": 22.7664, "lng": 115.3331, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": "minor", "population": 2993600.0, "id": 1156939010 }, { "city": "Renqiu", "city_ascii": "Renqiu", "lat": 38.7094, "lng": 116.1008, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": null, "population": 822455.0, "id": 1156943939 }, { "city": "Lianjiang", "city_ascii": "Lianjiang", "lat": 21.6146, "lng": 110.2794, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangdong", "capital": null, "population": 1509400.0, "id": 1156944106 }, { "city": "Macheng", "city_ascii": "Macheng", "lat": 31.1817, "lng": 115.0189, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hubei", "capital": null, "population": 849090.0, "id": 1156949639 }, { "city": "Guangming", "city_ascii": "Guangming", "lat": 45.3357, "lng": 122.7765, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 437559.0, "id": 1156955625 }, { "city": "Zhongwei", "city_ascii": "Zhongwei", "lat": 37.5139, "lng": 105.1884, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Ningxia", "capital": "minor", "population": 1067336.0, "id": 1156956616 }, { "city": "Handan", "city_ascii": "Handan", "lat": 36.6116, "lng": 114.4894, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hebei", "capital": "minor", "population": 2708015.0, "id": 1156957080 }, { "city": "Xibeijie", "city_ascii": "Xibeijie", "lat": 39.737, "lng": 98.5049, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Gansu", "capital": "minor", "population": 1095947.0, "id": 1156960560 }, { "city": "Baishan", "city_ascii": "Baishan", "lat": 41.9377, "lng": 126.4179, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 1296127.0, "id": 1156960624 }, { "city": "Changsha", "city_ascii": "Changsha", "lat": 28.1987, "lng": 112.9709, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hunan", "capital": "admin", "population": 4766296.0, "id": 1156961497 }, { "city": "Korla", "city_ascii": "Korla", "lat": 41.7259, "lng": 86.1746, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Xinjiang", "capital": "minor", "population": 770000.0, "id": 1156965620 }, { "city": "Shuangqiao", "city_ascii": "Shuangqiao", "lat": 35.0833, "lng": 112.5833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Henan", "capital": "minor", "population": 733000.0, "id": 1156968311 }, { "city": "Jinan", "city_ascii": "Jinan", "lat": 36.6667, "lng": 116.9833, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": "admin", "population": 5606374.0, "id": 1156972469 }, { "city": "Laixi", "city_ascii": "Laixi", "lat": 36.8667, "lng": 120.5333, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Shandong", "capital": null, "population": 762900.0, "id": 1156973102 }, { "city": "Baicheng", "city_ascii": "Baicheng", "lat": 23.901, "lng": 106.6194, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Guangxi", "capital": "minor", "population": 3669400.0, "id": 1156981113 }, { "city": "Wencheng", "city_ascii": "Wencheng", "lat": 19.6167, "lng": 110.75, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Hainan", "capital": "minor", "population": 568900.0, "id": 1156985313 }, { "city": "Baisha", "city_ascii": "Baisha", "lat": 29.4774, "lng": 119.2853, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 446000.0, "id": 1156988315 }, { "city": "Shulan", "city_ascii": "Shulan", "lat": 44.4079, "lng": 126.9429, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jilin", "capital": "minor", "population": 663403.0, "id": 1156989733 }, { "city": "Rui’an", "city_ascii": "Rui'an", "lat": 27.778, "lng": 120.6526, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Zhejiang", "capital": null, "population": 1424667.0, "id": 1156993705 }, { "city": "Yancheng", "city_ascii": "Yancheng", "lat": 33.3936, "lng": 120.1339, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangsu", "capital": "minor", "population": 7260240.0, "id": 1156995410 }, { "city": "Zhangshu", "city_ascii": "Zhangshu", "lat": 28.0667, "lng": 115.5375, "country": "China", "iso2": "CN", "iso3": "CHN", "admin_name": "Jiangxi", "capital": null, "population": 610424.0, "id": 1156996913 }, { "city": "Zhongli", "city_ascii": "Zhongli", "lat": 24.965, "lng": 121.2168, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Taoyuan", "capital": null, "population": 1632616.0, "id": 1158025380 }, { "city": "Tainan", "city_ascii": "Tainan", "lat": 22.9833, "lng": 120.1833, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Tainan", "capital": "admin", "population": 1874686.0, "id": 1158061376 }, { "city": "Taoyuan District", "city_ascii": "Taoyuan District", "lat": 24.9913, "lng": 121.3143, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Taoyuan", "capital": "admin", "population": 443273.0, "id": 1158127875 }, { "city": "Pingtung", "city_ascii": "Pingtung", "lat": 22.6761, "lng": 120.4942, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Pingtung", "capital": "admin", "population": 503530.0, "id": 1158209038 }, { "city": "Hsinchu", "city_ascii": "Hsinchu", "lat": 24.8167, "lng": 120.9833, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Hsinchu", "capital": "admin", "population": 499348.0, "id": 1158276420 }, { "city": "Kaohsiung", "city_ascii": "Kaohsiung", "lat": 22.615, "lng": 120.2975, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Kaohsiung", "capital": "admin", "population": 2733566.0, "id": 1158331334 }, { "city": "Changhua", "city_ascii": "Changhua", "lat": 24.0667, "lng": 120.5333, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Changhua", "capital": "admin", "population": 750000.0, "id": 1158439005 }, { "city": "Taichung", "city_ascii": "Taichung", "lat": 24.1439, "lng": 120.6794, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Taichung", "capital": "admin", "population": 3033885.0, "id": 1158689622 }, { "city": "Keelung", "city_ascii": "Keelung", "lat": 25.1333, "lng": 121.7333, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Keelung", "capital": "admin", "population": 370155.0, "id": 1158820647 }, { "city": "Taipei", "city_ascii": "Taipei", "lat": 25.0375, "lng": 121.5625, "country": "Taiwan", "iso2": "TW", "iso3": "TWN", "admin_name": "Taipei", "capital": "primary", "population": 9078000.0, "id": 1158881289 }, { "city": "Neiva", "city_ascii": "Neiva", "lat": 2.9345, "lng": -75.2809, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Huila", "capital": "admin", "population": 353033.0, "id": 1170159963 }, { "city": "Barranquilla", "city_ascii": "Barranquilla", "lat": 10.9833, "lng": -74.8019, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Atlántico", "capital": "admin", "population": 1326588.0, "id": 1170179113 }, { "city": "Ibagué", "city_ascii": "Ibague", "lat": 4.4333, "lng": -75.2333, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Tolima", "capital": "admin", "population": 541101.0, "id": 1170245063 }, { "city": "Buenaventura", "city_ascii": "Buenaventura", "lat": 3.8772, "lng": -77.0267, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Valle del Cauca", "capital": "minor", "population": 423927.0, "id": 1170287988 }, { "city": "Pasto", "city_ascii": "Pasto", "lat": 1.2078, "lng": -77.2772, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Nariño", "capital": "admin", "population": 392930.0, "id": 1170320545 }, { "city": "Pereira", "city_ascii": "Pereira", "lat": 4.8143, "lng": -75.6946, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Risaralda", "capital": "admin", "population": 590554.0, "id": 1170386718 }, { "city": "Cali", "city_ascii": "Cali", "lat": 3.4206, "lng": -76.5222, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Valle del Cauca", "capital": "admin", "population": 2471474.0, "id": 1170417589 }, { "city": "Bello", "city_ascii": "Bello", "lat": 6.3333, "lng": -75.5667, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Antioquia", "capital": "minor", "population": 495483.0, "id": 1170423489 }, { "city": "Villavicencio", "city_ascii": "Villavicencio", "lat": 4.15, "lng": -73.6333, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Meta", "capital": "admin", "population": 664148.0, "id": 1170426927 }, { "city": "Valledupar", "city_ascii": "Valledupar", "lat": 10.4833, "lng": -73.25, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Cesar", "capital": "admin", "population": 544134.0, "id": 1170481949 }, { "city": "Bogotá", "city_ascii": "Bogota", "lat": 4.7111, "lng": -74.0722, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Bogotá", "capital": "primary", "population": 7968095.0, "id": 1170483426 }, { "city": "Soacha", "city_ascii": "Soacha", "lat": 4.5872, "lng": -74.2214, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Cundinamarca", "capital": "minor", "population": 522442.0, "id": 1170512000 }, { "city": "Palermo", "city_ascii": "Palermo", "lat": 2.8917, "lng": -75.4375, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Huila", "capital": "minor", "population": 800000.0, "id": 1170614290 }, { "city": "Medellín", "city_ascii": "Medellin", "lat": 6.2308, "lng": -75.5906, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Antioquia", "capital": "admin", "population": 2529403.0, "id": 1170680389 }, { "city": "Santa Marta", "city_ascii": "Santa Marta", "lat": 11.2419, "lng": -74.2053, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Magdalena", "capital": "admin", "population": 515556.0, "id": 1170715594 }, { "city": "Cúcuta", "city_ascii": "Cucuta", "lat": 7.8942, "lng": -72.5039, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Norte de Santander", "capital": "admin", "population": 750000.0, "id": 1170743755 }, { "city": "Soledad", "city_ascii": "Soledad", "lat": 10.9167, "lng": -74.75, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Atlántico", "capital": "minor", "population": 698852.0, "id": 1170765625 }, { "city": "Timbío", "city_ascii": "Timbio", "lat": 2.3445, "lng": -76.6839, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Cauca", "capital": "minor", "population": 4444444.0, "id": 1170815311 }, { "city": "Montería", "city_ascii": "Monteria", "lat": 8.75, "lng": -75.8833, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Córdoba", "capital": "admin", "population": 505334.0, "id": 1170855299 }, { "city": "Cartagena", "city_ascii": "Cartagena", "lat": 10.4, "lng": -75.5, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Bolívar", "capital": "admin", "population": 1036412.0, "id": 1170886102 }, { "city": "Manizales", "city_ascii": "Manizales", "lat": 5.1, "lng": -75.55, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Caldas", "capital": "admin", "population": 434403.0, "id": 1170930654 }, { "city": "Bucaramanga", "city_ascii": "Bucaramanga", "lat": 7.1333, "lng": -73.0, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Santander", "capital": "admin", "population": 870752.0, "id": 1170940590 }, { "city": "Palmira", "city_ascii": "Palmira", "lat": 3.5833, "lng": -76.25, "country": "Colombia", "iso2": "CO", "iso3": "COL", "admin_name": "Valle del Cauca", "capital": "minor", "population": 349294.0, "id": 1170969619 }, { "city": "Brazzaville", "city_ascii": "Brazzaville", "lat": -4.2694, "lng": 15.2714, "country": "Congo (Brazzaville)", "iso2": "CG", "iso3": "COG", "admin_name": "Brazzaville", "capital": "primary", "population": 1827000.0, "id": 1178340306 }, { "city": "Pointe-Noire", "city_ascii": "Pointe-Noire", "lat": -4.8, "lng": 11.85, "country": "Congo (Brazzaville)", "iso2": "CG", "iso3": "COG", "admin_name": "Pointe-Noire", "capital": "admin", "population": 829134.0, "id": 1178411563 }, { "city": "Kinshasa", "city_ascii": "Kinshasa", "lat": -4.325, "lng": 15.3222, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Kinshasa", "capital": "primary", "population": 12836000.0, "id": 1180000363 }, { "city": "Bunia", "city_ascii": "Bunia", "lat": 1.5667, "lng": 30.25, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Ituri", "capital": "admin", "population": 900666.0, "id": 1180006418 }, { "city": "Kananga", "city_ascii": "Kananga", "lat": -5.897, "lng": 22.4488, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Kasaï Central", "capital": "admin", "population": 1971704.0, "id": 1180172460 }, { "city": "Uvira", "city_ascii": "Uvira", "lat": -3.4, "lng": 29.15, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Sud-Kivu", "capital": null, "population": 590000.0, "id": 1180205443 }, { "city": "Kolwezi", "city_ascii": "Kolwezi", "lat": -10.7167, "lng": 25.4667, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Lualaba", "capital": "admin", "population": 572942.0, "id": 1180380965 }, { "city": "Mbuji-Mayi", "city_ascii": "Mbuji-Mayi", "lat": -6.15, "lng": 23.6, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Kasaï Oriental", "capital": "admin", "population": 2643000.0, "id": 1180399586 }, { "city": "Bukavu", "city_ascii": "Bukavu", "lat": -2.5, "lng": 28.8667, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Sud-Kivu", "capital": "admin", "population": 1133000.0, "id": 1180475821 }, { "city": "Kisangani", "city_ascii": "Kisangani", "lat": 0.5153, "lng": 25.1911, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Tshopo", "capital": "admin", "population": 935977.0, "id": 1180478201 }, { "city": "Lubumbashi", "city_ascii": "Lubumbashi", "lat": -11.6647, "lng": 27.4794, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Haut-Katanga", "capital": "admin", "population": 1786397.0, "id": 1180506234 }, { "city": "Kikwit", "city_ascii": "Kikwit", "lat": -5.0386, "lng": 18.8181, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Kwilu", "capital": null, "population": 458000.0, "id": 1180518247 }, { "city": "Tshikapa", "city_ascii": "Tshikapa", "lat": -6.4167, "lng": 20.8, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Kasaï", "capital": null, "population": 732000.0, "id": 1180581239 }, { "city": "Mbandaka", "city_ascii": "Mbandaka", "lat": 0.0478, "lng": 18.2558, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Équateur", "capital": "admin", "population": 1187837.0, "id": 1180720887 }, { "city": "Likasi", "city_ascii": "Likasi", "lat": -10.9833, "lng": 26.7333, "country": "Congo (Kinshasa)", "iso2": "CD", "iso3": "COD", "admin_name": "Haut-Katanga", "capital": null, "population": 495000.0, "id": 1180978192 }, { "city": "San José", "city_ascii": "San Jose", "lat": 9.9325, "lng": -84.08, "country": "Costa Rica", "iso2": "CR", "iso3": "CRI", "admin_name": "San José", "capital": "primary", "population": 1543000.0, "id": 1188749877 }, { "city": "Zagreb", "city_ascii": "Zagreb", "lat": 45.8167, "lng": 15.9833, "country": "Croatia", "iso2": "HR", "iso3": "HRV", "admin_name": "Zagreb, Grad", "capital": "primary", "population": 809268.0, "id": 1191233290 }, { "city": "Havana", "city_ascii": "Havana", "lat": 23.1367, "lng": -82.3589, "country": "Cuba", "iso2": "CU", "iso3": "CUB", "admin_name": "La Habana", "capital": "primary", "population": 2141652.0, "id": 1192752771 }, { "city": "Santiago de Cuba", "city_ascii": "Santiago de Cuba", "lat": 20.0217, "lng": -75.8294, "country": "Cuba", "iso2": "CU", "iso3": "CUB", "admin_name": "Santiago de Cuba", "capital": "admin", "population": 917340.0, "id": 1192766111 }, { "city": "Holguín", "city_ascii": "Holguin", "lat": 20.8869, "lng": -76.2592, "country": "Cuba", "iso2": "CU", "iso3": "CUB", "admin_name": "Holguín", "capital": "admin", "population": 350191.0, "id": 1192920574 }, { "city": "Olomouc", "city_ascii": "Olomouc", "lat": 49.5939, "lng": 17.2508, "country": "Czechia", "iso2": "CZ", "iso3": "CZE", "admin_name": "Olomoucký Kraj", "capital": "admin", "population": 384000.0, "id": 1203328061 }, { "city": "Brno", "city_ascii": "Brno", "lat": 49.1925, "lng": 16.6083, "country": "Czechia", "iso2": "CZ", "iso3": "CZE", "admin_name": "Jihomoravský Kraj", "capital": "admin", "population": 382405.0, "id": 1203676514 }, { "city": "Prague", "city_ascii": "Prague", "lat": 50.0875, "lng": 14.4214, "country": "Czechia", "iso2": "CZ", "iso3": "CZE", "admin_name": "Praha", "capital": "primary", "population": 1335084.0, "id": 1203744823 }, { "city": "Abomey-Calavi", "city_ascii": "Abomey-Calavi", "lat": 6.4486, "lng": 2.3556, "country": "Benin", "iso2": "BJ", "iso3": "BEN", "admin_name": "Atlantique", "capital": null, "population": 655965.0, "id": 1204016569 }, { "city": "Cotonou", "city_ascii": "Cotonou", "lat": 6.3667, "lng": 2.4333, "country": "Benin", "iso2": "BJ", "iso3": "BEN", "admin_name": "Littoral", "capital": "primary", "population": 762000.0, "id": 1204955174 }, { "city": "Copenhagen", "city_ascii": "Copenhagen", "lat": 55.6761, "lng": 12.5683, "country": "Denmark", "iso2": "DK", "iso3": "DNK", "admin_name": "Hovedstaden", "capital": "primary", "population": 1366301.0, "id": 1208763942 }, { "city": "Santo Domingo", "city_ascii": "Santo Domingo", "lat": 18.4764, "lng": -69.8933, "country": "Dominican Republic", "iso2": "DO", "iso3": "DOM", "admin_name": "Ozama", "capital": "primary", "population": 2581827.0, "id": 1214636202 }, { "city": "Santo Domingo Este", "city_ascii": "Santo Domingo Este", "lat": 18.4855, "lng": -69.8734, "country": "Dominican Republic", "iso2": "DO", "iso3": "DOM", "admin_name": "Ozama", "capital": "admin", "population": 948855.0, "id": 1214664832 }, { "city": "Santiago", "city_ascii": "Santiago", "lat": 19.4572, "lng": -70.6889, "country": "Dominican Republic", "iso2": "DO", "iso3": "DOM", "admin_name": "Cibao Norte", "capital": "admin", "population": 1343423.0, "id": 1214985348 }, { "city": "Quito", "city_ascii": "Quito", "lat": -0.22, "lng": -78.5125, "country": "Ecuador", "iso2": "EC", "iso3": "ECU", "admin_name": "Pichincha", "capital": "primary", "population": 2011388.0, "id": 1218441993 }, { "city": "Guayaquil", "city_ascii": "Guayaquil", "lat": -2.19, "lng": -79.8875, "country": "Ecuador", "iso2": "EC", "iso3": "ECU", "admin_name": "Guayas", "capital": "admin", "population": 2723665.0, "id": 1218802178 }, { "city": "San Salvador", "city_ascii": "San Salvador", "lat": 13.6989, "lng": -89.1914, "country": "El Salvador", "iso2": "SV", "iso3": "SLV", "admin_name": "San Salvador", "capital": "primary", "population": 567698.0, "id": 1222647454 }, { "city": "Usulután", "city_ascii": "Usulutan", "lat": 13.35, "lng": -88.45, "country": "El Salvador", "iso2": "SV", "iso3": "SLV", "admin_name": "Usulután", "capital": "admin", "population": 378606.0, "id": 1222984157 }, { "city": "Godē", "city_ascii": "Gode", "lat": 5.9527, "lng": 43.5516, "country": "Ethiopia", "iso2": "ET", "iso3": "ETH", "admin_name": "Sumalē", "capital": null, "population": 980782.0, "id": 1231128743 }, { "city": "Ērer Sātā", "city_ascii": "Erer Sata", "lat": 9.5667, "lng": 41.3833, "country": "Ethiopia", "iso2": "ET", "iso3": "ETH", "admin_name": "Sumalē", "capital": null, "population": 649000.0, "id": 1231563638 }, { "city": "Addis Ababa", "city_ascii": "Addis Ababa", "lat": 9.03, "lng": 38.74, "country": "Ethiopia", "iso2": "ET", "iso3": "ETH", "admin_name": "Ādīs Ābeba", "capital": "primary", "population": 3041002.0, "id": 1231824991 }, { "city": "Asmara", "city_ascii": "Asmara", "lat": 15.3228, "lng": 38.925, "country": "Eritrea", "iso2": "ER", "iso3": "ERI", "admin_name": "Ma’ĭkel", "capital": "primary", "population": 963000.0, "id": 1232791236 }, { "city": "Tallinn", "city_ascii": "Tallinn", "lat": 59.4372, "lng": 24.7453, "country": "Estonia", "iso2": "EE", "iso3": "EST", "admin_name": "Tallinn", "capital": "primary", "population": 438341.0, "id": 1233260021 }, { "city": "Helsinki", "city_ascii": "Helsinki", "lat": 60.1708, "lng": 24.9375, "country": "Finland", "iso2": "FI", "iso3": "FIN", "admin_name": "Uusimaa", "capital": "primary", "population": 1268296.0, "id": 1246177997 }, { "city": "Paris", "city_ascii": "Paris", "lat": 48.8567, "lng": 2.3522, "country": "France", "iso2": "FR", "iso3": "FRA", "admin_name": "Île-de-France", "capital": "primary", "population": 11060000.0, "id": 1250015082 }, { "city": "Lyon", "city_ascii": "Lyon", "lat": 45.76, "lng": 4.84, "country": "France", "iso2": "FR", "iso3": "FRA", "admin_name": "Auvergne-Rhône-Alpes", "capital": "admin", "population": 522969.0, "id": 1250196189 }, { "city": "Toulouse", "city_ascii": "Toulouse", "lat": 43.6045, "lng": 1.444, "country": "France", "iso2": "FR", "iso3": "FRA", "admin_name": "Occitanie", "capital": "admin", "population": 493465.0, "id": 1250258110 }, { "city": "Marseille", "city_ascii": "Marseille", "lat": 43.2964, "lng": 5.37, "country": "France", "iso2": "FR", "iso3": "FRA", "admin_name": "Provence-Alpes-Côte d’Azur", "capital": "admin", "population": 870731.0, "id": 1250774071 }, { "city": "Nice", "city_ascii": "Nice", "lat": 43.7034, "lng": 7.2663, "country": "France", "iso2": "FR", "iso3": "FRA", "admin_name": "Provence-Alpes-Côte d’Azur", "capital": "minor", "population": 342669.0, "id": 1250774553 }, { "city": "Djibouti", "city_ascii": "Djibouti", "lat": 11.5883, "lng": 43.145, "country": "Djibouti", "iso2": "DJ", "iso3": "DJI", "admin_name": "Djibouti", "capital": "primary", "population": 603900.0, "id": 1262028958 }, { "city": "Libreville", "city_ascii": "Libreville", "lat": 0.3903, "lng": 9.4542, "country": "Gabon", "iso2": "GA", "iso3": "GAB", "admin_name": "Estuaire", "capital": "primary", "population": 797003.0, "id": 1266952885 }, { "city": "Tbilisi", "city_ascii": "Tbilisi", "lat": 41.7225, "lng": 44.7925, "country": "Georgia", "iso2": "GE", "iso3": "GEO", "admin_name": "Tbilisi", "capital": "primary", "population": 1118035.0, "id": 1268203191 }, { "city": "Serekunda", "city_ascii": "Serekunda", "lat": 13.4333, "lng": -16.6667, "country": "The Gambia", "iso2": "GM", "iso3": "GMB", "admin_name": "Kanifing", "capital": null, "population": 340000.0, "id": 1270640044 }, { "city": "Banjul", "city_ascii": "Banjul", "lat": 13.4531, "lng": -16.5775, "country": "The Gambia", "iso2": "GM", "iso3": "GMB", "admin_name": "Banjul", "capital": "primary", "population": 413397.0, "id": 1270723713 }, { "city": "Wuppertal", "city_ascii": "Wuppertal", "lat": 51.2667, "lng": 7.1833, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "minor", "population": 355004.0, "id": 1276004611 }, { "city": "Cologne", "city_ascii": "Cologne", "lat": 50.9364, "lng": 6.9528, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": null, "population": 1083498.0, "id": 1276015998 }, { "city": "Hamburg", "city_ascii": "Hamburg", "lat": 53.55, "lng": 10.0, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Hamburg", "capital": "admin", "population": 2484800.0, "id": 1276041799 }, { "city": "Frankfurt", "city_ascii": "Frankfurt", "lat": 50.1106, "lng": 8.6822, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Hesse", "capital": "minor", "population": 764104.0, "id": 1276054552 }, { "city": "Nuremberg", "city_ascii": "Nuremberg", "lat": 49.4539, "lng": 11.0775, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Bavaria", "capital": "minor", "population": 515543.0, "id": 1276166609 }, { "city": "Stuttgart", "city_ascii": "Stuttgart", "lat": 48.7775, "lng": 9.18, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Baden-Württemberg", "capital": "admin", "population": 2787724.0, "id": 1276171358 }, { "city": "Bochum", "city_ascii": "Bochum", "lat": 51.4819, "lng": 7.2158, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "minor", "population": 364454.0, "id": 1276227288 }, { "city": "Bremen", "city_ascii": "Bremen", "lat": 53.0833, "lng": 8.8, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Bremen", "capital": "admin", "population": 566573.0, "id": 1276376509 }, { "city": "Berlin", "city_ascii": "Berlin", "lat": 52.52, "lng": 13.405, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Berlin", "capital": "primary", "population": 4473101.0, "id": 1276451290 }, { "city": "Hannover", "city_ascii": "Hannover", "lat": 52.3667, "lng": 9.7167, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Lower Saxony", "capital": "admin", "population": 542668.0, "id": 1276457707 }, { "city": "Dresden", "city_ascii": "Dresden", "lat": 51.05, "lng": 13.74, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Saxony", "capital": "admin", "population": 561922.0, "id": 1276561036 }, { "city": "Dortmund", "city_ascii": "Dortmund", "lat": 51.5167, "lng": 7.4667, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "minor", "population": 587696.0, "id": 1276562886 }, { "city": "Leipzig", "city_ascii": "Leipzig", "lat": 51.34, "lng": 12.375, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Saxony", "capital": "minor", "population": 615081.0, "id": 1276563678 }, { "city": "Düsseldorf", "city_ascii": "Dusseldorf", "lat": 51.2333, "lng": 6.7833, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "admin", "population": 645923.0, "id": 1276615258 }, { "city": "Munich", "city_ascii": "Munich", "lat": 48.1375, "lng": 11.575, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "Bavaria", "capital": "admin", "population": 2606021.0, "id": 1276692352 }, { "city": "Essen", "city_ascii": "Essen", "lat": 51.4508, "lng": 7.0131, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "minor", "population": 582415.0, "id": 1276769247 }, { "city": "Duisburg", "city_ascii": "Duisburg", "lat": 51.4347, "lng": 6.7625, "country": "Germany", "iso2": "DE", "iso3": "DEU", "admin_name": "North Rhine-Westphalia", "capital": "minor", "population": 495885.0, "id": 1276977172 }, { "city": "Boankra", "city_ascii": "Boankra", "lat": 6.6944, "lng": -1.4028, "country": "Ghana", "iso2": "GH", "iso3": "GHA", "admin_name": "Ashanti", "capital": null, "population": 3348000.0, "id": 1288164978 }, { "city": "Kumasi", "city_ascii": "Kumasi", "lat": 6.6667, "lng": -1.6167, "country": "Ghana", "iso2": "GH", "iso3": "GHA", "admin_name": "Ashanti", "capital": "admin", "population": 2069350.0, "id": 1288181103 }, { "city": "Accra", "city_ascii": "Accra", "lat": 5.55, "lng": -0.2, "country": "Ghana", "iso2": "GH", "iso3": "GHA", "admin_name": "Greater Accra", "capital": "primary", "population": 2388000.0, "id": 1288299415 }, { "city": "Domaa-Ahenkro", "city_ascii": "Domaa-Ahenkro", "lat": 7.2833, "lng": -2.8833, "country": "Ghana", "iso2": "GH", "iso3": "GHA", "admin_name": "Bono", "capital": null, "population": 1000000.0, "id": 1288459533 }, { "city": "Tamale", "city_ascii": "Tamale", "lat": 9.4075, "lng": -0.8533, "country": "Ghana", "iso2": "GH", "iso3": "GHA", "admin_name": "Northern", "capital": "admin", "population": 1095808.0, "id": 1288890688 }, { "city": "Thessaloníki", "city_ascii": "Thessaloniki", "lat": 40.6403, "lng": 22.9347, "country": "Greece", "iso2": "GR", "iso3": "GRC", "admin_name": "Kentrikí Makedonía", "capital": "admin", "population": 824676.0, "id": 1300397999 }, { "city": "Piraeus", "city_ascii": "Piraeus", "lat": 37.943, "lng": 23.6469, "country": "Greece", "iso2": "GR", "iso3": "GRC", "admin_name": "Attikí", "capital": "minor", "population": 448997.0, "id": 1300458367 }, { "city": "Athens", "city_ascii": "Athens", "lat": 37.9842, "lng": 23.7281, "country": "Greece", "iso2": "GR", "iso3": "GRC", "admin_name": "Attikí", "capital": "primary", "population": 3041131.0, "id": 1300715560 }, { "city": "Guatemala City", "city_ascii": "Guatemala City", "lat": 14.6099, "lng": -90.5252, "country": "Guatemala", "iso2": "GT", "iso3": "GTM", "admin_name": "Guatemala", "capital": "primary", "population": 2934841.0, "id": 1320197916 }, { "city": "Villa Nueva", "city_ascii": "Villa Nueva", "lat": 14.5314, "lng": -90.5964, "country": "Guatemala", "iso2": "GT", "iso3": "GTM", "admin_name": "Guatemala", "capital": "minor", "population": 618397.0, "id": 1320353009 }, { "city": "Mixco", "city_ascii": "Mixco", "lat": 14.6338, "lng": -90.6146, "country": "Guatemala", "iso2": "GT", "iso3": "GTM", "admin_name": "Guatemala", "capital": "minor", "population": 517505.0, "id": 1320420152 }, { "city": "Conakry", "city_ascii": "Conakry", "lat": 9.5092, "lng": -13.7122, "country": "Guinea", "iso2": "GN", "iso3": "GIN", "admin_name": "Conakry", "capital": "primary", "population": 1667864.0, "id": 1324568159 }, { "city": "Mamou", "city_ascii": "Mamou", "lat": 10.3833, "lng": -12.0833, "country": "Guinea", "iso2": "GN", "iso3": "GIN", "admin_name": "Mamou", "capital": "admin", "population": 376269.0, "id": 1324990909 }, { "city": "Carrefour", "city_ascii": "Carrefour", "lat": 18.5344, "lng": -72.4094, "country": "Haiti", "iso2": "HT", "iso3": "HTI", "admin_name": "Ouest", "capital": null, "population": 511345.0, "id": 1332000098 }, { "city": "Pétion-Ville", "city_ascii": "Petion-Ville", "lat": 18.5128, "lng": -72.2864, "country": "Haiti", "iso2": "HT", "iso3": "HTI", "admin_name": "Ouest", "capital": null, "population": 359615.0, "id": 1332051873 }, { "city": "Port-au-Prince", "city_ascii": "Port-au-Prince", "lat": 18.5333, "lng": -72.3333, "country": "Haiti", "iso2": "HT", "iso3": "HTI", "admin_name": "Ouest", "capital": "primary", "population": 987310.0, "id": 1332401940 }, { "city": "Tegucigalpa", "city_ascii": "Tegucigalpa", "lat": 14.1, "lng": -87.2167, "country": "Honduras", "iso2": "HN", "iso3": "HND", "admin_name": "Francisco Morazán", "capital": "primary", "population": 1682725.0, "id": 1340344059 }, { "city": "San Pedro Sula", "city_ascii": "San Pedro Sula", "lat": 15.5, "lng": -88.0333, "country": "Honduras", "iso2": "HN", "iso3": "HND", "admin_name": "Cortés", "capital": "admin", "population": 760182.0, "id": 1340568412 }, { "city": "Comayagüela", "city_ascii": "Comayaguela", "lat": 14.0981, "lng": -87.2097, "country": "Honduras", "iso2": "HN", "iso3": "HND", "admin_name": "Francisco Morazán", "capital": null, "population": 1250000.0, "id": 1340762485 }, { "city": "Sham Shui Po", "city_ascii": "Sham Shui Po", "lat": 22.3307, "lng": 114.1622, "country": "Hong Kong", "iso2": "HK", "iso3": "HKG", "admin_name": null, "capital": null, "population": 405869.0, "id": 1344000058 }, { "city": "Kowloon City", "city_ascii": "Kowloon City", "lat": 22.3282, "lng": 114.1916, "country": "Hong Kong", "iso2": "HK", "iso3": "HKG", "admin_name": null, "capital": null, "population": 418732.0, "id": 1344000061 }, { "city": "Kowloon", "city_ascii": "Kowloon", "lat": 22.3167, "lng": 114.1833, "country": "Hong Kong", "iso2": "HK", "iso3": "HKG", "admin_name": null, "capital": null, "population": 2108419.0, "id": 1344538284 }, { "city": "Sha Tin", "city_ascii": "Sha Tin", "lat": 22.3802, "lng": 114.1898, "country": "Hong Kong", "iso2": "HK", "iso3": "HKG", "admin_name": null, "capital": null, "population": 640000.0, "id": 1344745541 }, { "city": "Hong Kong", "city_ascii": "Hong Kong", "lat": 22.3, "lng": 114.2, "country": "Hong Kong", "iso2": "HK", "iso3": "HKG", "admin_name": null, "capital": "primary", "population": 7450000.0, "id": 1344982653 }, { "city": "Budapest", "city_ascii": "Budapest", "lat": 47.4925, "lng": 19.0514, "country": "Hungary", "iso2": "HU", "iso3": "HUN", "admin_name": "Budapest", "capital": "primary", "population": 2997958.0, "id": 1348611435 }, { "city": "Noida", "city_ascii": "Noida", "lat": 28.57, "lng": 77.32, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 637272.0, "id": 1356002491 }, { "city": "Āvadi", "city_ascii": "Avadi", "lat": 13.1097, "lng": 80.0972, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 345996.0, "id": 1356009111 }, { "city": "Calicut", "city_ascii": "Calicut", "lat": 11.25, "lng": 75.77, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Kerala", "capital": "minor", "population": 431560.0, "id": 1356010401 }, { "city": "Farīdābād", "city_ascii": "Faridabad", "lat": 28.4167, "lng": 77.3, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Haryāna", "capital": null, "population": 1404653.0, "id": 1356013205 }, { "city": "Rasūlpur", "city_ascii": "Rasulpur", "lat": 28.57, "lng": 77.32, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 637272.0, "id": 1356018224 }, { "city": "Bhayandar", "city_ascii": "Bhayandar", "lat": 19.29, "lng": 72.85, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 809378.0, "id": 1356019118 }, { "city": "Bhātpāra", "city_ascii": "Bhatpara", "lat": 22.87, "lng": 88.41, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 386019.0, "id": 1356022456 }, { "city": "Thiruvananthapuram", "city_ascii": "Thiruvananthapuram", "lat": 8.4875, "lng": 76.9525, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Kerala", "capital": "admin", "population": 743691.0, "id": 1356024354 }, { "city": "Bīkaner", "city_ascii": "Bikaner", "lat": 28.0167, "lng": 73.3119, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 529007.0, "id": 1356026593 }, { "city": "Tumkūr", "city_ascii": "Tumkur", "lat": 13.34, "lng": 77.1, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 599078.0, "id": 1356033724 }, { "city": "Tinnevelly", "city_ascii": "Tinnevelly", "lat": 8.7136, "lng": 77.7567, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 497826.0, "id": 1356037155 }, { "city": "Durgāpur", "city_ascii": "Durgapur", "lat": 23.55, "lng": 87.32, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 581409.0, "id": 1356045686 }, { "city": "Gaya", "city_ascii": "Gaya", "lat": 24.75, "lng": 85.01, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 474093.0, "id": 1356045727 }, { "city": "Ujjain", "city_ascii": "Ujjain", "lat": 23.17, "lng": 75.79, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Madhya Pradesh", "capital": null, "population": 515215.0, "id": 1356050735 }, { "city": "Nāgercoil", "city_ascii": "Nagercoil", "lat": 8.1833, "lng": 77.4119, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 622759.0, "id": 1356051733 }, { "city": "Ajmer", "city_ascii": "Ajmer", "lat": 26.4499, "lng": 74.6399, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 551101.0, "id": 1356058258 }, { "city": "Kurnool", "city_ascii": "Kurnool", "lat": 15.83, "lng": 78.05, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 457633.0, "id": 1356058372 }, { "city": "Kolkāta", "city_ascii": "Kolkata", "lat": 22.5675, "lng": 88.37, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": "admin", "population": 18502000.0, "id": 1356060520 }, { "city": "Sasarām", "city_ascii": "Sasaram", "lat": 24.95, "lng": 84.03, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 358283.0, "id": 1356061200 }, { "city": "Mathura", "city_ascii": "Mathura", "lat": 27.4925, "lng": 77.6736, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 441894.0, "id": 1356066081 }, { "city": "Bhilai", "city_ascii": "Bhilai", "lat": 21.21, "lng": 81.38, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chhattīsgarh", "capital": null, "population": 624700.0, "id": 1356071083 }, { "city": "Alīgarh", "city_ascii": "Aligarh", "lat": 27.88, "lng": 78.08, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1131160.0, "id": 1356076391 }, { "city": "Bhīlwāra", "city_ascii": "Bhilwara", "lat": 25.35, "lng": 74.63, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 509483.0, "id": 1356077831 }, { "city": "Pune", "city_ascii": "Pune", "lat": 18.5203, "lng": 73.8567, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 8231000.0, "id": 1356081074 }, { "city": "Akola", "city_ascii": "Akola", "lat": 20.7, "lng": 77.0, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 425817.0, "id": 1356089496 }, { "city": "Gulbarga", "city_ascii": "Gulbarga", "lat": 17.329, "lng": 76.825, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 533587.0, "id": 1356091187 }, { "city": "Āsansol", "city_ascii": "Asansol", "lat": 23.68, "lng": 86.99, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 563917.0, "id": 1356093694 }, { "city": "Korba", "city_ascii": "Korba", "lat": 22.35, "lng": 82.68, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chhattīsgarh", "capital": null, "population": 365253.0, "id": 1356093877 }, { "city": "Raurkela", "city_ascii": "Raurkela", "lat": 22.2492, "lng": 84.8828, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Odisha", "capital": null, "population": 600000.0, "id": 1356096816 }, { "city": "Bhilai", "city_ascii": "Bhilai", "lat": 21.3667, "lng": 81.7167, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chhattīsgarh", "capital": null, "population": 625700.0, "id": 1356098574 }, { "city": "Dāsarhalli", "city_ascii": "Dasarhalli", "lat": 13.0465, "lng": 77.513, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 349720.0, "id": 1356103194 }, { "city": "Dhanbād", "city_ascii": "Dhanbad", "lat": 23.7998, "lng": 86.4305, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jhārkhand", "capital": null, "population": 1162472.0, "id": 1356103392 }, { "city": "Jāmnagar", "city_ascii": "Jamnagar", "lat": 22.47, "lng": 70.07, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": null, "population": 479920.0, "id": 1356104995 }, { "city": "Rānchi", "city_ascii": "Ranchi", "lat": 23.36, "lng": 85.33, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jhārkhand", "capital": "admin", "population": 1073440.0, "id": 1356110588 }, { "city": "Kolhāpur", "city_ascii": "Kolhapur", "lat": 16.6917, "lng": 74.2333, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 561489.0, "id": 1356110593 }, { "city": "Jabalpur", "city_ascii": "Jabalpur", "lat": 23.1667, "lng": 79.9333, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Madhya Pradesh", "capital": null, "population": 1267564.0, "id": 1356115460 }, { "city": "Pānihāti", "city_ascii": "Panihati", "lat": 22.69, "lng": 88.37, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 377347.0, "id": 1356118632 }, { "city": "Sahāranpur", "city_ascii": "Saharanpur", "lat": 29.964, "lng": 77.546, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 705478.0, "id": 1356139858 }, { "city": "Bhubaneshwar", "city_ascii": "Bhubaneshwar", "lat": 20.27, "lng": 85.84, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Odisha", "capital": "admin", "population": 837737.0, "id": 1356140143 }, { "city": "Karnāl", "city_ascii": "Karnal", "lat": 29.686, "lng": 76.989, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Haryāna", "capital": null, "population": 357334.0, "id": 1356145204 }, { "city": "Vārānasi", "city_ascii": "Varanasi", "lat": 25.3189, "lng": 83.0128, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1198491.0, "id": 1356145782 }, { "city": "Chāpra", "city_ascii": "Chapra", "lat": 25.7848, "lng": 84.7274, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 567123.0, "id": 1356147120 }, { "city": "Agartala", "city_ascii": "Agartala", "lat": 23.8333, "lng": 91.2833, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tripura", "capital": "admin", "population": 522613.0, "id": 1356148992 }, { "city": "Agwār", "city_ascii": "Agwar", "lat": 27.18, "lng": 78.02, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1585705.0, "id": 1356151564 }, { "city": "Rohtak", "city_ascii": "Rohtak", "lat": 28.8909, "lng": 76.5796, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Haryāna", "capital": null, "population": 374292.0, "id": 1356162915 }, { "city": "Sīkar", "city_ascii": "Sikar", "lat": 27.62, "lng": 75.15, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 359293.0, "id": 1356163729 }, { "city": "Bhāngar", "city_ascii": "Bhangar", "lat": 22.58, "lng": 88.42, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 632107.0, "id": 1356177796 }, { "city": "Najafgarh", "city_ascii": "Najafgarh", "lat": 28.6092, "lng": 76.9798, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Delhi", "capital": null, "population": 1203180.0, "id": 1356180206 }, { "city": "Āgra", "city_ascii": "Agra", "lat": 27.18, "lng": 78.02, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1585704.0, "id": 1356187395 }, { "city": "Gorakhpur", "city_ascii": "Gorakhpur", "lat": 26.7637, "lng": 83.4039, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 673446.0, "id": 1356190221 }, { "city": "Bellary", "city_ascii": "Bellary", "lat": 15.1, "lng": 76.9167, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 410445.0, "id": 1356209152 }, { "city": "Dhūlia", "city_ascii": "Dhulia", "lat": 20.8997, "lng": 74.7697, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 750000.0, "id": 1356224695 }, { "city": "Mumbai", "city_ascii": "Mumbai", "lat": 19.0761, "lng": 72.8775, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": "admin", "population": 24973000.0, "id": 1356226629 }, { "city": "Madurai", "city_ascii": "Madurai", "lat": 9.9252, "lng": 78.1198, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": "minor", "population": 1561129.0, "id": 1356257289 }, { "city": "Kālkāji Devi", "city_ascii": "Kalkaji Devi", "lat": 28.5485, "lng": 77.2513, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Delhi", "capital": null, "population": 824177.0, "id": 1356264482 }, { "city": "Udaipur", "city_ascii": "Udaipur", "lat": 24.58, "lng": 73.68, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 451100.0, "id": 1356266094 }, { "city": "Morādābād", "city_ascii": "Moradabad", "lat": 28.8389, "lng": 78.7769, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 887871.0, "id": 1356269375 }, { "city": "Nellore", "city_ascii": "Nellore", "lat": 14.45, "lng": 79.99, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 547621.0, "id": 1356280972 }, { "city": "Jaipur", "city_ascii": "Jaipur", "lat": 26.9, "lng": 75.8, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": "admin", "population": 3073350.0, "id": 1356293537 }, { "city": "Quilon", "city_ascii": "Quilon", "lat": 8.88, "lng": 76.6, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Kerala", "capital": null, "population": 397419.0, "id": 1356304110 }, { "city": "Ahmedabad", "city_ascii": "Ahmedabad", "lat": 23.03, "lng": 72.58, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": "minor", "population": 8009000.0, "id": 1356304381 }, { "city": "Solāpur", "city_ascii": "Solapur", "lat": 17.68, "lng": 75.92, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 951558.0, "id": 1356314385 }, { "city": "Rājkot", "city_ascii": "Rajkot", "lat": 22.3, "lng": 70.7833, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": null, "population": 1335397.0, "id": 1356317190 }, { "city": "Cuddapah", "city_ascii": "Cuddapah", "lat": 14.47, "lng": 78.82, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 344893.0, "id": 1356360140 }, { "city": "Gwalior", "city_ascii": "Gwalior", "lat": 26.2215, "lng": 78.178, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Madhya Pradesh", "capital": null, "population": 1069276.0, "id": 1356363967 }, { "city": "Nāgpur", "city_ascii": "Nagpur", "lat": 21.1497, "lng": 79.0806, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": "admin", "population": 2405665.0, "id": 1356365743 }, { "city": "Guntūr", "city_ascii": "Guntur", "lat": 16.3008, "lng": 80.4428, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 647508.0, "id": 1356374905 }, { "city": "Chennai", "city_ascii": "Chennai", "lat": 13.0825, "lng": 80.275, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": "admin", "population": 12395000.0, "id": 1356374944 }, { "city": "Raipur", "city_ascii": "Raipur", "lat": 21.25, "lng": 81.63, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chhattīsgarh", "capital": "admin", "population": 1010087.0, "id": 1356374983 }, { "city": "Ulhāsnagar", "city_ascii": "Ulhasnagar", "lat": 19.22, "lng": 73.15, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 506098.0, "id": 1356375341 }, { "city": "Meerut", "city_ascii": "Meerut", "lat": 28.98, "lng": 77.71, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1305429.0, "id": 1356390476 }, { "city": "Belgaum", "city_ascii": "Belgaum", "lat": 15.85, "lng": 74.5, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 488157.0, "id": 1356390535 }, { "city": "Indore", "city_ascii": "Indore", "lat": 22.7167, "lng": 75.8472, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Madhya Pradesh", "capital": null, "population": 1994397.0, "id": 1356402812 }, { "city": "Bangalore", "city_ascii": "Bangalore", "lat": 12.9789, "lng": 77.5917, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": "admin", "population": 15386000.0, "id": 1356410365 }, { "city": "Shāhjānpur", "city_ascii": "Shahjanpur", "lat": 27.88, "lng": 79.91, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 346103.0, "id": 1356415439 }, { "city": "Mirzāpur", "city_ascii": "Mirzapur", "lat": 25.146, "lng": 82.569, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 2496970.0, "id": 1356427908 }, { "city": "Srīnagar", "city_ascii": "Srinagar", "lat": 34.09, "lng": 74.79, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jammu and Kashmīr", "capital": "admin", "population": 1180570.0, "id": 1356442950 }, { "city": "Davangere", "city_ascii": "Davangere", "lat": 14.4666, "lng": 75.9242, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 435125.0, "id": 1356445061 }, { "city": "Patiāla", "city_ascii": "Patiala", "lat": 30.34, "lng": 76.38, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 763280.0, "id": 1356458416 }, { "city": "Amrāvati", "city_ascii": "Amravati", "lat": 20.9258, "lng": 77.7647, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 549370.0, "id": 1356462099 }, { "city": "Chinchvad", "city_ascii": "Chinchvad", "lat": 18.6186, "lng": 73.8037, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1729320.0, "id": 1356475483 }, { "city": "Purnea", "city_ascii": "Purnea", "lat": 25.778, "lng": 87.476, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 496830.0, "id": 1356486511 }, { "city": "Jammu", "city_ascii": "Jammu", "lat": 32.73, "lng": 74.87, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jammu and Kashmīr", "capital": "admin", "population": 502197.0, "id": 1356491738 }, { "city": "Jalandhar", "city_ascii": "Jalandhar", "lat": 31.2569, "lng": 75.4432, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 873725.0, "id": 1356494816 }, { "city": "Jamshedpur", "city_ascii": "Jamshedpur", "lat": 22.7925, "lng": 86.1842, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jhārkhand", "capital": null, "population": 1558000.0, "id": 1356501259 }, { "city": "Shorāpur", "city_ascii": "Shorapur", "lat": 16.52, "lng": 76.76, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 412291.0, "id": 1356512373 }, { "city": "Delhi Cantonment", "city_ascii": "Delhi Cantonment", "lat": 28.6, "lng": 77.1333, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Delhi", "capital": null, "population": 405633.0, "id": 1356526853 }, { "city": "Loni", "city_ascii": "Loni", "lat": 28.75, "lng": 77.28, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 516082.0, "id": 1356528413 }, { "city": "Kalamboli", "city_ascii": "Kalamboli", "lat": 19.2333, "lng": 73.1333, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1246381.0, "id": 1356537020 }, { "city": "Tiruppūr", "city_ascii": "Tiruppur", "lat": 11.1085, "lng": 77.3411, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 877778.0, "id": 1356539761 }, { "city": "Narela", "city_ascii": "Narela", "lat": 28.8527, "lng": 77.0929, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Delhi", "capital": null, "population": 661994.0, "id": 1356542019 }, { "city": "Kūkatpalli", "city_ascii": "Kukatpalli", "lat": 17.4849, "lng": 78.4138, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 385821.0, "id": 1356553747 }, { "city": "Nāsik", "city_ascii": "Nasik", "lat": 20.0, "lng": 73.78, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1486053.0, "id": 1356562598 }, { "city": "Salem", "city_ascii": "Salem", "lat": 11.65, "lng": 78.15, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 693236.0, "id": 1356567087 }, { "city": "Brahmapur", "city_ascii": "Brahmapur", "lat": 19.315, "lng": 84.7941, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Odisha", "capital": null, "population": 634220.0, "id": 1356569354 }, { "city": "Alwar", "city_ascii": "Alwar", "lat": 27.5498, "lng": 76.6355, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 341422.0, "id": 1356570855 }, { "city": "Kākināda", "city_ascii": "Kakinada", "lat": 16.9661, "lng": 82.255, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 384182.0, "id": 1356573609 }, { "city": "Cawnpore", "city_ascii": "Cawnpore", "lat": 26.4499, "lng": 80.3319, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 2701324.0, "id": 1356575238 }, { "city": "Bettiah", "city_ascii": "Bettiah", "lat": 26.8014, "lng": 84.5028, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 414453.0, "id": 1356590604 }, { "city": "Chānda", "city_ascii": "Chanda", "lat": 19.95, "lng": 79.297, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 355739.0, "id": 1356592607 }, { "city": "Guwāhāti", "city_ascii": "Guwahati", "lat": 26.1722, "lng": 91.7458, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Assam", "capital": null, "population": 1116267.0, "id": 1356593800 }, { "city": "Padiāla", "city_ascii": "Padiala", "lat": 30.5667, "lng": 76.6333, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 406192.0, "id": 1356667176 }, { "city": "Thāne", "city_ascii": "Thane", "lat": 19.1972, "lng": 72.9722, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1886941.0, "id": 1356681152 }, { "city": "Ambattūr", "city_ascii": "Ambattur", "lat": 13.1143, "lng": 80.1548, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 466205.0, "id": 1356685959 }, { "city": "Ghāziābād", "city_ascii": "Ghaziabad", "lat": 28.67, "lng": 77.42, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 2375820.0, "id": 1356691871 }, { "city": "Vishākhapatnam", "city_ascii": "Vishakhapatnam", "lat": 17.7042, "lng": 83.2978, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 2035922.0, "id": 1356692563 }, { "city": "Bareilly", "city_ascii": "Bareilly", "lat": 28.364, "lng": 79.415, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 1000000.0, "id": 1356698199 }, { "city": "Vadodara", "city_ascii": "Vadodara", "lat": 22.3, "lng": 73.2, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": null, "population": 2065771.0, "id": 1356705249 }, { "city": "Vasai", "city_ascii": "Vasai", "lat": 19.47, "lng": 72.8, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1222390.0, "id": 1356707797 }, { "city": "Kochi", "city_ascii": "Kochi", "lat": 9.97, "lng": 76.28, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Kerala", "capital": null, "population": 677381.0, "id": 1356707865 }, { "city": "Jhānsi", "city_ascii": "Jhansi", "lat": 25.4486, "lng": 78.5696, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 507000.0, "id": 1356712664 }, { "city": "Prayagraj", "city_ascii": "Prayagraj", "lat": 25.4358, "lng": 81.8464, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": null, "population": 5954391.0, "id": 1356718332 }, { "city": "Salt Lake City", "city_ascii": "Salt Lake City", "lat": 22.61, "lng": 88.4, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 403316.0, "id": 1356720205 }, { "city": "Nānded", "city_ascii": "Nanded", "lat": 19.15, "lng": 77.3, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 550439.0, "id": 1356722310 }, { "city": "Shiliguri", "city_ascii": "Shiliguri", "lat": 26.71, "lng": 88.43, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 701489.0, "id": 1356724691 }, { "city": "Jodhpur", "city_ascii": "Jodhpur", "lat": 26.28, "lng": 73.02, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 1033918.0, "id": 1356727084 }, { "city": "Bhopāl", "city_ascii": "Bhopal", "lat": 23.25, "lng": 77.4167, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Madhya Pradesh", "capital": "admin", "population": 1798218.0, "id": 1356734039 }, { "city": "Jalgaon", "city_ascii": "Jalgaon", "lat": 21.004, "lng": 75.568, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 460468.0, "id": 1356734842 }, { "city": "Chandīgarh", "city_ascii": "Chandigarh", "lat": 30.75, "lng": 76.78, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chandīgarh", "capital": "admin", "population": 1055450.0, "id": 1356739179 }, { "city": "Sūrat", "city_ascii": "Surat", "lat": 21.1702, "lng": 72.8311, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": null, "population": 6538000.0, "id": 1356758738 }, { "city": "Bhāgalpur", "city_ascii": "Bhagalpur", "lat": 25.25, "lng": 87.0, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 410210.0, "id": 1356760990 }, { "city": "Bhiwandi", "city_ascii": "Bhiwandi", "lat": 19.2967, "lng": 73.0631, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 709665.0, "id": 1356763571 }, { "city": "Vijayavāda", "city_ascii": "Vijayawada", "lat": 16.5193, "lng": 80.6305, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 1048240.0, "id": 1356807575 }, { "city": "Kota", "city_ascii": "Kota", "lat": 25.18, "lng": 75.83, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 1001694.0, "id": 1356820310 }, { "city": "Bilāspur", "city_ascii": "Bilaspur", "lat": 22.09, "lng": 82.15, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Chhattīsgarh", "capital": null, "population": 1625502.0, "id": 1356820491 }, { "city": "Patna", "city_ascii": "Patna", "lat": 25.6, "lng": 85.1, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": "admin", "population": 1684222.0, "id": 1356821429 }, { "city": "Hosūr", "city_ascii": "Hosur", "lat": 12.7409, "lng": 77.8253, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 345000.0, "id": 1356829362 }, { "city": "Rājahmundry", "city_ascii": "Rajahmundry", "lat": 16.98, "lng": 81.78, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 341831.0, "id": 1356831716 }, { "city": "Gurgaon", "city_ascii": "Gurgaon", "lat": 28.456, "lng": 77.029, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Haryāna", "capital": null, "population": 876824.0, "id": 1356836043 }, { "city": "Karūr", "city_ascii": "Karur", "lat": 10.9601, "lng": 78.0766, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 358468.0, "id": 1356837900 }, { "city": "Aurangābād", "city_ascii": "Aurangabad", "lat": 19.88, "lng": 75.32, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 1371330.0, "id": 1356840670 }, { "city": "Māndvi", "city_ascii": "Mandvi", "lat": 19.3, "lng": 72.85, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 814655.0, "id": 1356843310 }, { "city": "Darbhanga", "city_ascii": "Darbhanga", "lat": 26.17, "lng": 85.9, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Bihār", "capital": null, "population": 380125.0, "id": 1356846195 }, { "city": "Māler Kotla", "city_ascii": "Maler Kotla", "lat": 30.5167, "lng": 75.8833, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 374000.0, "id": 1356847218 }, { "city": "Warangal", "city_ascii": "Warangal", "lat": 17.9689, "lng": 79.5941, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Andhra Pradesh", "capital": null, "population": 704570.0, "id": 1356851618 }, { "city": "Hyderābād", "city_ascii": "Hyderabad", "lat": 17.385, "lng": 78.4867, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Telangāna", "capital": "admin", "population": 10494000.0, "id": 1356871768 }, { "city": "Cuttack", "city_ascii": "Cuttack", "lat": 20.5236, "lng": 85.7881, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Odisha", "capital": null, "population": 606007.0, "id": 1356872061 }, { "city": "Delhi", "city_ascii": "Delhi", "lat": 28.61, "lng": 77.23, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Delhi", "capital": "admin", "population": 32226000.0, "id": 1356872604 }, { "city": "Trichinopoly", "city_ascii": "Trichinopoly", "lat": 10.7903, "lng": 78.7047, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 916857.0, "id": 1356884472 }, { "city": "Lucknow", "city_ascii": "Lucknow", "lat": 26.85, "lng": 80.95, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttar Pradesh", "capital": "admin", "population": 3382000.0, "id": 1356891790 }, { "city": "Sāngli", "city_ascii": "Sangli", "lat": 16.8667, "lng": 74.5667, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 436639.0, "id": 1356921375 }, { "city": "Amritsar", "city_ascii": "Amritsar", "lat": 31.64, "lng": 74.86, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 1132383.0, "id": 1356926507 }, { "city": "Sirūr", "city_ascii": "Sirur", "lat": 18.83, "lng": 74.38, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 385414.0, "id": 1356926718 }, { "city": "Ludhiāna", "city_ascii": "Ludhiana", "lat": 30.91, "lng": 75.85, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Punjab", "capital": null, "population": 1618879.0, "id": 1356929498 }, { "city": "Sardārshahr", "city_ascii": "Sardarshahr", "lat": 28.4401, "lng": 74.4908, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Rājasthān", "capital": null, "population": 382474.0, "id": 1356932502 }, { "city": "Hazāribāgh", "city_ascii": "Hazaribagh", "lat": 23.98, "lng": 85.35, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Jhārkhand", "capital": null, "population": 394532.0, "id": 1356960055 }, { "city": "Dehra Dūn", "city_ascii": "Dehra Dun", "lat": 30.345, "lng": 78.029, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Uttarākhand", "capital": "admin", "population": 578420.0, "id": 1356970407 }, { "city": "Mangalore", "city_ascii": "Mangalore", "lat": 12.902, "lng": 74.8253, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Karnātaka", "capital": null, "population": 623841.0, "id": 1356972351 }, { "city": "Ahmadnagar", "city_ascii": "Ahmadnagar", "lat": 19.08, "lng": 74.73, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Mahārāshtra", "capital": null, "population": 350859.0, "id": 1356972679 }, { "city": "Vellore", "city_ascii": "Vellore", "lat": 12.9165, "lng": 79.1325, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 696110.0, "id": 1356977661 }, { "city": "Bhāvnagar", "city_ascii": "Bhavnagar", "lat": 21.76, "lng": 72.15, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Gujarāt", "capital": null, "population": 643365.0, "id": 1356982375 }, { "city": "Hāora", "city_ascii": "Haora", "lat": 22.58, "lng": 88.3294, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "West Bengal", "capital": null, "population": 1077075.0, "id": 1356986516 }, { "city": "Coimbatore", "city_ascii": "Coimbatore", "lat": 11.0168, "lng": 76.9558, "country": "India", "iso2": "IN", "iso3": "IND", "admin_name": "Tamil Nādu", "capital": null, "population": 959823.0, "id": 1356999503 }, { "city": "Tangerang", "city_ascii": "Tangerang", "lat": -6.1783, "lng": 106.6319, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 2237006.0, "id": 1360002844 }, { "city": "Bekasi", "city_ascii": "Bekasi", "lat": -6.2349, "lng": 106.9923, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 2381053.0, "id": 1360006015 }, { "city": "Lembok", "city_ascii": "Lembok", "lat": -8.565, "lng": 116.351, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Nusa Tenggara Barat", "capital": null, "population": 495651.0, "id": 1360013261 }, { "city": "Mataram", "city_ascii": "Mataram", "lat": -8.5833, "lng": 116.1167, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Nusa Tenggara Barat", "capital": "admin", "population": 408900.0, "id": 1360021952 }, { "city": "Tasikmalaya", "city_ascii": "Tasikmalaya", "lat": -7.3161, "lng": 108.1975, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 678027.0, "id": 1360027771 }, { "city": "Sangereng", "city_ascii": "Sangereng", "lat": -6.2889, "lng": 106.7181, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 1644899.0, "id": 1360029147 }, { "city": "Makassar", "city_ascii": "Makassar", "lat": -5.1619, "lng": 119.4362, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sulawesi Selatan", "capital": "admin", "population": 1338663.0, "id": 1360051337 }, { "city": "Malang", "city_ascii": "Malang", "lat": -7.98, "lng": 112.62, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Timur", "capital": null, "population": 2795209.0, "id": 1360141408 }, { "city": "Cimahi", "city_ascii": "Cimahi", "lat": -6.8712, "lng": 107.5548, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 586580.0, "id": 1360181436 }, { "city": "Bengkulu", "city_ascii": "Bengkulu", "lat": -3.7956, "lng": 102.2592, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Bengkulu", "capital": "admin", "population": 360495.0, "id": 1360191448 }, { "city": "Bandar Lampung", "city_ascii": "Bandar Lampung", "lat": -5.45, "lng": 105.2667, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Lampung", "capital": "admin", "population": 1166761.0, "id": 1360243491 }, { "city": "Bandung", "city_ascii": "Bandung", "lat": -6.912, "lng": 107.6097, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": "admin", "population": 432557.0, "id": 1360313023 }, { "city": "Serang", "city_ascii": "Serang", "lat": -6.12, "lng": 106.1503, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Banten", "capital": "admin", "population": 613356.0, "id": 1360329102 }, { "city": "Yogyakarta", "city_ascii": "Yogyakarta", "lat": -7.8014, "lng": 110.3644, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Yogyakarta", "capital": "admin", "population": 422732.0, "id": 1360384833 }, { "city": "Bagam", "city_ascii": "Bagam", "lat": 1.0833, "lng": 104.0333, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Kepulauan Riau", "capital": null, "population": 1230097.0, "id": 1360405604 }, { "city": "Pekanbaru", "city_ascii": "Pekanbaru", "lat": 0.5092, "lng": 101.4453, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Riau", "capital": "admin", "population": 983356.0, "id": 1360422679 }, { "city": "Surabaya", "city_ascii": "Surabaya", "lat": -7.2458, "lng": 112.7378, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Timur", "capital": "admin", "population": 6499000.0, "id": 1360484663 }, { "city": "Balikpapan", "city_ascii": "Balikpapan", "lat": -1.2768, "lng": 116.8277, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Kalimantan Timur", "capital": null, "population": 598043.0, "id": 1360500922 }, { "city": "Cilacap", "city_ascii": "Cilacap", "lat": -7.7167, "lng": 109.017, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Tengah", "capital": "minor", "population": 1174964.0, "id": 1360503809 }, { "city": "Jayapura", "city_ascii": "Jayapura", "lat": -2.533, "lng": 140.717, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Papua", "capital": "admin", "population": 413283.0, "id": 1360517692 }, { "city": "Palu", "city_ascii": "Palu", "lat": -0.895, "lng": 119.8594, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sulawesi Tengah", "capital": "admin", "population": 359350.0, "id": 1360518272 }, { "city": "Medan", "city_ascii": "Medan", "lat": 3.5894, "lng": 98.6739, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sumatera Utara", "capital": "admin", "population": 3632000.0, "id": 1360543171 }, { "city": "Sumedang", "city_ascii": "Sumedang", "lat": -6.84, "lng": 107.9208, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 1240000.0, "id": 1360564479 }, { "city": "Cilegon", "city_ascii": "Cilegon", "lat": -6.0027, "lng": 106.0112, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Banten", "capital": null, "population": 387543.0, "id": 1360643410 }, { "city": "Jambi", "city_ascii": "Jambi", "lat": -1.59, "lng": 103.61, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jambi", "capital": "admin", "population": 612162.0, "id": 1360645580 }, { "city": "Samarinda", "city_ascii": "Samarinda", "lat": -0.5, "lng": 117.1378, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Kalimantan Timur", "capital": "admin", "population": 753370.0, "id": 1360684979 }, { "city": "Banjarmasin", "city_ascii": "Banjarmasin", "lat": -3.32, "lng": 114.5925, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Kalimantan Selatan", "capital": "admin", "population": 692793.0, "id": 1360685223 }, { "city": "Kupang", "city_ascii": "Kupang", "lat": -10.1702, "lng": 123.6077, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Nusa Tenggara Timur", "capital": "admin", "population": 433970.0, "id": 1360696757 }, { "city": "Jepara", "city_ascii": "Jepara", "lat": -6.5333, "lng": 110.6667, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Tengah", "capital": "minor", "population": 1257912.0, "id": 1360703818 }, { "city": "Cibinong", "city_ascii": "Cibinong", "lat": -6.485, "lng": 106.842, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": "minor", "population": 363424.0, "id": 1360730847 }, { "city": "Semarang", "city_ascii": "Semarang", "lat": -6.9667, "lng": 110.4167, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Tengah", "capital": "admin", "population": 1621384.0, "id": 1360745537 }, { "city": "Ambon", "city_ascii": "Ambon", "lat": -3.7, "lng": 128.1667, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Maluku", "capital": "admin", "population": 372249.0, "id": 1360756802 }, { "city": "Jakarta", "city_ascii": "Jakarta", "lat": -6.175, "lng": 106.8275, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jakarta", "capital": "primary", "population": 33756000.0, "id": 1360771077 }, { "city": "Manado", "city_ascii": "Manado", "lat": 1.4931, "lng": 124.8413, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sulawesi Utara", "capital": "admin", "population": 461636.0, "id": 1360771278 }, { "city": "Bogor", "city_ascii": "Bogor", "lat": -6.5966, "lng": 106.7972, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 1030720.0, "id": 1360771925 }, { "city": "Denpasar", "city_ascii": "Denpasar", "lat": -8.65, "lng": 115.2167, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Bali", "capital": "admin", "population": 1779122.0, "id": 1360848527 }, { "city": "Surakarta", "city_ascii": "Surakarta", "lat": -7.5667, "lng": 110.8167, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Tengah", "capital": null, "population": 552118.0, "id": 1360853933 }, { "city": "Padang", "city_ascii": "Padang", "lat": -0.95, "lng": 100.3531, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sumatera Barat", "capital": "admin", "population": 914970.0, "id": 1360900986 }, { "city": "Palembang", "city_ascii": "Palembang", "lat": -2.9861, "lng": 104.7556, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Sumatera Selatan", "capital": "admin", "population": 1535952.0, "id": 1360902897 }, { "city": "Depok", "city_ascii": "Depok", "lat": -6.394, "lng": 106.8225, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Jawa Barat", "capital": null, "population": 2330333.0, "id": 1360962899 }, { "city": "Pontianak", "city_ascii": "Pontianak", "lat": -0.0206, "lng": 109.3414, "country": "Indonesia", "iso2": "ID", "iso3": "IDN", "admin_name": "Kalimantan Barat", "capital": "admin", "population": 618388.0, "id": 1360992394 }, { "city": "Kāshān", "city_ascii": "Kashan", "lat": 33.9833, "lng": 51.4333, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Eşfahān", "capital": "minor", "population": 5000000.0, "id": 1364006067 }, { "city": "Eşfahān", "city_ascii": "Esfahan", "lat": 32.6447, "lng": 51.6675, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Eşfahān", "capital": "admin", "population": 2219343.0, "id": 1364023865 }, { "city": "Zāhedān", "city_ascii": "Zahedan", "lat": 29.4964, "lng": 60.8628, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Sīstān va Balūchestān", "capital": "admin", "population": 587730.0, "id": 1364072353 }, { "city": "Qazvīn", "city_ascii": "Qazvin", "lat": 36.2667, "lng": 50.0, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Qazvīn", "capital": "admin", "population": 402748.0, "id": 1364073420 }, { "city": "Bandar ‘Abbās", "city_ascii": "Bandar `Abbas", "lat": 27.1833, "lng": 56.2667, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Hormozgān", "capital": "admin", "population": 526648.0, "id": 1364120623 }, { "city": "Mashhad", "city_ascii": "Mashhad", "lat": 36.3, "lng": 59.6, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Khorāsān-e Raẕavī", "capital": "admin", "population": 3372090.0, "id": 1364123206 }, { "city": "Hamadān", "city_ascii": "Hamadan", "lat": 34.8064, "lng": 48.5161, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Hamadān", "capital": "admin", "population": 554406.0, "id": 1364126377 }, { "city": "Tabrīz", "city_ascii": "Tabriz", "lat": 38.0814, "lng": 46.3006, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Āz̄arbāyjān-e Sharqī", "capital": "admin", "population": 1558693.0, "id": 1364141756 }, { "city": "Orūmīyeh", "city_ascii": "Orumiyeh", "lat": 37.5486, "lng": 45.0675, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Āz̄arbāyjān-e Gharbī", "capital": "admin", "population": 736224.0, "id": 1364158221 }, { "city": "Sanandaj", "city_ascii": "Sanandaj", "lat": 35.3144, "lng": 46.9922, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Kordestān", "capital": "admin", "population": 412767.0, "id": 1364178783 }, { "city": "Karaj", "city_ascii": "Karaj", "lat": 35.8272, "lng": 50.9489, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Alborz", "capital": "admin", "population": 1973470.0, "id": 1364258511 }, { "city": "Tehran", "city_ascii": "Tehran", "lat": 35.6892, "lng": 51.3889, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Tehrān", "capital": "primary", "population": 14148000.0, "id": 1364305026 }, { "city": "Zanjān", "city_ascii": "Zanjan", "lat": 36.6789, "lng": 48.5056, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Zanjān", "capital": "admin", "population": 433475.0, "id": 1364312712 }, { "city": "Ahvāz", "city_ascii": "Ahvaz", "lat": 31.3203, "lng": 48.6692, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Khūzestān", "capital": "admin", "population": 1261042.0, "id": 1364350188 }, { "city": "Yazd", "city_ascii": "Yazd", "lat": 31.8822, "lng": 54.3397, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Yazd", "capital": "admin", "population": 529673.0, "id": 1364429875 }, { "city": "Shīrāz", "city_ascii": "Shiraz", "lat": 29.61, "lng": 52.5425, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Fārs", "capital": "admin", "population": 1565572.0, "id": 1364432238 }, { "city": "Ardabīl", "city_ascii": "Ardabil", "lat": 38.2425, "lng": 48.29, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Ardabīl", "capital": "admin", "population": 529374.0, "id": 1364437616 }, { "city": "Kermānshāh", "city_ascii": "Kermanshah", "lat": 34.3142, "lng": 47.065, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Kermānshāh", "capital": "admin", "population": 952285.0, "id": 1364535690 }, { "city": "Khorramābād", "city_ascii": "Khorramabad", "lat": 33.4878, "lng": 48.3558, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Lorestān", "capital": "admin", "population": 373416.0, "id": 1364548806 }, { "city": "Kermān", "city_ascii": "Kerman", "lat": 30.2833, "lng": 57.0833, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Kermān", "capital": "admin", "population": 738374.0, "id": 1364554896 }, { "city": "Arāk", "city_ascii": "Arak", "lat": 34.0917, "lng": 49.6892, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Markazī", "capital": "admin", "population": 520944.0, "id": 1364624691 }, { "city": "Rasht", "city_ascii": "Rasht", "lat": 37.2808, "lng": 49.5831, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Gīlān", "capital": "admin", "population": 679995.0, "id": 1364630382 }, { "city": "Qom", "city_ascii": "Qom", "lat": 34.64, "lng": 50.8764, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Qom", "capital": "admin", "population": 1201158.0, "id": 1364701633 }, { "city": "Madan", "city_ascii": "Madan", "lat": 30.3392, "lng": 48.3042, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Khūzestān", "capital": null, "population": 370180.0, "id": 1364708556 }, { "city": "Gorgān", "city_ascii": "Gorgan", "lat": 36.8386, "lng": 54.4347, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Golestān", "capital": "admin", "population": 350676.0, "id": 1364802450 }, { "city": "Eslāmshahr", "city_ascii": "Eslamshahr", "lat": 35.5606, "lng": 51.2347, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Tehrān", "capital": "minor", "population": 448129.0, "id": 1364870126 }, { "city": "Bahār", "city_ascii": "Bahar", "lat": 34.9072, "lng": 48.4414, "country": "Iran", "iso2": "IR", "iso3": "IRN", "admin_name": "Hamadān", "capital": "minor", "population": 673405.0, "id": 1364891653 }, { "city": "An Najaf", "city_ascii": "An Najaf", "lat": 32.0, "lng": 44.33, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "An Najaf", "capital": "admin", "population": 724700.0, "id": 1368003357 }, { "city": "Az Zubayr", "city_ascii": "Az Zubayr", "lat": 30.3833, "lng": 47.7, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Al Başrah", "capital": "minor", "population": 370000.0, "id": 1368147923 }, { "city": "Mosul", "city_ascii": "Mosul", "lat": 36.34, "lng": 43.13, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Nīnawá", "capital": "admin", "population": 1694000.0, "id": 1368194914 }, { "city": "An Nāşirīyah", "city_ascii": "An Nasiriyah", "lat": 31.0439, "lng": 46.2575, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Dhī Qār", "capital": "admin", "population": 541600.0, "id": 1368273311 }, { "city": "Al ‘Amārah", "city_ascii": "Al `Amarah", "lat": 31.8333, "lng": 47.15, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Maysān", "capital": "admin", "population": 511500.0, "id": 1368336235 }, { "city": "Kirkuk", "city_ascii": "Kirkuk", "lat": 35.4667, "lng": 44.3167, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Karkūk", "capital": "admin", "population": 975000.0, "id": 1368344172 }, { "city": "Ba‘qūbah", "city_ascii": "Ba`qubah", "lat": 33.75, "lng": 44.6333, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Diyālá", "capital": "admin", "population": 467900.0, "id": 1368444902 }, { "city": "Erbil", "city_ascii": "Erbil", "lat": 36.1912, "lng": 44.0092, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Arbīl", "capital": "admin", "population": 846000.0, "id": 1368578192 }, { "city": "Baghdad", "city_ascii": "Baghdad", "lat": 33.3153, "lng": 44.3661, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Baghdād", "capital": "primary", "population": 6183000.0, "id": 1368596238 }, { "city": "Karbalā’", "city_ascii": "Karbala'", "lat": 32.6167, "lng": 44.0333, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Karbalā’", "capital": "admin", "population": 690100.0, "id": 1368597794 }, { "city": "Al Başrah", "city_ascii": "Al Basrah", "lat": 30.515, "lng": 47.81, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Al Başrah", "capital": "admin", "population": 1326564.0, "id": 1368714645 }, { "city": "As Sulaymānīyah", "city_ascii": "As Sulaymaniyah", "lat": 35.5572, "lng": 45.4356, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "As Sulaymānīyah", "capital": "admin", "population": 878146.0, "id": 1368735317 }, { "city": "Ar Ramādī", "city_ascii": "Ar Ramadi", "lat": 33.4258, "lng": 43.2992, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Al Anbār", "capital": "admin", "population": 874543.0, "id": 1368838855 }, { "city": "Ad Dīwānīyah", "city_ascii": "Ad Diwaniyah", "lat": 31.9892, "lng": 44.9247, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Al Qādisīyah", "capital": "admin", "population": 391600.0, "id": 1368864006 }, { "city": "Al Ḩillah", "city_ascii": "Al Hillah", "lat": 32.4833, "lng": 44.4333, "country": "Iraq", "iso2": "IQ", "iso3": "IRQ", "admin_name": "Bābil", "capital": "admin", "population": 541034.0, "id": 1368916692 }, { "city": "Dublin", "city_ascii": "Dublin", "lat": 53.35, "lng": -6.2603, "country": "Ireland", "iso2": "IE", "iso3": "IRL", "admin_name": "Dublin", "capital": "primary", "population": 1173179.0, "id": 1372595407 }, { "city": "Haifa", "city_ascii": "Haifa", "lat": 32.8192, "lng": 34.9992, "country": "Israel", "iso2": "IL", "iso3": "ISR", "admin_name": "Haifa", "capital": "admin", "population": 600000.0, "id": 1376133727 }, { "city": "Jerusalem", "city_ascii": "Jerusalem", "lat": 31.7784, "lng": 35.2066, "country": "Israel", "iso2": "IL", "iso3": "ISR", "admin_name": "Jerusalem", "capital": "primary", "population": 919438.0, "id": 1376261644 }, { "city": "Tel Aviv-Yafo", "city_ascii": "Tel Aviv-Yafo", "lat": 32.08, "lng": 34.78, "country": "Israel", "iso2": "IL", "iso3": "ISR", "admin_name": "Tel Aviv", "capital": "admin", "population": 1388400.0, "id": 1376401542 }, { "city": "Bologna", "city_ascii": "Bologna", "lat": 44.4939, "lng": 11.3428, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Emilia-Romagna", "capital": "admin", "population": 392564.0, "id": 1380202039 }, { "city": "Turin", "city_ascii": "Turin", "lat": 45.0792, "lng": 7.6761, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Piedmont", "capital": "admin", "population": 870952.0, "id": 1380244627 }, { "city": "Rome", "city_ascii": "Rome", "lat": 41.8931, "lng": 12.4828, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Lazio", "capital": "primary", "population": 2872800.0, "id": 1380382862 }, { "city": "Palermo", "city_ascii": "Palermo", "lat": 38.1157, "lng": 13.3613, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Sicilia", "capital": "admin", "population": 668405.0, "id": 1380428434 }, { "city": "Naples", "city_ascii": "Naples", "lat": 40.8333, "lng": 14.25, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Campania", "capital": "admin", "population": 966144.0, "id": 1380646673 }, { "city": "Genoa", "city_ascii": "Genoa", "lat": 44.4111, "lng": 8.9328, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Liguria", "capital": "admin", "population": 580097.0, "id": 1380716540 }, { "city": "Milan", "city_ascii": "Milan", "lat": 45.4669, "lng": 9.19, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Lombardy", "capital": "admin", "population": 1366180.0, "id": 1380724377 }, { "city": "Florence", "city_ascii": "Florence", "lat": 43.7714, "lng": 11.2542, "country": "Italy", "iso2": "IT", "iso3": "ITA", "admin_name": "Tuscany", "capital": "admin", "population": 380948.0, "id": 1380726561 }, { "city": "Abidjan", "city_ascii": "Abidjan", "lat": 5.3167, "lng": -4.0333, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Abidjan", "capital": "primary", "population": 4980000.0, "id": 1384207980 }, { "city": "Cocody", "city_ascii": "Cocody", "lat": 5.35, "lng": -3.9667, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Abidjan", "capital": null, "population": 692583.0, "id": 1384351512 }, { "city": "San-Pédro", "city_ascii": "San-Pedro", "lat": 4.75, "lng": -6.6333, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Bas-Sassandra", "capital": "admin", "population": 390654.0, "id": 1384436547 }, { "city": "Port-Bouët", "city_ascii": "Port-Bouet", "lat": 5.2667, "lng": -3.9, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Abidjan", "capital": null, "population": 618795.0, "id": 1384512844 }, { "city": "Daloa", "city_ascii": "Daloa", "lat": 6.8833, "lng": -6.45, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Sassandra-Marahoué", "capital": "admin", "population": 421871.0, "id": 1384564974 }, { "city": "Yamoussoukro", "city_ascii": "Yamoussoukro", "lat": 6.8161, "lng": -5.2742, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Yamoussoukro", "capital": "primary", "population": 355573.0, "id": 1384683557 }, { "city": "Yopougon", "city_ascii": "Yopougon", "lat": 5.3167, "lng": -4.0667, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Abidjan", "capital": null, "population": 1571065.0, "id": 1384759584 }, { "city": "Koumassi", "city_ascii": "Koumassi", "lat": 5.3, "lng": -3.95, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Abidjan", "capital": null, "population": 412282.0, "id": 1384863297 }, { "city": "Bouaké", "city_ascii": "Bouake", "lat": 7.6833, "lng": -5.0167, "country": "Côte d'Ivoire", "iso2": "CI", "iso3": "CIV", "admin_name": "Vallée du Bandama", "capital": "admin", "population": 659233.0, "id": 1384983838 }, { "city": "Kingston", "city_ascii": "Kingston", "lat": 17.9714, "lng": -76.7931, "country": "Jamaica", "iso2": "JM", "iso3": "JAM", "admin_name": "Kingston", "capital": "primary", "population": 580000.0, "id": 1388709177 }, { "city": "Sapporo", "city_ascii": "Sapporo", "lat": 43.0667, "lng": 141.35, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hokkaidō", "capital": "admin", "population": 1961690.0, "id": 1392000195 }, { "city": "Takasaki", "city_ascii": "Takasaki", "lat": 36.3219, "lng": 139.0033, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Gunma", "capital": null, "population": 372639.0, "id": 1392000529 }, { "city": "Toyama", "city_ascii": "Toyama", "lat": 36.6959, "lng": 137.2137, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Toyama", "capital": "admin", "population": 413028.0, "id": 1392000560 }, { "city": "Takatsuki", "city_ascii": "Takatsuki", "lat": 34.85, "lng": 135.6167, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 347496.0, "id": 1392003061 }, { "city": "Suginami-ku", "city_ascii": "Suginami-ku", "lat": 35.6995, "lng": 139.6364, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 583609.0, "id": 1392003090 }, { "city": "Kitakyūshū", "city_ascii": "Kitakyushu", "lat": 33.8833, "lng": 130.8833, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Fukuoka", "capital": null, "population": 935084.0, "id": 1392003140 }, { "city": "Himeji", "city_ascii": "Himeji", "lat": 34.8167, "lng": 134.6833, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hyōgo", "capital": null, "population": 527596.0, "id": 1392003149 }, { "city": "Amagasaki", "city_ascii": "Amagasaki", "lat": 34.7333, "lng": 135.4, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hyōgo", "capital": null, "population": 450506.0, "id": 1392003182 }, { "city": "Kurashiki", "city_ascii": "Kurashiki", "lat": 34.5833, "lng": 133.7667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Okayama", "capital": null, "population": 474862.0, "id": 1392003246 }, { "city": "Toyonaka", "city_ascii": "Toyonaka", "lat": 34.7833, "lng": 135.4667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 401233.0, "id": 1392003256 }, { "city": "Kita-ku", "city_ascii": "Kita-ku", "lat": 35.7528, "lng": 139.7336, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 353058.0, "id": 1392003263 }, { "city": "Sakai", "city_ascii": "Sakai", "lat": 34.5733, "lng": 135.4831, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 824408.0, "id": 1392003291 }, { "city": "Shinagawa-ku", "city_ascii": "Shinagawa-ku", "lat": 35.6092, "lng": 139.7302, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 415729.0, "id": 1392003304 }, { "city": "Kōtō-ku", "city_ascii": "Koto-ku", "lat": 35.6728, "lng": 139.8173, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 523117.0, "id": 1392003346 }, { "city": "Kawasaki", "city_ascii": "Kawasaki", "lat": 35.5167, "lng": 139.7, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kanagawa", "capital": null, "population": 1539522.0, "id": 1392003356 }, { "city": "Katsushika-ku", "city_ascii": "Katsushika-ku", "lat": 35.7434, "lng": 139.8472, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 453410.0, "id": 1392003368 }, { "city": "Yokosuka", "city_ascii": "Yokosuka", "lat": 35.25, "lng": 139.6667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kanagawa", "capital": null, "population": 390275.0, "id": 1392003389 }, { "city": "Ōta-ku", "city_ascii": "Ota-ku", "lat": 35.5613, "lng": 139.716, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 737187.0, "id": 1392003511 }, { "city": "Saitama", "city_ascii": "Saitama", "lat": 35.8614, "lng": 139.6456, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Saitama", "capital": "admin", "population": 1325843.0, "id": 1392017719 }, { "city": "Ichikawa", "city_ascii": "Ichikawa", "lat": 35.7219, "lng": 139.9311, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": null, "population": 496657.0, "id": 1392076347 }, { "city": "Ōita", "city_ascii": "Oita", "lat": 33.2333, "lng": 131.6067, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōita", "capital": "admin", "population": 477186.0, "id": 1392081193 }, { "city": "Aomori", "city_ascii": "Aomori", "lat": 40.8223, "lng": 140.7307, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aomori", "capital": "admin", "population": 425962.0, "id": 1392083898 }, { "city": "Nerima", "city_ascii": "Nerima", "lat": 35.7355, "lng": 139.6517, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 742463.0, "id": 1392093402 }, { "city": "Gifu", "city_ascii": "Gifu", "lat": 35.4232, "lng": 136.7608, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Gifu", "capital": "admin", "population": 400118.0, "id": 1392097787 }, { "city": "Kumamoto", "city_ascii": "Kumamoto", "lat": 32.8031, "lng": 130.7078, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kumamoto", "capital": "admin", "population": 738385.0, "id": 1392106283 }, { "city": "Chiba", "city_ascii": "Chiba", "lat": 35.6073, "lng": 140.1064, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": "admin", "population": 981738.0, "id": 1392107144 }, { "city": "Nishinomiya-hama", "city_ascii": "Nishinomiya-hama", "lat": 34.7376, "lng": 135.3416, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hyōgo", "capital": null, "population": 487010.0, "id": 1392114116 }, { "city": "Higashi-ōsaka", "city_ascii": "Higashi-osaka", "lat": 34.6794, "lng": 135.6008, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 490819.0, "id": 1392117396 }, { "city": "Yokohama", "city_ascii": "Yokohama", "lat": 35.4442, "lng": 139.6381, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kanagawa", "capital": "admin", "population": 3757630.0, "id": 1392118339 }, { "city": "Kagoshima", "city_ascii": "Kagoshima", "lat": 31.6, "lng": 130.55, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kagoshima", "capital": "admin", "population": 593754.0, "id": 1392120675 }, { "city": "Kashiwa", "city_ascii": "Kashiwa", "lat": 35.8676, "lng": 139.9758, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": null, "population": 433941.0, "id": 1392133166 }, { "city": "Edogawa", "city_ascii": "Edogawa", "lat": 35.7066, "lng": 139.8683, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": null, "population": 697932.0, "id": 1392135698 }, { "city": "Nagasaki", "city_ascii": "Nagasaki", "lat": 32.7447, "lng": 129.8736, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Nagasaki", "capital": "admin", "population": 404656.0, "id": 1392162566 }, { "city": "Ōtsu", "city_ascii": "Otsu", "lat": 35.0167, "lng": 135.85, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Shiga", "capital": "admin", "population": 342607.0, "id": 1392164106 }, { "city": "Hachiōji", "city_ascii": "Hachioji", "lat": 35.6664, "lng": 139.316, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 575721.0, "id": 1392172935 }, { "city": "Hamamatsu", "city_ascii": "Hamamatsu", "lat": 34.7108, "lng": 137.7275, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Shizuoka", "capital": null, "population": 788211.0, "id": 1392174500 }, { "city": "Miyazaki", "city_ascii": "Miyazaki", "lat": 31.9167, "lng": 131.4167, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Miyazaki", "capital": "admin", "population": 397476.0, "id": 1392216224 }, { "city": "Matsuyama", "city_ascii": "Matsuyama", "lat": 33.8333, "lng": 132.7667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ehime", "capital": "admin", "population": 506743.0, "id": 1392220893 }, { "city": "Shizuoka", "city_ascii": "Shizuoka", "lat": 34.9756, "lng": 138.3828, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Shizuoka", "capital": "admin", "population": 685589.0, "id": 1392235505 }, { "city": "Tokorozawa", "city_ascii": "Tokorozawa", "lat": 35.7996, "lng": 139.4686, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Saitama", "capital": null, "population": 341289.0, "id": 1392340764 }, { "city": "Hiroshima", "city_ascii": "Hiroshima", "lat": 34.3914, "lng": 132.4519, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hiroshima", "capital": "admin", "population": 1198021.0, "id": 1392373695 }, { "city": "Ichinomiya", "city_ascii": "Ichinomiya", "lat": 35.3039, "lng": 136.8031, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aichi", "capital": null, "population": 378681.0, "id": 1392379530 }, { "city": "Nagoya", "city_ascii": "Nagoya", "lat": 35.1833, "lng": 136.9, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aichi", "capital": "admin", "population": 9197000.0, "id": 1392407472 }, { "city": "Ōsaka", "city_ascii": "Osaka", "lat": 34.6939, "lng": 135.5022, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": "admin", "population": 15126000.0, "id": 1392419823 }, { "city": "Takamatsu", "city_ascii": "Takamatsu", "lat": 34.35, "lng": 134.05, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kagawa", "capital": "admin", "population": 417814.0, "id": 1392427161 }, { "city": "Sendai", "city_ascii": "Sendai", "lat": 38.2682, "lng": 140.8694, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Miyagi", "capital": "admin", "population": 1061177.0, "id": 1392457903 }, { "city": "Adachi", "city_ascii": "Adachi", "lat": 35.7749, "lng": 139.8044, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 682326.0, "id": 1392464568 }, { "city": "Toyohashi", "city_ascii": "Toyohashi", "lat": 34.7692, "lng": 137.3915, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aichi", "capital": null, "population": 371507.0, "id": 1392482960 }, { "city": "Toyota", "city_ascii": "Toyota", "lat": 35.0824, "lng": 137.1563, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aichi", "capital": null, "population": 422106.0, "id": 1392498272 }, { "city": "Honchō", "city_ascii": "Honcho", "lat": 35.6946, "lng": 139.9826, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": null, "population": 641499.0, "id": 1392505502 }, { "city": "Utsunomiya", "city_ascii": "Utsunomiya", "lat": 36.5551, "lng": 139.8826, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tochigi", "capital": "admin", "population": 518197.0, "id": 1392506125 }, { "city": "Nara", "city_ascii": "Nara", "lat": 34.6844, "lng": 135.805, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Nara", "capital": "admin", "population": 352377.0, "id": 1392520831 }, { "city": "Shinjuku", "city_ascii": "Shinjuku", "lat": 35.6939, "lng": 139.7034, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 349385.0, "id": 1392536374 }, { "city": "Fukuyama", "city_ascii": "Fukuyama", "lat": 34.4833, "lng": 133.3667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hiroshima", "capital": null, "population": 459576.0, "id": 1392551602 }, { "city": "Fukuoka", "city_ascii": "Fukuoka", "lat": 33.5833, "lng": 130.4, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Fukuoka", "capital": "admin", "population": 2286000.0, "id": 1392576294 }, { "city": "Nagano", "city_ascii": "Nagano", "lat": 36.6486, "lng": 138.1947, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Nagano", "capital": "admin", "population": 367184.0, "id": 1392603439 }, { "city": "Koshigaya", "city_ascii": "Koshigaya", "lat": 35.8911, "lng": 139.7909, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Saitama", "capital": null, "population": 346768.0, "id": 1392606124 }, { "city": "Kyōto", "city_ascii": "Kyoto", "lat": 35.0117, "lng": 135.7683, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kyōto", "capital": "admin", "population": 1464890.0, "id": 1392622735 }, { "city": "Fujisawa", "city_ascii": "Fujisawa", "lat": 35.35, "lng": 139.4667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kanagawa", "capital": null, "population": 436744.0, "id": 1392640771 }, { "city": "Matsudo", "city_ascii": "Matsudo", "lat": 35.7876, "lng": 139.9032, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Chiba", "capital": null, "population": 497514.0, "id": 1392642525 }, { "city": "Kanazawa", "city_ascii": "Kanazawa", "lat": 36.5611, "lng": 136.6564, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ishikawa", "capital": "admin", "population": 462479.0, "id": 1392684679 }, { "city": "Tokyo", "city_ascii": "Tokyo", "lat": 35.6897, "lng": 139.6922, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": "primary", "population": 37732000.0, "id": 1392685764 }, { "city": "Machida", "city_ascii": "Machida", "lat": 35.7106, "lng": 139.4386, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 434414.0, "id": 1392788615 }, { "city": "Setagaya", "city_ascii": "Setagaya", "lat": 35.6466, "lng": 139.6532, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 940509.0, "id": 1392792380 }, { "city": "Kawagoe", "city_ascii": "Kawagoe", "lat": 35.9251, "lng": 139.4858, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Saitama", "capital": null, "population": 354598.0, "id": 1392825080 }, { "city": "Itabashi", "city_ascii": "Itabashi", "lat": 35.7512, "lng": 139.7093, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 581337.0, "id": 1392836404 }, { "city": "Okazaki", "city_ascii": "Okazaki", "lat": 34.9543, "lng": 137.1744, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Aichi", "capital": null, "population": 385376.0, "id": 1392862345 }, { "city": "Nakano", "city_ascii": "Nakano", "lat": 35.7073, "lng": 139.6637, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": null, "population": 341014.0, "id": 1392891845 }, { "city": "Wakayama", "city_ascii": "Wakayama", "lat": 34.2333, "lng": 135.1667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Wakayama", "capital": "admin", "population": 353299.0, "id": 1392907296 }, { "city": "Niigata", "city_ascii": "Niigata", "lat": 37.9161, "lng": 139.0364, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Niigata", "capital": "admin", "population": 790646.0, "id": 1392913753 }, { "city": "Minamisuita", "city_ascii": "Minamisuita", "lat": 34.7594, "lng": 135.5169, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 384953.0, "id": 1392948850 }, { "city": "Okayama", "city_ascii": "Okayama", "lat": 34.65, "lng": 133.9167, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Okayama", "capital": "admin", "population": 720043.0, "id": 1392954750 }, { "city": "Sagamihara", "city_ascii": "Sagamihara", "lat": 35.5667, "lng": 139.3667, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Kanagawa", "capital": null, "population": 722973.0, "id": 1392967248 }, { "city": "Kawaguchi", "city_ascii": "Kawaguchi", "lat": 35.8077, "lng": 139.7241, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Saitama", "capital": null, "population": 593353.0, "id": 1392975133 }, { "city": "Kōbe", "city_ascii": "Kobe", "lat": 34.69, "lng": 135.1956, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Hyōgo", "capital": "admin", "population": 1521707.0, "id": 1392978082 }, { "city": "Hirakata", "city_ascii": "Hirakata", "lat": 34.8167, "lng": 135.65, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Ōsaka", "capital": null, "population": 396694.0, "id": 1392999987 }, { "city": "Qaraghandy", "city_ascii": "Qaraghandy", "lat": 49.8028, "lng": 73.1056, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 497777.0, "id": 1398274508 }, { "city": "Almaty", "city_ascii": "Almaty", "lat": 43.2775, "lng": 76.8958, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 1916822.0, "id": 1398351701 }, { "city": "Öskemen", "city_ascii": "Oskemen", "lat": 49.9833, "lng": 82.6167, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 346127.0, "id": 1398371414 }, { "city": "Semey", "city_ascii": "Semey", "lat": 50.4333, "lng": 80.2667, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 350201.0, "id": 1398405657 }, { "city": "Nur-Sultan", "city_ascii": "Nur-Sultan", "lat": 51.1472, "lng": 71.4222, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "primary", "population": 1078362.0, "id": 1398516045 }, { "city": "Aqtöbe", "city_ascii": "Aqtobe", "lat": 50.2836, "lng": 57.2297, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 387807.0, "id": 1398602716 }, { "city": "Taraz", "city_ascii": "Taraz", "lat": 42.9, "lng": 71.3667, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 357795.0, "id": 1398626276 }, { "city": "Pavlodar", "city_ascii": "Pavlodar", "lat": 52.3, "lng": 76.95, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 353930.0, "id": 1398790087 }, { "city": "Shymkent", "city_ascii": "Shymkent", "lat": 42.3167, "lng": 69.5958, "country": "Kazakhstan", "iso2": "KZ", "iso3": "KAZ", "admin_name": null, "capital": "admin", "population": 1028673.0, "id": 1398791401 }, { "city": "Al Mafraq", "city_ascii": "Al Mafraq", "lat": 32.3399, "lng": 36.2052, "country": "Jordan", "iso2": "JO", "iso3": "JOR", "admin_name": "Al Mafraq", "capital": "admin", "population": 580000.0, "id": 1400040712 }, { "city": "Az Zarqā’", "city_ascii": "Az Zarqa'", "lat": 32.0833, "lng": 36.1, "country": "Jordan", "iso2": "JO", "iso3": "JOR", "admin_name": "Az Zarqā’", "capital": "admin", "population": 481300.0, "id": 1400161837 }, { "city": "Irbid", "city_ascii": "Irbid", "lat": 32.55, "lng": 35.85, "country": "Jordan", "iso2": "JO", "iso3": "JOR", "admin_name": "Irbid", "capital": "admin", "population": 569068.0, "id": 1400221568 }, { "city": "Amman", "city_ascii": "Amman", "lat": 31.9497, "lng": 35.9328, "country": "Jordan", "iso2": "JO", "iso3": "JOR", "admin_name": "Al ‘Āşimah", "capital": "primary", "population": 4007526.0, "id": 1400522593 }, { "city": "Nairobi", "city_ascii": "Nairobi", "lat": -1.2864, "lng": 36.8172, "country": "Kenya", "iso2": "KE", "iso3": "KEN", "admin_name": "Nairobi City", "capital": "primary", "population": 5545000.0, "id": 1404000661 }, { "city": "Kisumu", "city_ascii": "Kisumu", "lat": -0.0833, "lng": 34.7667, "country": "Kenya", "iso2": "KE", "iso3": "KEN", "admin_name": "Kisumu", "capital": "admin", "population": 409928.0, "id": 1404511920 }, { "city": "Mombasa", "city_ascii": "Mombasa", "lat": -4.05, "lng": 39.6667, "country": "Kenya", "iso2": "KE", "iso3": "KEN", "admin_name": "Mombasa", "capital": "admin", "population": 1208333.0, "id": 1404512373 }, { "city": "Meru", "city_ascii": "Meru", "lat": 0.05, "lng": 37.65, "country": "Kenya", "iso2": "KE", "iso3": "KEN", "admin_name": "Meru", "capital": "admin", "population": 1833000.0, "id": 1404588252 }, { "city": "Nampo", "city_ascii": "Nampo", "lat": 38.7333, "lng": 125.4, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "Namp’o", "capital": null, "population": 703317.0, "id": 1408358410 }, { "city": "Hamhŭng", "city_ascii": "Hamhung", "lat": 39.9167, "lng": 127.5333, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "Hamnam", "capital": "admin", "population": 768551.0, "id": 1408482040 }, { "city": "Ch’ŏngjin", "city_ascii": "Ch'ongjin", "lat": 41.7833, "lng": 129.7667, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "Hambuk", "capital": "admin", "population": 667929.0, "id": 1408498177 }, { "city": "Sunch’ŏn", "city_ascii": "Sunch'on", "lat": 39.4167, "lng": 125.9333, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "P’yŏngnam", "capital": null, "population": 437000.0, "id": 1408510801 }, { "city": "Wŏnsan", "city_ascii": "Wonsan", "lat": 39.1475, "lng": 127.4461, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "Kangwŏn", "capital": "admin", "population": 363127.0, "id": 1408692125 }, { "city": "Pyongyang", "city_ascii": "Pyongyang", "lat": 39.0194, "lng": 125.7381, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "P’yŏngyang", "capital": "primary", "population": 2863000.0, "id": 1408738594 }, { "city": "Sinŭiju", "city_ascii": "Sinuiju", "lat": 40.1, "lng": 124.4, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "P’yŏngbuk", "capital": "admin", "population": 352000.0, "id": 1408740449 }, { "city": "Tanch’ŏn", "city_ascii": "Tanch'on", "lat": 40.458, "lng": 128.911, "country": "North Korea", "iso2": "KP", "iso3": "PRK", "admin_name": "Hamnam", "capital": null, "population": 345876.0, "id": 1408940912 }, { "city": "Gwangju", "city_ascii": "Gwangju", "lat": 35.1653, "lng": 126.8486, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gwangju", "capital": "admin", "population": 1490092.0, "id": 1410000087 }, { "city": "Yeosu", "city_ascii": "Yeosu", "lat": 34.7333, "lng": 127.7333, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Jeonnam", "capital": "minor", "population": 341994.0, "id": 1410002025 }, { "city": "Ch’ŏnan", "city_ascii": "Ch'onan", "lat": 36.8167, "lng": 127.1667, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Chungnam", "capital": null, "population": 651661.0, "id": 1410020455 }, { "city": "Hwasu-dong", "city_ascii": "Hwasu-dong", "lat": 37.1997, "lng": 126.8314, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 655350.0, "id": 1410037247 }, { "city": "Daegu", "city_ascii": "Daegu", "lat": 35.8717, "lng": 128.6017, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Daegu", "capital": "admin", "population": 2461002.0, "id": 1410095252 }, { "city": "Ulsan", "city_ascii": "Ulsan", "lat": 35.55, "lng": 129.3167, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Ulsan", "capital": "admin", "population": 1166033.0, "id": 1410134602 }, { "city": "Incheon", "city_ascii": "Incheon", "lat": 37.4833, "lng": 126.6333, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Incheon", "capital": "admin", "population": 2936117.0, "id": 1410160313 }, { "city": "Tongjin", "city_ascii": "Tongjin", "lat": 37.2333, "lng": 127.2, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 1076369.0, "id": 1410160862 }, { "city": "Yanggok", "city_ascii": "Yanggok", "lat": 37.6333, "lng": 127.2167, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 713321.0, "id": 1410188674 }, { "city": "Sihŭng", "city_ascii": "Sihung", "lat": 37.3799, "lng": 126.8029, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 425184.0, "id": 1410313432 }, { "city": "Jeju", "city_ascii": "Jeju", "lat": 33.5097, "lng": 126.5219, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Jeju", "capital": "admin", "population": 435413.0, "id": 1410364424 }, { "city": "Paju", "city_ascii": "Paju", "lat": 37.8667, "lng": 126.8, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": "minor", "population": 415345.0, "id": 1410365324 }, { "city": "Masan", "city_ascii": "Masan", "lat": 35.1833, "lng": 128.55, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeongnam", "capital": null, "population": 429612.0, "id": 1410394650 }, { "city": "Bucheon", "city_ascii": "Bucheon", "lat": 37.5, "lng": 126.7833, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": "minor", "population": 867678.0, "id": 1410428222 }, { "city": "Jeonju", "city_ascii": "Jeonju", "lat": 35.8167, "lng": 127.15, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Jeonbuk", "capital": "admin", "population": 631532.0, "id": 1410494847 }, { "city": "Goyang", "city_ascii": "Goyang", "lat": 37.65, "lng": 126.8, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": "minor", "population": 1061929.0, "id": 1410511255 }, { "city": "Anyang", "city_ascii": "Anyang", "lat": 37.3833, "lng": 126.9333, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 573296.0, "id": 1410581095 }, { "city": "Ansan", "city_ascii": "Ansan", "lat": 37.3167, "lng": 126.8333, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 652800.0, "id": 1410585171 }, { "city": "Changwon", "city_ascii": "Changwon", "lat": 35.2708, "lng": 128.6631, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeongnam", "capital": "admin", "population": 1046054.0, "id": 1410592618 }, { "city": "Busan", "city_ascii": "Busan", "lat": 35.18, "lng": 129.075, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Busan", "capital": "admin", "population": 3453198.0, "id": 1410601465 }, { "city": "Sŏngnam", "city_ascii": "Songnam", "lat": 37.4333, "lng": 127.15, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 948757.0, "id": 1410622472 }, { "city": "Kumi", "city_ascii": "Kumi", "lat": 36.1195, "lng": 128.3444, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeongbuk", "capital": null, "population": 407880.0, "id": 1410638233 }, { "city": "Pyeongtaek", "city_ascii": "Pyeongtaek", "lat": 36.9922, "lng": 127.1128, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 457873.0, "id": 1410641095 }, { "city": "Suwon", "city_ascii": "Suwon", "lat": 37.2667, "lng": 127.0167, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": "admin", "population": 1234300.0, "id": 1410679777 }, { "city": "Gimpo", "city_ascii": "Gimpo", "lat": 37.7, "lng": 126.6, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": "minor", "population": 352683.0, "id": 1410797548 }, { "city": "Kimhae", "city_ascii": "Kimhae", "lat": 35.2342, "lng": 128.8811, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeongnam", "capital": null, "population": 550758.0, "id": 1410836094 }, { "city": "Seoul", "city_ascii": "Seoul", "lat": 37.56, "lng": 126.99, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Seoul", "capital": "primary", "population": 23016000.0, "id": 1410836482 }, { "city": "Uijeongbu", "city_ascii": "Uijeongbu", "lat": 37.7486, "lng": 127.0389, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeonggi", "capital": null, "population": 421579.0, "id": 1410888678 }, { "city": "Cheongju", "city_ascii": "Cheongju", "lat": 36.6333, "lng": 127.4833, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Chungbuk", "capital": "admin", "population": 833276.0, "id": 1410964361 }, { "city": "Pohang", "city_ascii": "Pohang", "lat": 36.0322, "lng": 129.365, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Gyeongbuk", "capital": "minor", "population": 520305.0, "id": 1410983252 }, { "city": "Daejeon", "city_ascii": "Daejeon", "lat": 36.351, "lng": 127.385, "country": "South Korea", "iso2": "KR", "iso3": "KOR", "admin_name": "Daejeon", "capital": "admin", "population": 1475221.0, "id": 1410993875 }, { "city": "Kuwait City", "city_ascii": "Kuwait City", "lat": 29.3697, "lng": 47.9783, "country": "Kuwait", "iso2": "KW", "iso3": "KWT", "admin_name": "Al ‘Āşimah", "capital": "primary", "population": 3000000.0, "id": 1414102075 }, { "city": "Al Jahrā’", "city_ascii": "Al Jahra'", "lat": 29.35, "lng": 47.6833, "country": "Kuwait", "iso2": "KW", "iso3": "KWT", "admin_name": "Al Jahrā’", "capital": null, "population": 393432.0, "id": 1414182001 }, { "city": "Bishkek", "city_ascii": "Bishkek", "lat": 42.8747, "lng": 74.6122, "country": "Kyrgyzstan", "iso2": "KG", "iso3": "KGZ", "admin_name": "Bishkek", "capital": "primary", "population": 1074075.0, "id": 1417191971 }, { "city": "Vientiane", "city_ascii": "Vientiane", "lat": 17.9667, "lng": 102.6, "country": "Laos", "iso2": "LA", "iso3": "LAO", "admin_name": "Viangchan", "capital": "primary", "population": 948487.0, "id": 1418732714 }, { "city": "Beirut", "city_ascii": "Beirut", "lat": 33.8869, "lng": 35.5131, "country": "Lebanon", "iso2": "LB", "iso3": "LBN", "admin_name": "Beyrouth", "capital": "primary", "population": 361366.0, "id": 1422847713 }, { "city": "Tripoli", "city_ascii": "Tripoli", "lat": 34.4367, "lng": 35.8344, "country": "Lebanon", "iso2": "LB", "iso3": "LBN", "admin_name": "Liban-Nord", "capital": "admin", "population": 530000.0, "id": 1422886065 }, { "city": "Maseru", "city_ascii": "Maseru", "lat": -29.31, "lng": 27.48, "country": "Lesotho", "iso2": "LS", "iso3": "LSO", "admin_name": "Maseru", "capital": "primary", "population": 519186.0, "id": 1426977668 }, { "city": "Riga", "city_ascii": "Riga", "lat": 56.9489, "lng": 24.1064, "country": "Latvia", "iso2": "LV", "iso3": "LVA", "admin_name": "Rīga", "capital": "primary", "population": 920643.0, "id": 1428586192 }, { "city": "Monrovia", "city_ascii": "Monrovia", "lat": 6.3133, "lng": -10.8014, "country": "Liberia", "iso2": "LR", "iso3": "LBR", "admin_name": "Montserrado", "capital": "primary", "population": 1021762.0, "id": 1430477826 }, { "city": "Tripoli", "city_ascii": "Tripoli", "lat": 32.8872, "lng": 13.1914, "country": "Libya", "iso2": "LY", "iso3": "LBY", "admin_name": "Ţarābulus", "capital": "primary", "population": 1293016.0, "id": 1434201852 }, { "city": "Ajdābiyā", "city_ascii": "Ajdabiya", "lat": 30.7556, "lng": 20.2253, "country": "Libya", "iso2": "LY", "iso3": "LBY", "admin_name": "Al Wāḩāt", "capital": "admin", "population": 416000.0, "id": 1434401280 }, { "city": "Benghazi", "city_ascii": "Benghazi", "lat": 32.1167, "lng": 20.0667, "country": "Libya", "iso2": "LY", "iso3": "LBY", "admin_name": "Banghāzī", "capital": "admin", "population": 631555.0, "id": 1434915572 }, { "city": "Kaunas", "city_ascii": "Kaunas", "lat": 54.8972, "lng": 23.8861, "country": "Lithuania", "iso2": "LT", "iso3": "LTU", "admin_name": "Kauno Miestas", "capital": "admin", "population": 381007.0, "id": 1440302852 }, { "city": "Vilnius", "city_ascii": "Vilnius", "lat": 54.6872, "lng": 25.28, "country": "Lithuania", "iso2": "LT", "iso3": "LTU", "admin_name": "Vilniaus Miestas", "capital": "primary", "population": 708203.0, "id": 1440887149 }, { "city": "Macau", "city_ascii": "Macau", "lat": 22.2006, "lng": 113.5461, "country": "Macau", "iso2": "MO", "iso3": "MAC", "admin_name": null, "capital": null, "population": 568700.0, "id": 1446227359 }, { "city": "Androtsy", "city_ascii": "Androtsy", "lat": -24.1, "lng": 46.3, "country": "Madagascar", "iso2": "MG", "iso3": "MDG", "admin_name": "Toliara", "capital": null, "population": 809313.0, "id": 1450017816 }, { "city": "Betsiboka", "city_ascii": "Betsiboka", "lat": -16.95, "lng": 46.83, "country": "Madagascar", "iso2": "MG", "iso3": "MDG", "admin_name": "Mahajanga", "capital": null, "population": 394561.0, "id": 1450524066 }, { "city": "Antananarivo", "city_ascii": "Antananarivo", "lat": -18.9333, "lng": 47.5167, "country": "Madagascar", "iso2": "MG", "iso3": "MDG", "admin_name": "Antananarivo", "capital": "primary", "population": 2610000.0, "id": 1450978461 }, { "city": "Blantyre", "city_ascii": "Blantyre", "lat": -15.7861, "lng": 35.0058, "country": "Malawi", "iso2": "MW", "iso3": "MWI", "admin_name": "Blantyre", "capital": "admin", "population": 1895973.0, "id": 1454145012 }, { "city": "Lilongwe", "city_ascii": "Lilongwe", "lat": -13.9833, "lng": 33.7833, "country": "Malawi", "iso2": "MW", "iso3": "MWI", "admin_name": "Lilongwe", "capital": "primary", "population": 989318.0, "id": 1454688499 }, { "city": "Seremban", "city_ascii": "Seremban", "lat": 2.7222, "lng": 101.9417, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Negeri Sembilan", "capital": "admin", "population": 419536.0, "id": 1458051507 }, { "city": "Kota Bharu", "city_ascii": "Kota Bharu", "lat": 6.1333, "lng": 102.25, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Kelantan", "capital": "admin", "population": 491237.0, "id": 1458150101 }, { "city": "Shah Alam", "city_ascii": "Shah Alam", "lat": 3.0722, "lng": 101.5167, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Selangor", "capital": "admin", "population": 584340.0, "id": 1458194263 }, { "city": "George Town", "city_ascii": "George Town", "lat": 5.4144, "lng": 100.3292, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Pulau Pinang", "capital": "admin", "population": 794313.0, "id": 1458236750 }, { "city": "Sandakan", "city_ascii": "Sandakan", "lat": 5.8388, "lng": 118.1173, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Sabah", "capital": null, "population": 396290.0, "id": 1458405180 }, { "city": "Seberang Jaya", "city_ascii": "Seberang Jaya", "lat": 5.4, "lng": 100.4667, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Pulau Pinang", "capital": null, "population": 946092.0, "id": 1458417183 }, { "city": "Ipoh", "city_ascii": "Ipoh", "lat": 4.5972, "lng": 101.075, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Perak", "capital": "admin", "population": 866772.0, "id": 1458423505 }, { "city": "Kota Kinabalu", "city_ascii": "Kota Kinabalu", "lat": 5.975, "lng": 116.0725, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Sabah", "capital": "admin", "population": 452058.0, "id": 1458441859 }, { "city": "Melaka", "city_ascii": "Melaka", "lat": 2.1944, "lng": 102.2486, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Melaka", "capital": "admin", "population": 455300.0, "id": 1458467506 }, { "city": "Butterworth", "city_ascii": "Butterworth", "lat": 5.3992, "lng": 100.3639, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Pulau Pinang", "capital": null, "population": 821652.0, "id": 1458469233 }, { "city": "Klang", "city_ascii": "Klang", "lat": 3.0333, "lng": 101.45, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Selangor", "capital": null, "population": 878000.0, "id": 1458509635 }, { "city": "Sungai Petani", "city_ascii": "Sungai Petani", "lat": 5.65, "lng": 100.48, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Kedah", "capital": null, "population": 358499.0, "id": 1458639918 }, { "city": "Johor Bahru", "city_ascii": "Johor Bahru", "lat": 1.4556, "lng": 103.7611, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Johor", "capital": "admin", "population": 497097.0, "id": 1458747615 }, { "city": "Kuantan", "city_ascii": "Kuantan", "lat": 3.8167, "lng": 103.3333, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Pahang", "capital": "admin", "population": 607778.0, "id": 1458763489 }, { "city": "Kuala Lumpur", "city_ascii": "Kuala Lumpur", "lat": 3.1478, "lng": 101.6953, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Kuala Lumpur", "capital": "primary", "population": 8911000.0, "id": 1458988644 }, { "city": "Petaling Jaya", "city_ascii": "Petaling Jaya", "lat": 3.0972, "lng": 101.6444, "country": "Malaysia", "iso2": "MY", "iso3": "MYS", "admin_name": "Selangor", "capital": null, "population": 638516.0, "id": 1458989343 }, { "city": "Balandougou", "city_ascii": "Balandougou", "lat": 13.3558, "lng": -9.5517, "country": "Mali", "iso2": "ML", "iso3": "MLI", "admin_name": "Kayes", "capital": null, "population": 1596882.0, "id": 1466367944 }, { "city": "Bamako", "city_ascii": "Bamako", "lat": 12.6458, "lng": -7.9922, "country": "Mali", "iso2": "ML", "iso3": "MLI", "admin_name": "Bamako", "capital": "primary", "population": 2009109.0, "id": 1466965925 }, { "city": "Valletta", "city_ascii": "Valletta", "lat": 35.8983, "lng": 14.5125, "country": "Malta", "iso2": "MT", "iso3": "MLT", "admin_name": "Valletta", "capital": "primary", "population": 480134.0, "id": 1470574399 }, { "city": "Nouakchott", "city_ascii": "Nouakchott", "lat": 18.0858, "lng": -15.9785, "country": "Mauritania", "iso2": "MR", "iso3": "MRT", "admin_name": "Nouakchott Ouest", "capital": "primary", "population": 1077169.0, "id": 1478414984 }, { "city": "Guadalupe", "city_ascii": "Guadalupe", "lat": 25.6775, "lng": -100.2597, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Nuevo León", "capital": "minor", "population": 691931.0, "id": 1484002410 }, { "city": "Ecatepec", "city_ascii": "Ecatepec", "lat": 19.6097, "lng": -99.06, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 1929926.0, "id": 1484003694 }, { "city": "Cancún", "city_ascii": "Cancun", "lat": 21.1606, "lng": -86.8475, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Quintana Roo", "capital": "minor", "population": 888797.0, "id": 1484010310 }, { "city": "Hermosillo", "city_ascii": "Hermosillo", "lat": 29.0989, "lng": -110.9542, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Sonora", "capital": "admin", "population": 855563.0, "id": 1484015319 }, { "city": "Ciudad Nezahualcóyotl", "city_ascii": "Ciudad Nezahualcoyotl", "lat": 19.4081, "lng": -99.0186, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": null, "population": 1109363.0, "id": 1484016661 }, { "city": "Tlajomulco de Zúñiga", "city_ascii": "Tlajomulco de Zuniga", "lat": 20.4736, "lng": -103.4431, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Jalisco", "capital": "minor", "population": 727750.0, "id": 1484017493 }, { "city": "Nezahualcóyotl", "city_ascii": "Nezahualcoyotl", "lat": 19.4006, "lng": -99.0148, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 1077208.0, "id": 1484074285 }, { "city": "Tlaquepaque", "city_ascii": "Tlaquepaque", "lat": 20.6167, "lng": -103.3167, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Jalisco", "capital": "minor", "population": 664193.0, "id": 1484087945 }, { "city": "Gómez Palacio", "city_ascii": "Gomez Palacio", "lat": 25.5611, "lng": -103.4983, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Durango", "capital": "minor", "population": 342286.0, "id": 1484092318 }, { "city": "Saltillo", "city_ascii": "Saltillo", "lat": 25.4231, "lng": -100.9919, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Coahuila", "capital": "admin", "population": 864431.0, "id": 1484107245 }, { "city": "Zapopan", "city_ascii": "Zapopan", "lat": 20.7167, "lng": -103.4, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Jalisco", "capital": "minor", "population": 1476491.0, "id": 1484198680 }, { "city": "Torreón", "city_ascii": "Torreon", "lat": 25.5394, "lng": -103.4486, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Coahuila", "capital": "minor", "population": 716672.0, "id": 1484215762 }, { "city": "Mexico City", "city_ascii": "Mexico City", "lat": 19.4333, "lng": -99.1333, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Ciudad de México", "capital": "primary", "population": 21804000.0, "id": 1484247881 }, { "city": "San Nicolás de los Garza", "city_ascii": "San Nicolas de los Garza", "lat": 25.75, "lng": -100.2833, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Nuevo León", "capital": "minor", "population": 443273.0, "id": 1484264138 }, { "city": "Xalapa", "city_ascii": "Xalapa", "lat": 19.54, "lng": -96.9275, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Veracruz", "capital": "admin", "population": 424755.0, "id": 1484334948 }, { "city": "Chihuahua", "city_ascii": "Chihuahua", "lat": 28.6353, "lng": -106.0889, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Chihuahua", "capital": "admin", "population": 878062.0, "id": 1484335603 }, { "city": "Tecámac", "city_ascii": "Tecamac", "lat": 19.7131, "lng": -98.9683, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 364579.0, "id": 1484363321 }, { "city": "Ciudad López Mateos", "city_ascii": "Ciudad Lopez Mateos", "lat": 19.55, "lng": -99.2833, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 489937.0, "id": 1484363879 }, { "city": "Mérida", "city_ascii": "Merida", "lat": 20.97, "lng": -89.62, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Yucatán", "capital": "admin", "population": 892363.0, "id": 1484396779 }, { "city": "Puebla", "city_ascii": "Puebla", "lat": 19.0333, "lng": -98.1833, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Puebla", "capital": "admin", "population": 1576259.0, "id": 1484416394 }, { "city": "Tepic", "city_ascii": "Tepic", "lat": 21.5083, "lng": -104.8931, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Nayarit", "capital": "admin", "population": 413609.0, "id": 1484433877 }, { "city": "Los Mochis", "city_ascii": "Los Mochis", "lat": 25.7835, "lng": -108.9937, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Sinaloa", "capital": "minor", "population": 490000.0, "id": 1484443585 }, { "city": "Ixtapaluca", "city_ascii": "Ixtapaluca", "lat": 19.3186, "lng": -98.8822, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 542211.0, "id": 1484452937 }, { "city": "Villahermosa", "city_ascii": "Villahermosa", "lat": 17.9892, "lng": -92.9281, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Tabasco", "capital": "admin", "population": 353577.0, "id": 1484460894 }, { "city": "Acapulco de Juárez", "city_ascii": "Acapulco de Juarez", "lat": 16.8636, "lng": -99.8825, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Guerrero", "capital": "minor", "population": 673478.0, "id": 1484463183 }, { "city": "Chimalhuacán", "city_ascii": "Chimalhuacan", "lat": 19.4167, "lng": -98.9, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 614453.0, "id": 1484504936 }, { "city": "Culiacán", "city_ascii": "Culiacan", "lat": 24.8069, "lng": -107.3939, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Sinaloa", "capital": "admin", "population": 808416.0, "id": 1484516810 }, { "city": "Monterrey", "city_ascii": "Monterrey", "lat": 25.6667, "lng": -100.3, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Nuevo León", "capital": "admin", "population": 5341171.0, "id": 1484559591 }, { "city": "Tultitlán de Mariano Escobedo", "city_ascii": "Tultitlan de Mariano Escobedo", "lat": 19.645, "lng": -99.1694, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 520557.0, "id": 1484562374 }, { "city": "San Luis Potosí", "city_ascii": "San Luis Potosi", "lat": 22.1511, "lng": -100.9761, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "San Luis Potosí", "capital": "admin", "population": 772828.0, "id": 1484583620 }, { "city": "Nicolás Romero", "city_ascii": "Nicolas Romero", "lat": 19.5833, "lng": -99.3667, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 366602.0, "id": 1484589606 }, { "city": "Nuevo Laredo", "city_ascii": "Nuevo Laredo", "lat": 27.4861, "lng": -99.5069, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Tamaulipas", "capital": "minor", "population": 384033.0, "id": 1484597234 }, { "city": "Querétaro", "city_ascii": "Queretaro", "lat": 20.5875, "lng": -100.3928, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Querétaro", "capital": "admin", "population": 801940.0, "id": 1484604775 }, { "city": "Heroica Matamoros", "city_ascii": "Heroica Matamoros", "lat": 25.8797, "lng": -97.5042, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Tamaulipas", "capital": "minor", "population": 541979.0, "id": 1484614906 }, { "city": "Irapuato", "city_ascii": "Irapuato", "lat": 20.6667, "lng": -101.35, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Guanajuato", "capital": "minor", "population": 592953.0, "id": 1484625454 }, { "city": "Aguascalientes", "city_ascii": "Aguascalientes", "lat": 21.876, "lng": -102.296, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Aguascalientes", "capital": "admin", "population": 934424.0, "id": 1484666646 }, { "city": "Morelia", "city_ascii": "Morelia", "lat": 19.7683, "lng": -101.1894, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Michoacán", "capital": null, "population": 962555.0, "id": 1484669072 }, { "city": "Tijuana", "city_ascii": "Tijuana", "lat": 32.525, "lng": -117.0333, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Baja California", "capital": "minor", "population": 2002000.0, "id": 1484708778 }, { "city": "Ensenada", "city_ascii": "Ensenada", "lat": 31.8578, "lng": -116.6058, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Baja California", "capital": "minor", "population": 557430.0, "id": 1484714297 }, { "city": "Minatitlán", "city_ascii": "Minatitlan", "lat": 17.9833, "lng": -94.55, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Veracruz", "capital": "minor", "population": 356020.0, "id": 1484735713 }, { "city": "Reynosa", "city_ascii": "Reynosa", "lat": 26.0922, "lng": -98.2778, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Tamaulipas", "capital": "minor", "population": 725793.0, "id": 1484737671 }, { "city": "Tonalá", "city_ascii": "Tonala", "lat": 20.6167, "lng": -103.2333, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Jalisco", "capital": "minor", "population": 569913.0, "id": 1484750897 }, { "city": "Orizaba", "city_ascii": "Orizaba", "lat": 18.85, "lng": -97.1, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Veracruz", "capital": "minor", "population": 355333.0, "id": 1484766767 }, { "city": "Mexicali", "city_ascii": "Mexicali", "lat": 32.6633, "lng": -115.4678, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Baja California", "capital": "admin", "population": 1102342.0, "id": 1484788702 }, { "city": "León de los Aldama", "city_ascii": "Leon de los Aldama", "lat": 21.1167, "lng": -101.6833, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Guanajuato", "capital": "minor", "population": 1579803.0, "id": 1484811199 }, { "city": "Tuxtla", "city_ascii": "Tuxtla", "lat": 16.7528, "lng": -93.1167, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Chiapas", "capital": "admin", "population": 598710.0, "id": 1484832519 }, { "city": "Juárez", "city_ascii": "Juarez", "lat": 31.7386, "lng": -106.487, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Chihuahua", "capital": "minor", "population": 1321004.0, "id": 1484840083 }, { "city": "Mazatlán", "city_ascii": "Mazatlan", "lat": 23.2167, "lng": -106.4167, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Sinaloa", "capital": "minor", "population": 658354.0, "id": 1484841466 }, { "city": "Naucalpan de Juárez", "city_ascii": "Naucalpan de Juarez", "lat": 19.4753, "lng": -99.2378, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 913681.0, "id": 1484850125 }, { "city": "Durango", "city_ascii": "Durango", "lat": 24.025, "lng": -104.6675, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Durango", "capital": "admin", "population": 654876.0, "id": 1484854616 }, { "city": "Ciudad Apodaca", "city_ascii": "Ciudad Apodaca", "lat": 25.7817, "lng": -100.1886, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Nuevo León", "capital": "minor", "population": 523370.0, "id": 1484855080 }, { "city": "Tlalnepantla", "city_ascii": "Tlalnepantla", "lat": 19.5367, "lng": -99.1947, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "México", "capital": "minor", "population": 653410.0, "id": 1484861603 }, { "city": "Guadalajara", "city_ascii": "Guadalajara", "lat": 20.6767, "lng": -103.3475, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Jalisco", "capital": "admin", "population": 5525000.0, "id": 1484950208 }, { "city": "Celaya", "city_ascii": "Celaya", "lat": 20.5222, "lng": -100.8122, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Guanajuato", "capital": "minor", "population": 494304.0, "id": 1484979555 }, { "city": "Veracruz", "city_ascii": "Veracruz", "lat": 19.1903, "lng": -96.1533, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Veracruz", "capital": "minor", "population": 428323.0, "id": 1484992153 }, { "city": "Tapachula", "city_ascii": "Tapachula", "lat": 14.9, "lng": -92.2667, "country": "Mexico", "iso2": "MX", "iso3": "MEX", "admin_name": "Chiapas", "capital": "minor", "population": 348156.0, "id": 1484997178 }, { "city": "Ulaanbaatar", "city_ascii": "Ulaanbaatar", "lat": 47.9203, "lng": 106.9172, "country": "Mongolia", "iso2": "MN", "iso3": "MNG", "admin_name": "Ulaanbaatar", "capital": "primary", "population": 1396288.0, "id": 1496024767 }, { "city": "Chisinau", "city_ascii": "Chisinau", "lat": 47.0228, "lng": 28.8353, "country": "Moldova", "iso2": "MD", "iso3": "MDA", "admin_name": "Chişinău", "capital": "primary", "population": 702300.0, "id": 1498011437 }, { "city": "Rabat", "city_ascii": "Rabat", "lat": 34.0209, "lng": -6.8416, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Rabat-Salé-Kénitra", "capital": "primary", "population": 572717.0, "id": 1504023252 }, { "city": "Agadir", "city_ascii": "Agadir", "lat": 30.4333, "lng": -9.6, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Souss-Massa", "capital": "admin", "population": 421844.0, "id": 1504116858 }, { "city": "Marrakech", "city_ascii": "Marrakech", "lat": 31.63, "lng": -8.0089, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Marrakech-Safi", "capital": "admin", "population": 928850.0, "id": 1504172585 }, { "city": "Casablanca", "city_ascii": "Casablanca", "lat": 33.5333, "lng": -7.5833, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Casablanca-Settat", "capital": "admin", "population": 4370000.0, "id": 1504175315 }, { "city": "Meknès", "city_ascii": "Meknes", "lat": 33.895, "lng": -5.5547, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Fès-Meknès", "capital": null, "population": 520428.0, "id": 1504333193 }, { "city": "Mediouna", "city_ascii": "Mediouna", "lat": 33.45, "lng": -7.51, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Casablanca-Settat", "capital": null, "population": 822851.0, "id": 1504371270 }, { "city": "Kenitra", "city_ascii": "Kenitra", "lat": 34.25, "lng": -6.5833, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Rabat-Salé-Kénitra", "capital": null, "population": 431282.0, "id": 1504534876 }, { "city": "Tétouan", "city_ascii": "Tetouan", "lat": 35.5667, "lng": -5.3667, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Tanger-Tétouan-Al Hoceïma", "capital": null, "population": 380787.0, "id": 1504709141 }, { "city": "El Kelaa des Srarhna", "city_ascii": "El Kelaa des Srarhna", "lat": 32.0481, "lng": -7.4083, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Marrakech-Safi", "capital": null, "population": 1450021.0, "id": 1504846488 }, { "city": "Tangier", "city_ascii": "Tangier", "lat": 35.7767, "lng": -5.8039, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Tanger-Tétouan-Al Hoceïma", "capital": "admin", "population": 947952.0, "id": 1504861504 }, { "city": "Fès", "city_ascii": "Fes", "lat": 34.0433, "lng": -5.0033, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Fès-Meknès", "capital": "admin", "population": 1112072.0, "id": 1504861997 }, { "city": "Oujda-Angad", "city_ascii": "Oujda-Angad", "lat": 34.6867, "lng": -1.9114, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Oriental", "capital": "admin", "population": 494252.0, "id": 1504891036 }, { "city": "Sale", "city_ascii": "Sale", "lat": 34.0333, "lng": -6.8, "country": "Morocco", "iso2": "MA", "iso3": "MAR", "admin_name": "Rabat-Salé-Kénitra", "capital": null, "population": 850403.0, "id": 1504989034 }, { "city": "Maputo", "city_ascii": "Maputo", "lat": -25.9667, "lng": 32.5833, "country": "Mozambique", "iso2": "MZ", "iso3": "MOZ", "admin_name": "Maputo", "capital": "primary", "population": 1191613.0, "id": 1508074843 }, { "city": "Beira", "city_ascii": "Beira", "lat": -19.8333, "lng": 34.85, "country": "Mozambique", "iso2": "MZ", "iso3": "MOZ", "admin_name": "Sofala", "capital": "admin", "population": 436240.0, "id": 1508407369 }, { "city": "António Enes", "city_ascii": "Antonio Enes", "lat": -16.2333, "lng": 39.9167, "country": "Mozambique", "iso2": "MZ", "iso3": "MOZ", "admin_name": "Nampula", "capital": null, "population": 347175.0, "id": 1508591443 }, { "city": "Matola", "city_ascii": "Matola", "lat": -25.9667, "lng": 32.4667, "country": "Mozambique", "iso2": "MZ", "iso3": "MOZ", "admin_name": "Maputo", "capital": null, "population": 1032197.0, "id": 1508768577 }, { "city": "Nampula", "city_ascii": "Nampula", "lat": -15.1167, "lng": 39.2667, "country": "Mozambique", "iso2": "MZ", "iso3": "MOZ", "admin_name": "Nampula", "capital": "admin", "population": 743000.0, "id": 1508958445 }, { "city": "Muscat", "city_ascii": "Muscat", "lat": 23.6139, "lng": 58.5922, "country": "Oman", "iso2": "OM", "iso3": "OMN", "admin_name": "Masqaţ", "capital": "primary", "population": 1421409.0, "id": 1512035506 }, { "city": "Bawshar", "city_ascii": "Bawshar", "lat": 23.5333, "lng": 58.3833, "country": "Oman", "iso2": "OM", "iso3": "OMN", "admin_name": "Masqaţ", "capital": null, "population": 383257.0, "id": 1512506161 }, { "city": "Pokhara", "city_ascii": "Pokhara", "lat": 28.2083, "lng": 83.9889, "country": "Nepal", "iso2": "NP", "iso3": "NPL", "admin_name": "Gaṇḍakī", "capital": "admin", "population": 353841.0, "id": 1524416084 }, { "city": "Kathmandu", "city_ascii": "Kathmandu", "lat": 27.7172, "lng": 85.324, "country": "Nepal", "iso2": "NP", "iso3": "NPL", "admin_name": null, "capital": "primary", "population": 975453.0, "id": 1524589448 }, { "city": "Bharatpur", "city_ascii": "Bharatpur", "lat": 27.6833, "lng": 84.4333, "country": "Nepal", "iso2": "NP", "iso3": "NPL", "admin_name": null, "capital": null, "population": 369377.0, "id": 1524780273 }, { "city": "Amsterdam", "city_ascii": "Amsterdam", "lat": 52.3728, "lng": 4.8936, "country": "Netherlands", "iso2": "NL", "iso3": "NLD", "admin_name": "Noord-Holland", "capital": "primary", "population": 1459402.0, "id": 1528355309 }, { "city": "The Hague", "city_ascii": "The Hague", "lat": 52.08, "lng": 4.31, "country": "Netherlands", "iso2": "NL", "iso3": "NLD", "admin_name": "Zuid-Holland", "capital": "primary", "population": 548320.0, "id": 1528799905 }, { "city": "Utrecht", "city_ascii": "Utrecht", "lat": 52.0833, "lng": 5.1167, "country": "Netherlands", "iso2": "NL", "iso3": "NLD", "admin_name": "Utrecht", "capital": "admin", "population": 359370.0, "id": 1528871692 }, { "city": "Rotterdam", "city_ascii": "Rotterdam", "lat": 51.9167, "lng": 4.5, "country": "Netherlands", "iso2": "NL", "iso3": "NLD", "admin_name": "Zuid-Holland", "capital": "minor", "population": 631155.0, "id": 1528892850 }, { "city": "Christchurch", "city_ascii": "Christchurch", "lat": -43.531, "lng": 172.6365, "country": "New Zealand", "iso2": "NZ", "iso3": "NZL", "admin_name": "Canterbury", "capital": "admin", "population": 383200.0, "id": 1554377228 }, { "city": "Auckland", "city_ascii": "Auckland", "lat": -36.8406, "lng": 174.74, "country": "New Zealand", "iso2": "NZ", "iso3": "NZL", "admin_name": "Auckland", "capital": "admin", "population": 1346091.0, "id": 1554435911 }, { "city": "Wellington", "city_ascii": "Wellington", "lat": -41.2889, "lng": 174.7772, "country": "New Zealand", "iso2": "NZ", "iso3": "NZL", "admin_name": "Wellington", "capital": "primary", "population": 418500.0, "id": 1554772152 }, { "city": "Manukau City", "city_ascii": "Manukau City", "lat": -37.0, "lng": 174.885, "country": "New Zealand", "iso2": "NZ", "iso3": "NZL", "admin_name": "Auckland", "capital": null, "population": 375600.0, "id": 1554797148 }, { "city": "Managua", "city_ascii": "Managua", "lat": 12.1544, "lng": -86.2738, "country": "Nicaragua", "iso2": "NI", "iso3": "NIC", "admin_name": "Managua", "capital": "primary", "population": 1028808.0, "id": 1558296252 }, { "city": "Niamey", "city_ascii": "Niamey", "lat": 13.515, "lng": 2.1175, "country": "Niger", "iso2": "NE", "iso3": "NER", "admin_name": "Niamey", "capital": "primary", "population": 1026848.0, "id": 1562932886 }, { "city": "Ugep", "city_ascii": "Ugep", "lat": 5.8, "lng": 8.0833, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Cross River", "capital": "minor", "population": 420000.0, "id": 1566000091 }, { "city": "Uyo", "city_ascii": "Uyo", "lat": 5.05, "lng": 7.9333, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Akwa Ibom", "capital": "admin", "population": 429900.0, "id": 1566061694 }, { "city": "Port Harcourt", "city_ascii": "Port Harcourt", "lat": 4.8242, "lng": 7.0336, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Rivers", "capital": "admin", "population": 1865000.0, "id": 1566070649 }, { "city": "Benin City", "city_ascii": "Benin City", "lat": 6.3333, "lng": 5.6222, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Edo", "capital": "admin", "population": 1147188.0, "id": 1566080151 }, { "city": "Nnewi", "city_ascii": "Nnewi", "lat": 6.0167, "lng": 6.9167, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Anambra", "capital": "minor", "population": 391227.0, "id": 1566097410 }, { "city": "Ado-Ekiti", "city_ascii": "Ado-Ekiti", "lat": 7.6167, "lng": 5.2167, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ekiti", "capital": "admin", "population": 446749.0, "id": 1566196391 }, { "city": "Shagamu", "city_ascii": "Shagamu", "lat": 6.8333, "lng": 3.65, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ogun", "capital": "minor", "population": 1132270.0, "id": 1566202131 }, { "city": "Enugu", "city_ascii": "Enugu", "lat": 6.4528, "lng": 7.5111, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Enugu", "capital": "admin", "population": 715774.0, "id": 1566212729 }, { "city": "Umuahia", "city_ascii": "Umuahia", "lat": 5.5333, "lng": 7.4833, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Abia", "capital": "admin", "population": 359230.0, "id": 1566217980 }, { "city": "Aba", "city_ascii": "Aba", "lat": 5.1167, "lng": 7.3667, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Abia", "capital": "minor", "population": 1530000.0, "id": 1566262000 }, { "city": "Zaria", "city_ascii": "Zaria", "lat": 11.0667, "lng": 7.7, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Kaduna", "capital": "minor", "population": 408198.0, "id": 1566287704 }, { "city": "Warri", "city_ascii": "Warri", "lat": 5.5167, "lng": 5.75, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Delta", "capital": "minor", "population": 830106.0, "id": 1566325734 }, { "city": "Abuja", "city_ascii": "Abuja", "lat": 9.0667, "lng": 7.4833, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Federal Capital Territory", "capital": "primary", "population": 3770000.0, "id": 1566342270 }, { "city": "Ibadan", "city_ascii": "Ibadan", "lat": 7.3964, "lng": 3.9167, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Oyo", "capital": "admin", "population": 3552000.0, "id": 1566366407 }, { "city": "Kaduna", "city_ascii": "Kaduna", "lat": 10.5167, "lng": 7.4333, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Kaduna", "capital": "admin", "population": 760084.0, "id": 1566368729 }, { "city": "Ogbomoso", "city_ascii": "Ogbomoso", "lat": 8.1333, "lng": 4.25, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Oyo", "capital": "minor", "population": 1032000.0, "id": 1566373448 }, { "city": "Gusau", "city_ascii": "Gusau", "lat": 12.15, "lng": 6.6667, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Zamfara", "capital": "admin", "population": 383162.0, "id": 1566383682 }, { "city": "Osogbo", "city_ascii": "Osogbo", "lat": 7.7667, "lng": 4.5667, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Osun", "capital": "admin", "population": 731000.0, "id": 1566395088 }, { "city": "Saki", "city_ascii": "Saki", "lat": 8.6667, "lng": 3.4, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Oyo", "capital": "minor", "population": 388225.0, "id": 1566404680 }, { "city": "Kano", "city_ascii": "Kano", "lat": 12.0, "lng": 8.5167, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Kano", "capital": "admin", "population": 3848885.0, "id": 1566422868 }, { "city": "Ilorin", "city_ascii": "Ilorin", "lat": 8.5, "lng": 4.55, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Kwara", "capital": "admin", "population": 847582.0, "id": 1566480168 }, { "city": "Bauchi", "city_ascii": "Bauchi", "lat": 10.3158, "lng": 9.8442, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Bauchi", "capital": "admin", "population": 693700.0, "id": 1566483284 }, { "city": "Ikeja", "city_ascii": "Ikeja", "lat": 6.6186, "lng": 3.3426, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Lagos", "capital": "admin", "population": 861300.0, "id": 1566486388 }, { "city": "Calabar", "city_ascii": "Calabar", "lat": 4.9767, "lng": 8.3383, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Cross River", "capital": "admin", "population": 461796.0, "id": 1566495489 }, { "city": "Maiduguri", "city_ascii": "Maiduguri", "lat": 11.8333, "lng": 13.15, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Borno", "capital": "admin", "population": 1197497.0, "id": 1566540296 }, { "city": "Agege", "city_ascii": "Agege", "lat": 6.6219, "lng": 3.3258, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Lagos", "capital": "minor", "population": 459939.0, "id": 1566564887 }, { "city": "Akure", "city_ascii": "Akure", "lat": 7.25, "lng": 5.195, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ondo", "capital": "admin", "population": 847903.0, "id": 1566568277 }, { "city": "Sokoto", "city_ascii": "Sokoto", "lat": 13.0622, "lng": 5.2339, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Sokoto", "capital": "admin", "population": 427760.0, "id": 1566574518 }, { "city": "Onitsha", "city_ascii": "Onitsha", "lat": 6.1667, "lng": 6.7833, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Anambra", "capital": "minor", "population": 1483000.0, "id": 1566593483 }, { "city": "Lagos", "city_ascii": "Lagos", "lat": 6.455, "lng": 3.3841, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Lagos", "capital": "minor", "population": 16637000.0, "id": 1566593751 }, { "city": "Somolu", "city_ascii": "Somolu", "lat": 6.5408, "lng": 3.3872, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Lagos", "capital": "minor", "population": 403569.0, "id": 1566609760 }, { "city": "Owerri", "city_ascii": "Owerri", "lat": 5.4833, "lng": 7.0333, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Imo", "capital": "admin", "population": 908109.0, "id": 1566679132 }, { "city": "Ikare", "city_ascii": "Ikare", "lat": 7.5167, "lng": 5.75, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ondo", "capital": "minor", "population": 1099931.0, "id": 1566683694 }, { "city": "Jalingo", "city_ascii": "Jalingo", "lat": 8.9195, "lng": 11.3264, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Taraba", "capital": "admin", "population": 660213.0, "id": 1566732241 }, { "city": "Ile-Ife", "city_ascii": "Ile-Ife", "lat": 7.4667, "lng": 4.5667, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Osun", "capital": "minor", "population": 501952.0, "id": 1566756897 }, { "city": "Jos", "city_ascii": "Jos", "lat": 9.9167, "lng": 8.8903, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Plateau", "capital": "admin", "population": 622802.0, "id": 1566773679 }, { "city": "Yola", "city_ascii": "Yola", "lat": 9.23, "lng": 12.46, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Adamawa", "capital": "admin", "population": 392854.0, "id": 1566782065 }, { "city": "Owo", "city_ascii": "Owo", "lat": 7.1961, "lng": 5.5864, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ondo", "capital": "minor", "population": 425700.0, "id": 1566833788 }, { "city": "Gwoza", "city_ascii": "Gwoza", "lat": 11.0861, "lng": 13.6914, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Borno", "capital": "minor", "population": 388600.0, "id": 1566834535 }, { "city": "Oyo", "city_ascii": "Oyo", "lat": 7.85, "lng": 3.933, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Oyo", "capital": "minor", "population": 386723.0, "id": 1566930579 }, { "city": "Ilesa", "city_ascii": "Ilesa", "lat": 7.6167, "lng": 4.7167, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Osun", "capital": "minor", "population": 384334.0, "id": 1566937414 }, { "city": "Abeokuta", "city_ascii": "Abeokuta", "lat": 7.1608, "lng": 3.3483, "country": "Nigeria", "iso2": "NG", "iso3": "NGA", "admin_name": "Ogun", "capital": "admin", "population": 888924.0, "id": 1566979497 }, { "city": "Oslo", "city_ascii": "Oslo", "lat": 59.9133, "lng": 10.7389, "country": "Norway", "iso2": "NO", "iso3": "NOR", "admin_name": "Oslo", "capital": "primary", "population": 1064235.0, "id": 1578324706 }, { "city": "Mardan", "city_ascii": "Mardan", "lat": 34.2012, "lng": 72.0258, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Khyber Pakhtunkhwa", "capital": "minor", "population": 358604.0, "id": 1586001546 }, { "city": "Dera Ghazi Khan", "city_ascii": "Dera Ghazi Khan", "lat": 30.0331, "lng": 70.64, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 399064.0, "id": 1586002238 }, { "city": "Gujrat", "city_ascii": "Gujrat", "lat": 32.5739, "lng": 74.0789, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 390533.0, "id": 1586006990 }, { "city": "Bahawalpur", "city_ascii": "Bahawalpur", "lat": 29.3956, "lng": 71.6836, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 762111.0, "id": 1586038700 }, { "city": "Karachi", "city_ascii": "Karachi", "lat": 24.86, "lng": 67.01, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Sindh", "capital": "admin", "population": 15738000.0, "id": 1586129469 }, { "city": "Rahimyar Khan", "city_ascii": "Rahimyar Khan", "lat": 28.42, "lng": 70.3, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": null, "population": 420419.0, "id": 1586136399 }, { "city": "Sialkot City", "city_ascii": "Sialkot City", "lat": 32.4925, "lng": 74.5311, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 655852.0, "id": 1586141444 }, { "city": "Hyderabad City", "city_ascii": "Hyderabad City", "lat": 25.3792, "lng": 68.3683, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Sindh", "capital": "minor", "population": 1732693.0, "id": 1586185019 }, { "city": "Multan", "city_ascii": "Multan", "lat": 30.1978, "lng": 71.4697, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 1871843.0, "id": 1586256291 }, { "city": "Jhang City", "city_ascii": "Jhang City", "lat": 31.2694, "lng": 72.3161, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 414131.0, "id": 1586288677 }, { "city": "Shekhupura", "city_ascii": "Shekhupura", "lat": 31.7111, "lng": 73.9878, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 473129.0, "id": 1586291726 }, { "city": "Islamabad", "city_ascii": "Islamabad", "lat": 33.6931, "lng": 73.0639, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Islamabad", "capital": "primary", "population": 1014825.0, "id": 1586306717 }, { "city": "Faisalabad", "city_ascii": "Faisalabad", "lat": 31.4167, "lng": 73.0911, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 3203846.0, "id": 1586323916 }, { "city": "Sarai Alamgir", "city_ascii": "Sarai Alamgir", "lat": 32.9, "lng": 73.75, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": null, "population": 350288.0, "id": 1586338206 }, { "city": "Cantonment", "city_ascii": "Cantonment", "lat": 31.5167, "lng": 74.3833, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": null, "population": 374872.0, "id": 1586338974 }, { "city": "Rawalpindi", "city_ascii": "Rawalpindi", "lat": 33.6, "lng": 73.0333, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 2098231.0, "id": 1586344001 }, { "city": "Sukkur", "city_ascii": "Sukkur", "lat": 27.7061, "lng": 68.8483, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Sindh", "capital": "minor", "population": 499900.0, "id": 1586383591 }, { "city": "Gujranwala", "city_ascii": "Gujranwala", "lat": 32.1567, "lng": 74.19, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 2027001.0, "id": 1586400472 }, { "city": "Chiniot", "city_ascii": "Chiniot", "lat": 31.7194, "lng": 72.9842, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 477781.0, "id": 1586413435 }, { "city": "Quetta", "city_ascii": "Quetta", "lat": 30.1833, "lng": 67.0, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Balochistan", "capital": "admin", "population": 1001205.0, "id": 1586556108 }, { "city": "Saidu Sharif", "city_ascii": "Saidu Sharif", "lat": 34.75, "lng": 72.3572, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Khyber Pakhtunkhwa", "capital": "minor", "population": 1860310.0, "id": 1586619596 }, { "city": "Larkana", "city_ascii": "Larkana", "lat": 27.5583, "lng": 68.2111, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Sindh", "capital": "minor", "population": 490508.0, "id": 1586678302 }, { "city": "Sargodha", "city_ascii": "Sargodha", "lat": 32.0836, "lng": 72.6711, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "minor", "population": 659862.0, "id": 1586696588 }, { "city": "Bhawana", "city_ascii": "Bhawana", "lat": 31.5661, "lng": 72.6461, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": null, "population": 373841.0, "id": 1586746564 }, { "city": "Lahore", "city_ascii": "Lahore", "lat": 31.5497, "lng": 74.3436, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Punjab", "capital": "admin", "population": 12306000.0, "id": 1586801463 }, { "city": "Peshawar", "city_ascii": "Peshawar", "lat": 34.0144, "lng": 71.5675, "country": "Pakistan", "iso2": "PK", "iso3": "PAK", "admin_name": "Khyber Pakhtunkhwa", "capital": "admin", "population": 1970042.0, "id": 1586851102 }, { "city": "Panama City", "city_ascii": "Panama City", "lat": 8.9833, "lng": -79.5167, "country": "Panama", "iso2": "PA", "iso3": "PAN", "admin_name": "Panamá", "capital": "primary", "population": 1500189.0, "id": 1591672475 }, { "city": "Port Moresby", "city_ascii": "Port Moresby", "lat": -9.4789, "lng": 147.1494, "country": "Papua New Guinea", "iso2": "PG", "iso3": "PNG", "admin_name": "National Capital", "capital": "primary", "population": 700000.0, "id": 1598685395 }, { "city": "Asunción", "city_ascii": "Asuncion", "lat": -25.3, "lng": -57.6333, "country": "Paraguay", "iso2": "PY", "iso3": "PRY", "admin_name": "Asunción", "capital": "primary", "population": 524190.0, "id": 1600057911 }, { "city": "Cusco", "city_ascii": "Cusco", "lat": -13.525, "lng": -71.9722, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Cusco", "capital": "admin", "population": 428450.0, "id": 1604162901 }, { "city": "Chimbote", "city_ascii": "Chimbote", "lat": -9.0745, "lng": -78.5936, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Ancash", "capital": null, "population": 497875.0, "id": 1604199858 }, { "city": "Huancayo", "city_ascii": "Huancayo", "lat": -12.0667, "lng": -75.2167, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Junín", "capital": "admin", "population": 378203.0, "id": 1604249985 }, { "city": "Piura", "city_ascii": "Piura", "lat": -5.2, "lng": -80.6333, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Piura", "capital": "admin", "population": 473025.0, "id": 1604331641 }, { "city": "Callao", "city_ascii": "Callao", "lat": -12.0333, "lng": -77.1333, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Callao", "capital": "admin", "population": 1129854.0, "id": 1604422141 }, { "city": "Iquitos", "city_ascii": "Iquitos", "lat": -3.75, "lng": -73.25, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Loreto", "capital": "admin", "population": 377609.0, "id": 1604493809 }, { "city": "Trujillo", "city_ascii": "Trujillo", "lat": -8.112, "lng": -79.0288, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "La Libertad", "capital": "admin", "population": 919899.0, "id": 1604613706 }, { "city": "Arequipa", "city_ascii": "Arequipa", "lat": -16.4, "lng": -71.5333, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Arequipa", "capital": "admin", "population": 1008290.0, "id": 1604723954 }, { "city": "Lima", "city_ascii": "Lima", "lat": -12.06, "lng": -77.0375, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Lima", "capital": "primary", "population": 10320000.0, "id": 1604728603 }, { "city": "Chiclayo", "city_ascii": "Chiclayo", "lat": -6.763, "lng": -79.8366, "country": "Peru", "iso2": "PE", "iso3": "PER", "admin_name": "Lambayeque", "capital": "admin", "population": 552508.0, "id": 1604799615 }, { "city": "Marikina City", "city_ascii": "Marikina City", "lat": 14.65, "lng": 121.1, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Marikina", "capital": "admin", "population": 456059.0, "id": 1608000077 }, { "city": "Iligan", "city_ascii": "Iligan", "lat": 8.23, "lng": 124.25, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Iligan", "capital": "admin", "population": 363115.0, "id": 1608000268 }, { "city": "Butuan", "city_ascii": "Butuan", "lat": 8.9534, "lng": 125.5288, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Butuan", "capital": "admin", "population": 372910.0, "id": 1608000722 }, { "city": "Angeles City", "city_ascii": "Angeles City", "lat": 15.1472, "lng": 120.5847, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Angeles", "capital": "admin", "population": 462928.0, "id": 1608036027 }, { "city": "Biñan", "city_ascii": "Binan", "lat": 14.3333, "lng": 121.0833, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Laguna", "capital": null, "population": 407437.0, "id": 1608039268 }, { "city": "Malabon", "city_ascii": "Malabon", "lat": 14.66, "lng": 120.96, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Malabon", "capital": "admin", "population": 380522.0, "id": 1608045841 }, { "city": "Cebu City", "city_ascii": "Cebu City", "lat": 10.32, "lng": 123.75, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cebu", "capital": "admin", "population": 964169.0, "id": 1608136151 }, { "city": "Baguio City", "city_ascii": "Baguio City", "lat": 16.4119, "lng": 120.5933, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Baguio", "capital": "admin", "population": 366358.0, "id": 1608164766 }, { "city": "Mandaluyong City", "city_ascii": "Mandaluyong City", "lat": 14.58, "lng": 121.03, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Mandaluyong", "capital": "admin", "population": 425758.0, "id": 1608166320 }, { "city": "General Santos", "city_ascii": "General Santos", "lat": 6.1167, "lng": 125.1667, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "General Santos", "capital": "admin", "population": 697315.0, "id": 1608171585 }, { "city": "Zamboanga City", "city_ascii": "Zamboanga City", "lat": 6.9042, "lng": 122.0761, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Zamboanga", "capital": "admin", "population": 977234.0, "id": 1608189351 }, { "city": "Tondo", "city_ascii": "Tondo", "lat": 14.617, "lng": 120.967, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Manila", "capital": null, "population": 654220.0, "id": 1608204201 }, { "city": "Tarlac City", "city_ascii": "Tarlac City", "lat": 15.4869, "lng": 120.59, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Tarlac", "capital": "admin", "population": 385398.0, "id": 1608237027 }, { "city": "Bacolod", "city_ascii": "Bacolod", "lat": 10.6765, "lng": 122.9509, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Bacolod", "capital": "admin", "population": 600783.0, "id": 1608244137 }, { "city": "Pasig City", "city_ascii": "Pasig City", "lat": 14.575, "lng": 121.0833, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Pasig", "capital": "admin", "population": 803159.0, "id": 1608278212 }, { "city": "Cainta", "city_ascii": "Cainta", "lat": 14.5667, "lng": 121.1167, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Rizal", "capital": null, "population": 376933.0, "id": 1608314665 }, { "city": "City of Parañaque", "city_ascii": "City of Paranaque", "lat": 14.47, "lng": 121.02, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Parañaque", "capital": "admin", "population": 689992.0, "id": 1608379532 }, { "city": "Batangas", "city_ascii": "Batangas", "lat": 13.83, "lng": 121.0, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Batangas", "capital": "admin", "population": 351437.0, "id": 1608417616 }, { "city": "Dasmariñas", "city_ascii": "Dasmarinas", "lat": 14.3294, "lng": 120.9367, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cavite", "capital": null, "population": 703141.0, "id": 1608418544 }, { "city": "Lapu-Lapu City", "city_ascii": "Lapu-Lapu City", "lat": 10.3127, "lng": 123.9488, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Lapu-Lapu", "capital": "admin", "population": 497604.0, "id": 1608430676 }, { "city": "Pasay City", "city_ascii": "Pasay City", "lat": 14.55, "lng": 121.0, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Pasay", "capital": "admin", "population": 440656.0, "id": 1608448280 }, { "city": "Muntinlupa City", "city_ascii": "Muntinlupa City", "lat": 14.38, "lng": 121.05, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Muntinlupa", "capital": "admin", "population": 543445.0, "id": 1608473406 }, { "city": "Valenzuela", "city_ascii": "Valenzuela", "lat": 14.7, "lng": 120.98, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Valenzuela", "capital": "admin", "population": 714978.0, "id": 1608492120 }, { "city": "Taytay", "city_ascii": "Taytay", "lat": 14.5692, "lng": 121.1325, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Rizal", "capital": null, "population": 386451.0, "id": 1608530771 }, { "city": "Rodriguez", "city_ascii": "Rodriguez", "lat": 14.7167, "lng": 121.1167, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Rizal", "capital": null, "population": 443954.0, "id": 1608543530 }, { "city": "Las Piñas City", "city_ascii": "Las Pinas City", "lat": 14.45, "lng": 120.98, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Las Piñas", "capital": null, "population": 606293.0, "id": 1608544537 }, { "city": "Santa Rosa", "city_ascii": "Santa Rosa", "lat": 14.3167, "lng": 121.1167, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Laguna", "capital": null, "population": 414812.0, "id": 1608571683 }, { "city": "Cabuyao", "city_ascii": "Cabuyao", "lat": 14.275, "lng": 121.125, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Laguna", "capital": null, "population": 355330.0, "id": 1608604441 }, { "city": "Lipa City", "city_ascii": "Lipa City", "lat": 13.9411, "lng": 121.1622, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Batangas", "capital": null, "population": 372931.0, "id": 1608615113 }, { "city": "Manila", "city_ascii": "Manila", "lat": 14.5958, "lng": 120.9772, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Manila", "capital": "primary", "population": 24922000.0, "id": 1608618140 }, { "city": "Canagatan", "city_ascii": "Canagatan", "lat": 18.0, "lng": 121.8, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cagayan", "capital": null, "population": 1273219.0, "id": 1608697675 }, { "city": "Makati City", "city_ascii": "Makati City", "lat": 14.5567, "lng": 121.0214, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Makati", "capital": "admin", "population": 629616.0, "id": 1608725647 }, { "city": "Taguig City", "city_ascii": "Taguig City", "lat": 14.52, "lng": 121.05, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Taguig", "capital": "admin", "population": 886722.0, "id": 1608766695 }, { "city": "Mandaue City", "city_ascii": "Mandaue City", "lat": 10.3333, "lng": 123.9333, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Mandaue", "capital": "admin", "population": 364116.0, "id": 1608794590 }, { "city": "Imus", "city_ascii": "Imus", "lat": 14.4297, "lng": 120.9367, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cavite", "capital": null, "population": 496794.0, "id": 1608802508 }, { "city": "Antipolo", "city_ascii": "Antipolo", "lat": 14.5842, "lng": 121.1763, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Rizal", "capital": "admin", "population": 887399.0, "id": 1608824345 }, { "city": "General Trias", "city_ascii": "General Trias", "lat": 14.3833, "lng": 120.8833, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cavite", "capital": null, "population": 450583.0, "id": 1608826995 }, { "city": "Cagayan de Oro", "city_ascii": "Cagayan de Oro", "lat": 8.4833, "lng": 124.65, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cagayan de Oro", "capital": "admin", "population": 728402.0, "id": 1608831546 }, { "city": "San Jose del Monte", "city_ascii": "San Jose del Monte", "lat": 14.8139, "lng": 121.0453, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Bulacan", "capital": null, "population": 651813.0, "id": 1608850554 }, { "city": "San Fernando", "city_ascii": "San Fernando", "lat": 15.0333, "lng": 120.6833, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Pampanga", "capital": "admin", "population": 354666.0, "id": 1608862124 }, { "city": "Bacoor", "city_ascii": "Bacoor", "lat": 14.4624, "lng": 120.9645, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Cavite", "capital": null, "population": 664625.0, "id": 1608869358 }, { "city": "Iloilo", "city_ascii": "Iloilo", "lat": 10.7167, "lng": 122.5667, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Iloilo", "capital": "admin", "population": 457626.0, "id": 1608875987 }, { "city": "Caloocan City", "city_ascii": "Caloocan City", "lat": 14.65, "lng": 120.97, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Caloocan", "capital": "admin", "population": 1661584.0, "id": 1608897690 }, { "city": "Davao", "city_ascii": "Davao", "lat": 7.0667, "lng": 125.6, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Davao", "capital": "admin", "population": 1776949.0, "id": 1608906877 }, { "city": "Quezon City", "city_ascii": "Quezon City", "lat": 14.63, "lng": 121.03, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Quezon", "capital": "admin", "population": 2960048.0, "id": 1608974097 }, { "city": "City of Calamba", "city_ascii": "City of Calamba", "lat": 14.2167, "lng": 121.1667, "country": "Philippines", "iso2": "PH", "iso3": "PHL", "admin_name": "Laguna", "capital": null, "population": 539671.0, "id": 1608985581 }, { "city": "Warsaw", "city_ascii": "Warsaw", "lat": 52.23, "lng": 21.0111, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Mazowieckie", "capital": "primary", "population": 1860281.0, "id": 1616024847 }, { "city": "Wrocław", "city_ascii": "Wroclaw", "lat": 51.11, "lng": 17.0325, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Dolnośląskie", "capital": "admin", "population": 672929.0, "id": 1616108520 }, { "city": "Kraków", "city_ascii": "Krakow", "lat": 50.0614, "lng": 19.9372, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Małopolskie", "capital": "admin", "population": 800653.0, "id": 1616172264 }, { "city": "Szczecin", "city_ascii": "Szczecin", "lat": 53.4325, "lng": 14.5481, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Zachodniopomorskie", "capital": "admin", "population": 403833.0, "id": 1616256546 }, { "city": "Gdańsk", "city_ascii": "Gdansk", "lat": 54.3475, "lng": 18.6453, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Pomorskie", "capital": "admin", "population": 486022.0, "id": 1616406372 }, { "city": "Bydgoszcz", "city_ascii": "Bydgoszcz", "lat": 53.1219, "lng": 18.0003, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Kujawsko-Pomorskie", "capital": "admin", "population": 346739.0, "id": 1616454014 }, { "city": "Poznań", "city_ascii": "Poznan", "lat": 52.4083, "lng": 16.9336, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Wielkopolskie", "capital": "admin", "population": 546859.0, "id": 1616725607 }, { "city": "Łódź", "city_ascii": "Lodz", "lat": 51.7769, "lng": 19.4547, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Łódzkie", "capital": "admin", "population": 690422.0, "id": 1616832750 }, { "city": "Lublin", "city_ascii": "Lublin", "lat": 51.25, "lng": 22.5667, "country": "Poland", "iso2": "PL", "iso3": "POL", "admin_name": "Lubelskie", "capital": "admin", "population": 339850.0, "id": 1616953501 }, { "city": "Porto", "city_ascii": "Porto", "lat": 41.1621, "lng": -8.622, "country": "Portugal", "iso2": "PT", "iso3": "PRT", "admin_name": "Porto", "capital": "admin", "population": 1278210.0, "id": 1620356810 }, { "city": "Aves", "city_ascii": "Aves", "lat": 41.44, "lng": -8.3, "country": "Portugal", "iso2": "PT", "iso3": "PRT", "admin_name": "Porto", "capital": null, "population": 425411.0, "id": 1620507201 }, { "city": "Lisbon", "city_ascii": "Lisbon", "lat": 38.7253, "lng": -9.15, "country": "Portugal", "iso2": "PT", "iso3": "PRT", "admin_name": "Lisboa", "capital": "primary", "population": 2719000.0, "id": 1620619017 }, { "city": "Sintra", "city_ascii": "Sintra", "lat": 38.7992, "lng": -9.3883, "country": "Portugal", "iso2": "PT", "iso3": "PRT", "admin_name": "Lisboa", "capital": "minor", "population": 377835.0, "id": 1620848791 }, { "city": "Bissau", "city_ascii": "Bissau", "lat": 11.85, "lng": -15.5667, "country": "Guinea-Bissau", "iso2": "GW", "iso3": "GNB", "admin_name": "Bissau", "capital": "primary", "population": 492004.0, "id": 1624168850 }, { "city": "San Juan", "city_ascii": "San Juan", "lat": 18.3985, "lng": -66.061, "country": "Puerto Rico", "iso2": "PR", "iso3": "PRI", "admin_name": "Puerto Rico", "capital": "primary", "population": 1915105.0, "id": 1630035577 }, { "city": "Ar Rayyān", "city_ascii": "Ar Rayyan", "lat": 25.25, "lng": 51.4, "country": "Qatar", "iso2": "QA", "iso3": "QAT", "admin_name": "Ar Rayyān", "capital": "admin", "population": 605712.0, "id": 1634097551 }, { "city": "Doha", "city_ascii": "Doha", "lat": 25.2867, "lng": 51.5333, "country": "Qatar", "iso2": "QA", "iso3": "QAT", "admin_name": "Ad Dawḩah", "capital": "primary", "population": 1186023.0, "id": 1634459660 }, { "city": "Bucharest", "city_ascii": "Bucharest", "lat": 44.4325, "lng": 26.1039, "country": "Romania", "iso2": "RO", "iso3": "ROU", "admin_name": "Bucureşti", "capital": "primary", "population": 1883425.0, "id": 1642414442 }, { "city": "Surgut", "city_ascii": "Surgut", "lat": 61.25, "lng": 73.4333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Khanty-Mansiyskiy Avtonomnyy Okrug-Yugra", "capital": null, "population": 395900.0, "id": 1643007475 }, { "city": "Naberezhnyye Chelny", "city_ascii": "Naberezhnyye Chelny", "lat": 55.7, "lng": 52.3333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tatarstan", "capital": null, "population": 533839.0, "id": 1643008493 }, { "city": "Sochi", "city_ascii": "Sochi", "lat": 43.5853, "lng": 39.7203, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Krasnodarskiy Kray", "capital": null, "population": 411524.0, "id": 1643009782 }, { "city": "Kursk", "city_ascii": "Kursk", "lat": 51.7167, "lng": 36.1833, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kurskaya Oblast’", "capital": "admin", "population": 450977.0, "id": 1643011077 }, { "city": "Nizhniy Novgorod", "city_ascii": "Nizhniy Novgorod", "lat": 56.3269, "lng": 44.0075, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Nizhegorodskaya Oblast’", "capital": "admin", "population": 1264075.0, "id": 1643012126 }, { "city": "Rostov", "city_ascii": "Rostov", "lat": 47.2333, "lng": 39.7, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Rostovskaya Oblast’", "capital": "admin", "population": 1137704.0, "id": 1643013518 }, { "city": "Chita", "city_ascii": "Chita", "lat": 52.0333, "lng": 113.5, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Zabaykal’skiy Kray", "capital": "admin", "population": 347088.0, "id": 1643036673 }, { "city": "Tyumen", "city_ascii": "Tyumen", "lat": 57.15, "lng": 65.5333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tyumenskaya Oblast’", "capital": "admin", "population": 744554.0, "id": 1643040435 }, { "city": "Kazan", "city_ascii": "Kazan", "lat": 55.7964, "lng": 49.1089, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tatarstan", "capital": "admin", "population": 1243500.0, "id": 1643101260 }, { "city": "Kirov", "city_ascii": "Kirov", "lat": 58.6, "lng": 49.65, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kirovskaya Oblast’", "capital": "admin", "population": 501468.0, "id": 1643106064 }, { "city": "Kaluga", "city_ascii": "Kaluga", "lat": 54.5333, "lng": 36.2667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kaluzhskaya Oblast’", "capital": "admin", "population": 341892.0, "id": 1643161747 }, { "city": "Cheboksary", "city_ascii": "Cheboksary", "lat": 56.1333, "lng": 47.25, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Chuvashiya", "capital": "admin", "population": 489498.0, "id": 1643163382 }, { "city": "Khabarovsk", "city_ascii": "Khabarovsk", "lat": 48.4833, "lng": 135.0667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Khabarovskiy Kray", "capital": "admin", "population": 616242.0, "id": 1643175363 }, { "city": "Kaliningrad", "city_ascii": "Kaliningrad", "lat": 54.7003, "lng": 20.4531, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kaliningradskaya Oblast’", "capital": "admin", "population": 475056.0, "id": 1643178106 }, { "city": "Samara", "city_ascii": "Samara", "lat": 53.2028, "lng": 50.1408, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Samarskaya Oblast’", "capital": "admin", "population": 1169719.0, "id": 1643205757 }, { "city": "Ryazan", "city_ascii": "Ryazan", "lat": 54.63, "lng": 39.7425, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Ryazanskaya Oblast’", "capital": "admin", "population": 537622.0, "id": 1643205787 }, { "city": "Bryansk", "city_ascii": "Bryansk", "lat": 53.25, "lng": 34.3667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Bryanskaya Oblast’", "capital": "admin", "population": 406553.0, "id": 1643208827 }, { "city": "Kemerovo", "city_ascii": "Kemerovo", "lat": 55.3667, "lng": 86.0667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kemerovskaya Oblast’", "capital": "admin", "population": 558973.0, "id": 1643216311 }, { "city": "Chelyabinsk", "city_ascii": "Chelyabinsk", "lat": 55.15, "lng": 61.4, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Chelyabinskaya Oblast’", "capital": "admin", "population": 1202371.0, "id": 1643224011 }, { "city": "Tula", "city_ascii": "Tula", "lat": 54.2, "lng": 37.6167, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tul’skaya Oblast’", "capital": "admin", "population": 485221.0, "id": 1643255206 }, { "city": "Tolyatti", "city_ascii": "Tolyatti", "lat": 53.5089, "lng": 49.4222, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Samarskaya Oblast’", "capital": null, "population": 693072.0, "id": 1643256295 }, { "city": "Tomsk", "city_ascii": "Tomsk", "lat": 56.4886, "lng": 84.9522, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tomskaya Oblast’", "capital": "admin", "population": 572740.0, "id": 1643258928 }, { "city": "Perm", "city_ascii": "Perm", "lat": 58.0139, "lng": 56.2489, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Permskiy Kray", "capital": "admin", "population": 1048005.0, "id": 1643294442 }, { "city": "Ivanovo", "city_ascii": "Ivanovo", "lat": 57.0, "lng": 41.0, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Ivanovskaya Oblast’", "capital": "admin", "population": 406933.0, "id": 1643297945 }, { "city": "Moscow", "city_ascii": "Moscow", "lat": 55.7558, "lng": 37.6178, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Moskva", "capital": "primary", "population": 17332000.0, "id": 1643318494 }, { "city": "Barnaul", "city_ascii": "Barnaul", "lat": 53.3333, "lng": 83.75, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Altayskiy Kray", "capital": "admin", "population": 633301.0, "id": 1643318931 }, { "city": "Yaroslavl", "city_ascii": "Yaroslavl", "lat": 57.6167, "lng": 39.85, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Yaroslavskaya Oblast’", "capital": "admin", "population": 608079.0, "id": 1643338528 }, { "city": "Omsk", "city_ascii": "Omsk", "lat": 54.9667, "lng": 73.3833, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Omskaya Oblast’", "capital": "admin", "population": 1178391.0, "id": 1643360863 }, { "city": "Novosibirsk", "city_ascii": "Novosibirsk", "lat": 55.0333, "lng": 82.9167, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Novosibirskaya Oblast’", "capital": "admin", "population": 1625631.0, "id": 1643399240 }, { "city": "Belgorod", "city_ascii": "Belgorod", "lat": 50.6, "lng": 36.6, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Belgorodskaya Oblast’", "capital": "admin", "population": 391702.0, "id": 1643407900 }, { "city": "Astrakhan", "city_ascii": "Astrakhan", "lat": 46.35, "lng": 48.035, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Astrakhanskaya Oblast’", "capital": "admin", "population": 532504.0, "id": 1643407929 }, { "city": "Krasnodar", "city_ascii": "Krasnodar", "lat": 45.0333, "lng": 38.9667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Krasnodarskiy Kray", "capital": "admin", "population": 948827.0, "id": 1643438227 }, { "city": "Irkutsk", "city_ascii": "Irkutsk", "lat": 52.2833, "lng": 104.2833, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Irkutskaya Oblast’", "capital": "admin", "population": 623736.0, "id": 1643439037 }, { "city": "Tver", "city_ascii": "Tver", "lat": 56.8578, "lng": 35.9219, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Tverskaya Oblast’", "capital": "admin", "population": 424969.0, "id": 1643456559 }, { "city": "Penza", "city_ascii": "Penza", "lat": 53.2, "lng": 45.0, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Penzenskaya Oblast’", "capital": "admin", "population": 523726.0, "id": 1643492830 }, { "city": "Krasnoyarsk", "city_ascii": "Krasnoyarsk", "lat": 56.0089, "lng": 92.8719, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Krasnoyarskiy Kray", "capital": "admin", "population": 1083865.0, "id": 1643544975 }, { "city": "Saratov", "city_ascii": "Saratov", "lat": 51.5333, "lng": 46.0167, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Saratovskaya Oblast’", "capital": "admin", "population": 845300.0, "id": 1643556540 }, { "city": "Volgograd", "city_ascii": "Volgograd", "lat": 48.7086, "lng": 44.5147, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Volgogradskaya Oblast’", "capital": "admin", "population": 1015586.0, "id": 1643577201 }, { "city": "Makhachkala", "city_ascii": "Makhachkala", "lat": 42.9833, "lng": 47.4833, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Dagestan", "capital": "admin", "population": 592976.0, "id": 1643580480 }, { "city": "Yekaterinburg", "city_ascii": "Yekaterinburg", "lat": 56.8356, "lng": 60.6128, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Sverdlovskaya Oblast’", "capital": "admin", "population": 1468833.0, "id": 1643582706 }, { "city": "Saint Petersburg", "city_ascii": "Saint Petersburg", "lat": 59.95, "lng": 30.3167, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Sankt-Peterburg", "capital": "admin", "population": 5384342.0, "id": 1643616350 }, { "city": "Novokuznetsk", "city_ascii": "Novokuznetsk", "lat": 53.7667, "lng": 87.1333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Kemerovskaya Oblast’", "capital": null, "population": 552105.0, "id": 1643628717 }, { "city": "Ulyanovsk", "city_ascii": "Ulyanovsk", "lat": 54.3167, "lng": 48.3667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Ul’yanovskaya Oblast’", "capital": "admin", "population": 624518.0, "id": 1643668944 }, { "city": "Orenburg", "city_ascii": "Orenburg", "lat": 51.7667, "lng": 55.1, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Orenburgskaya Oblast’", "capital": "admin", "population": 564773.0, "id": 1643685056 }, { "city": "Vladimir", "city_ascii": "Vladimir", "lat": 56.1286, "lng": 40.4058, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Vladimirskaya Oblast’", "capital": "admin", "population": 356168.0, "id": 1643712167 }, { "city": "Ufa", "city_ascii": "Ufa", "lat": 54.7261, "lng": 55.9475, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Bashkortostan", "capital": "admin", "population": 1115560.0, "id": 1643722928 }, { "city": "Lipetsk", "city_ascii": "Lipetsk", "lat": 52.6167, "lng": 39.6, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Lipetskaya Oblast’", "capital": "admin", "population": 510439.0, "id": 1643772906 }, { "city": "Ulan-Ude", "city_ascii": "Ulan-Ude", "lat": 51.8272, "lng": 107.6064, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Buryatiya", "capital": "admin", "population": 439128.0, "id": 1643774900 }, { "city": "Arkhangelsk", "city_ascii": "Arkhangelsk", "lat": 64.55, "lng": 40.5333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Arkhangel’skaya Oblast’", "capital": "admin", "population": 351488.0, "id": 1643797198 }, { "city": "Voronezh", "city_ascii": "Voronezh", "lat": 51.6717, "lng": 39.2106, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Voronezhskaya Oblast’", "capital": "admin", "population": 1050602.0, "id": 1643811064 }, { "city": "Vladivostok", "city_ascii": "Vladivostok", "lat": 43.1333, "lng": 131.9, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Primorskiy Kray", "capital": "admin", "population": 606589.0, "id": 1643832017 }, { "city": "Stavropol", "city_ascii": "Stavropol", "lat": 45.05, "lng": 41.9833, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Stavropol’skiy Kray", "capital": "admin", "population": 450680.0, "id": 1643947228 }, { "city": "Izhevsk", "city_ascii": "Izhevsk", "lat": 56.85, "lng": 53.2167, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Udmurtiya", "capital": "admin", "population": 646277.0, "id": 1643983138 }, { "city": "Magnitogorsk", "city_ascii": "Magnitogorsk", "lat": 53.3833, "lng": 59.0333, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Chelyabinskaya Oblast’", "capital": null, "population": 418241.0, "id": 1643987830 }, { "city": "Balashikha", "city_ascii": "Balashikha", "lat": 55.8167, "lng": 37.9667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Moskovskaya Oblast’", "capital": null, "population": 468221.0, "id": 1643989845 }, { "city": "Nizhniy Tagil", "city_ascii": "Nizhniy Tagil", "lat": 57.9167, "lng": 59.9667, "country": "Russia", "iso2": "RU", "iso3": "RUS", "admin_name": "Sverdlovskaya Oblast’", "capital": null, "population": 355693.0, "id": 1643992310 }, { "city": "Kigali", "city_ascii": "Kigali", "lat": -1.9536, "lng": 30.0606, "country": "Rwanda", "iso2": "RW", "iso3": "RWA", "admin_name": "Kigali", "capital": "primary", "population": 1156663.0, "id": 1646923541 }, { "city": "Al Qaţīf", "city_ascii": "Al Qatif", "lat": 26.556, "lng": 49.996, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ash Sharqīyah", "capital": null, "population": 524182.0, "id": 1682001245 }, { "city": "Mecca", "city_ascii": "Mecca", "lat": 21.4225, "lng": 39.8233, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Makkah al Mukarramah", "capital": "admin", "population": 1675368.0, "id": 1682169241 }, { "city": "Ḩā’il", "city_ascii": "Ha'il", "lat": 27.5167, "lng": 41.6833, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ḩā’il", "capital": "admin", "population": 385257.0, "id": 1682249750 }, { "city": "Medina", "city_ascii": "Medina", "lat": 24.47, "lng": 39.61, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Al Madīnah al Munawwarah", "capital": "admin", "population": 1180770.0, "id": 1682345785 }, { "city": "Ḩafr al Bāţin", "city_ascii": "Hafr al Batin", "lat": 28.4342, "lng": 45.9636, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ash Sharqīyah", "capital": null, "population": 600000.0, "id": 1682394909 }, { "city": "Ad Dammām", "city_ascii": "Ad Dammam", "lat": 26.4333, "lng": 50.1, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ash Sharqīyah", "capital": "admin", "population": 903312.0, "id": 1682452296 }, { "city": "Buraydah", "city_ascii": "Buraydah", "lat": 26.3333, "lng": 43.9667, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Al Qaşīm", "capital": "admin", "population": 467410.0, "id": 1682470726 }, { "city": "Al Ḩillah", "city_ascii": "Al Hillah", "lat": 23.4895, "lng": 46.7564, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ar Riyāḑ", "capital": null, "population": 594605.0, "id": 1682494753 }, { "city": "Al Jubayl", "city_ascii": "Al Jubayl", "lat": 27.0, "lng": 49.6544, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ash Sharqīyah", "capital": null, "population": 392948.0, "id": 1682564079 }, { "city": "Tabūk", "city_ascii": "Tabuk", "lat": 28.3972, "lng": 36.5789, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Tabūk", "capital": "admin", "population": 547957.0, "id": 1682590992 }, { "city": "Jeddah", "city_ascii": "Jeddah", "lat": 21.5433, "lng": 39.1728, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Makkah al Mukarramah", "capital": null, "population": 3976000.0, "id": 1682926944 }, { "city": "Al Kharj", "city_ascii": "Al Kharj", "lat": 24.1483, "lng": 47.305, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ar Riyāḑ", "capital": null, "population": 376325.0, "id": 1682947408 }, { "city": "Aţ Ţā’if", "city_ascii": "At Ta'if", "lat": 21.2751, "lng": 40.4062, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Makkah al Mukarramah", "capital": null, "population": 579970.0, "id": 1682956102 }, { "city": "Al Hufūf", "city_ascii": "Al Hufuf", "lat": 25.3833, "lng": 49.5833, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ash Sharqīyah", "capital": null, "population": 660788.0, "id": 1682958157 }, { "city": "Riyadh", "city_ascii": "Riyadh", "lat": 24.6333, "lng": 46.7167, "country": "Saudi Arabia", "iso2": "SA", "iso3": "SAU", "admin_name": "Ar Riyāḑ", "capital": "primary", "population": 7237000.0, "id": 1682999334 }, { "city": "Pikine", "city_ascii": "Pikine", "lat": 14.75, "lng": -17.4, "country": "Senegal", "iso2": "SN", "iso3": "SEN", "admin_name": "Dakar", "capital": null, "population": 1170791.0, "id": 1686165071 }, { "city": "Thiès", "city_ascii": "Thies", "lat": 14.7833, "lng": -16.9167, "country": "Senegal", "iso2": "SN", "iso3": "SEN", "admin_name": "Thiès", "capital": "admin", "population": 394544.0, "id": 1686527948 }, { "city": "Dakar", "city_ascii": "Dakar", "lat": 14.6928, "lng": -17.4467, "country": "Senegal", "iso2": "SN", "iso3": "SEN", "admin_name": "Dakar", "capital": "primary", "population": 1438725.0, "id": 1686604760 }, { "city": "Touba", "city_ascii": "Touba", "lat": 14.8667, "lng": -15.8833, "country": "Senegal", "iso2": "SN", "iso3": "SEN", "admin_name": "Diourbel", "capital": null, "population": 529176.0, "id": 1686956738 }, { "city": "Novi Sad", "city_ascii": "Novi Sad", "lat": 45.2542, "lng": 19.8425, "country": "Serbia", "iso2": "RS", "iso3": "SRB", "admin_name": "Novi Sad", "capital": "admin", "population": 380000.0, "id": 1688169087 }, { "city": "Belgrade", "city_ascii": "Belgrade", "lat": 44.82, "lng": 20.46, "country": "Serbia", "iso2": "RS", "iso3": "SRB", "admin_name": "Beograd", "capital": "primary", "population": 1378682.0, "id": 1688374696 }, { "city": "Freetown", "city_ascii": "Freetown", "lat": 8.4844, "lng": -13.2344, "country": "Sierra Leone", "iso2": "SL", "iso3": "SLE", "admin_name": "Western Area", "capital": "primary", "population": 951000.0, "id": 1694085071 }, { "city": "Singapore", "city_ascii": "Singapore", "lat": 1.3, "lng": 103.8, "country": "Singapore", "iso2": "SG", "iso3": "SGP", "admin_name": null, "capital": "primary", "population": 5983000.0, "id": 1702341327 }, { "city": "Bratislava", "city_ascii": "Bratislava", "lat": 48.1439, "lng": 17.1097, "country": "Slovakia", "iso2": "SK", "iso3": "SVK", "admin_name": "Bratislava", "capital": "primary", "population": 475503.0, "id": 1703195001 }, { "city": "Haiphong", "city_ascii": "Haiphong", "lat": 20.8651, "lng": 106.6838, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hải Phòng", "capital": "admin", "population": 2103500.0, "id": 1704000623 }, { "city": "Huế", "city_ascii": "Hue", "lat": 16.4667, "lng": 107.5792, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Thừa Thiên-Huế", "capital": "admin", "population": 652572.0, "id": 1704016023 }, { "city": "Thanh Hóa", "city_ascii": "Thanh Hoa", "lat": 19.8075, "lng": 105.7764, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Thanh Hóa", "capital": "admin", "population": 393294.0, "id": 1704016079 }, { "city": "Bắc Ninh", "city_ascii": "Bac Ninh", "lat": 21.1833, "lng": 106.05, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Bắc Ninh", "capital": "admin", "population": 520000.0, "id": 1704025181 }, { "city": "Thủ Đức", "city_ascii": "Thu Duc", "lat": 10.8266, "lng": 106.7609, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hồ Chí Minh", "capital": "minor", "population": 1013795.0, "id": 1704361621 }, { "city": "Hanoi", "city_ascii": "Hanoi", "lat": 21.0283, "lng": 105.8542, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hà Nội", "capital": "primary", "population": 8246600.0, "id": 1704413791 }, { "city": "Nha Trang", "city_ascii": "Nha Trang", "lat": 12.245, "lng": 109.1917, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Khánh Hòa", "capital": "admin", "population": 392279.0, "id": 1704497901 }, { "city": "Buôn Ma Thuột", "city_ascii": "Buon Ma Thuot", "lat": 12.6667, "lng": 108.05, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Đắk Lắk", "capital": "admin", "population": 340000.0, "id": 1704542086 }, { "city": "Vũng Tàu", "city_ascii": "Vung Tau", "lat": 10.3833, "lng": 107.1167, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Bà Rịa-Vũng Tàu", "capital": "admin", "population": 341552.0, "id": 1704581438 }, { "city": "Tân An", "city_ascii": "Tan An", "lat": 10.905, "lng": 106.6994, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hồ Chí Minh", "capital": null, "population": 618984.0, "id": 1704599287 }, { "city": "Ho Chi Minh City", "city_ascii": "Ho Chi Minh City", "lat": 10.7756, "lng": 106.7019, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hồ Chí Minh", "capital": "admin", "population": 15136000.0, "id": 1704774326 }, { "city": "Cần Thơ", "city_ascii": "Can Tho", "lat": 10.0333, "lng": 105.7833, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Cần Thơ", "capital": "admin", "population": 1237300.0, "id": 1704783472 }, { "city": "Biên Hòa", "city_ascii": "Bien Hoa", "lat": 10.95, "lng": 106.8167, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Đồng Nai", "capital": "admin", "population": 1104000.0, "id": 1704863046 }, { "city": "Thủ Dầu Một", "city_ascii": "Thu Dau Mot", "lat": 10.9667, "lng": 106.65, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Bình Dương", "capital": "admin", "population": 417000.0, "id": 1704890399 }, { "city": "Nam Định", "city_ascii": "Nam Dinh", "lat": 20.42, "lng": 106.1683, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Nam Định", "capital": "admin", "population": 352108.0, "id": 1704906277 }, { "city": "Hải Dương", "city_ascii": "Hai Duong", "lat": 20.9397, "lng": 106.3306, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Hải Dương", "capital": "admin", "population": 507469.0, "id": 1704909566 }, { "city": "Vinh", "city_ascii": "Vinh", "lat": 18.6667, "lng": 105.6667, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Nghệ An", "capital": "admin", "population": 490000.0, "id": 1704960059 }, { "city": "Quảng Hà", "city_ascii": "Quang Ha", "lat": 15.9333, "lng": 108.2667, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Quảng Nam", "capital": null, "population": 1000000.0, "id": 1704966442 }, { "city": "Tân Uyên", "city_ascii": "Tan Uyen", "lat": 11.0508, "lng": 106.7636, "country": "Vietnam", "iso2": "VN", "iso3": "VNM", "admin_name": "Bình Dương", "capital": "minor", "population": 466053.0, "id": 1704985934 }, { "city": "Boosaaso", "city_ascii": "Boosaaso", "lat": 11.2886, "lng": 49.1819, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Bari", "capital": "admin", "population": 2000000.0, "id": 1706054548 }, { "city": "Gaalkacyo", "city_ascii": "Gaalkacyo", "lat": 6.7697, "lng": 47.4308, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Mudug", "capital": "admin", "population": 950000.0, "id": 1706067930 }, { "city": "Kismaayo", "city_ascii": "Kismaayo", "lat": -0.3581, "lng": 42.5453, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Jubbada Hoose", "capital": "admin", "population": 358000.0, "id": 1706091701 }, { "city": "Marka", "city_ascii": "Marka", "lat": 1.6833, "lng": 44.75, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Shabeellaha Hoose", "capital": "admin", "population": 499000.0, "id": 1706165964 }, { "city": "Buurhakaba", "city_ascii": "Buurhakaba", "lat": 2.7833, "lng": 44.0833, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Bay", "capital": "minor", "population": 360795.0, "id": 1706176225 }, { "city": "Burco", "city_ascii": "Burco", "lat": 9.5279, "lng": 45.5345, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Togdheer", "capital": "admin", "population": 750211.0, "id": 1706322754 }, { "city": "Qardho", "city_ascii": "Qardho", "lat": 9.5, "lng": 49.0833, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Bari", "capital": null, "population": 365000.0, "id": 1706405003 }, { "city": "Cadaado", "city_ascii": "Cadaado", "lat": 6.1403, "lng": 46.6256, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Galguduud", "capital": null, "population": 534023.0, "id": 1706406560 }, { "city": "Garoowe", "city_ascii": "Garoowe", "lat": 8.4, "lng": 48.4667, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Nugaal", "capital": "admin", "population": 385000.0, "id": 1706512367 }, { "city": "Baidoa", "city_ascii": "Baidoa", "lat": 3.1167, "lng": 43.65, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Bay", "capital": "admin", "population": 950000.0, "id": 1706563100 }, { "city": "Baardheere", "city_ascii": "Baardheere", "lat": 2.3333, "lng": 42.2833, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Gedo", "capital": null, "population": 755500.0, "id": 1706822684 }, { "city": "Hargeysa", "city_ascii": "Hargeysa", "lat": 9.5631, "lng": 44.0675, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Woqooyi Galbeed", "capital": "admin", "population": 1200000.0, "id": 1706832021 }, { "city": "Berbera", "city_ascii": "Berbera", "lat": 10.4356, "lng": 45.0164, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Woqooyi Galbeed", "capital": null, "population": 478000.0, "id": 1706893125 }, { "city": "Mogadishu", "city_ascii": "Mogadishu", "lat": 2.0392, "lng": 45.3419, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Banaadir", "capital": "primary", "population": 4249083.0, "id": 1706893395 }, { "city": "Ceel Baraf", "city_ascii": "Ceel Baraf", "lat": 3.2073, "lng": 45.7587, "country": "Somalia", "iso2": "SO", "iso3": "SOM", "admin_name": "Shabeellaha Dhexe", "capital": null, "population": 384630.0, "id": 1706959191 }, { "city": "Newcastle", "city_ascii": "Newcastle", "lat": -27.7464, "lng": 29.9328, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "KwaZulu-Natal", "capital": null, "population": 363236.0, "id": 1710031016 }, { "city": "Durban", "city_ascii": "Durban", "lat": -29.8833, "lng": 31.05, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "KwaZulu-Natal", "capital": null, "population": 595061.0, "id": 1710149138 }, { "city": "Pretoria", "city_ascii": "Pretoria", "lat": -25.7461, "lng": 28.1881, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Gauteng", "capital": "primary", "population": 741651.0, "id": 1710176249 }, { "city": "Vereeniging", "city_ascii": "Vereeniging", "lat": -26.6736, "lng": 27.9319, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Gauteng", "capital": null, "population": 1074000.0, "id": 1710271883 }, { "city": "Kimberley", "city_ascii": "Kimberley", "lat": -28.7383, "lng": 24.7639, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Northern Cape", "capital": "admin", "population": 500757.0, "id": 1710282622 }, { "city": "Rustenburg", "city_ascii": "Rustenburg", "lat": -25.6667, "lng": 27.2428, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "North West", "capital": null, "population": 549575.0, "id": 1710326039 }, { "city": "Welkom", "city_ascii": "Welkom", "lat": -27.9831, "lng": 26.7208, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Free State", "capital": null, "population": 431944.0, "id": 1710480365 }, { "city": "Johannesburg", "city_ascii": "Johannesburg", "lat": -26.2044, "lng": 28.0456, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Gauteng", "capital": "admin", "population": 8000000.0, "id": 1710550792 }, { "city": "Soweto", "city_ascii": "Soweto", "lat": -26.2678, "lng": 27.8585, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Gauteng", "capital": null, "population": 1271628.0, "id": 1710627007 }, { "city": "Cape Town", "city_ascii": "Cape Town", "lat": -33.9253, "lng": 18.4239, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Western Cape", "capital": "primary", "population": 433688.0, "id": 1710680650 }, { "city": "Pietermaritzburg", "city_ascii": "Pietermaritzburg", "lat": -29.6167, "lng": 30.3833, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "KwaZulu-Natal", "capital": "admin", "population": 750845.0, "id": 1710690280 }, { "city": "Khayelitsha", "city_ascii": "Khayelitsha", "lat": -34.0403, "lng": 18.6778, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Western Cape", "capital": null, "population": 391749.0, "id": 1710736316 }, { "city": "Katlehong", "city_ascii": "Katlehong", "lat": -26.3333, "lng": 28.15, "country": "South Africa", "iso2": "ZA", "iso3": "ZAF", "admin_name": "Gauteng", "capital": null, "population": 467890.0, "id": 1710975690 }, { "city": "Bulawayo", "city_ascii": "Bulawayo", "lat": -20.17, "lng": 28.58, "country": "Zimbabwe", "iso2": "ZW", "iso3": "ZWE", "admin_name": "Bulawayo", "capital": "admin", "population": 653337.0, "id": 1716032632 }, { "city": "Harare", "city_ascii": "Harare", "lat": -17.8292, "lng": 31.0522, "country": "Zimbabwe", "iso2": "ZW", "iso3": "ZWE", "admin_name": "Harare", "capital": "primary", "population": 2150000.0, "id": 1716196799 }, { "city": "Chitungwiza", "city_ascii": "Chitungwiza", "lat": -17.9939, "lng": 31.0481, "country": "Zimbabwe", "iso2": "ZW", "iso3": "ZWE", "admin_name": "Harare", "capital": null, "population": 371244.0, "id": 1716688236 }, { "city": "Murcia", "city_ascii": "Murcia", "lat": 37.9861, "lng": -1.1303, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Murcia", "capital": "admin", "population": 672773.0, "id": 1724107739 }, { "city": "Bilbao", "city_ascii": "Bilbao", "lat": 43.2569, "lng": -2.9236, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Basque Country", "capital": "minor", "population": 775000.0, "id": 1724331267 }, { "city": "Málaga", "city_ascii": "Malaga", "lat": 36.7194, "lng": -4.42, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Andalusia", "capital": "minor", "population": 967250.0, "id": 1724397372 }, { "city": "Las Palmas", "city_ascii": "Las Palmas", "lat": 28.1272, "lng": -15.4314, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Canary Islands", "capital": "admin", "population": 378797.0, "id": 1724501748 }, { "city": "Barcelona", "city_ascii": "Barcelona", "lat": 41.3825, "lng": 2.1769, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Catalonia", "capital": "admin", "population": 4800000.0, "id": 1724594040 }, { "city": "Madrid", "city_ascii": "Madrid", "lat": 40.4169, "lng": -3.7033, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Madrid", "capital": "primary", "population": 6211000.0, "id": 1724616994 }, { "city": "Palma", "city_ascii": "Palma", "lat": 39.5667, "lng": 2.65, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Balearic Islands", "capital": "admin", "population": 550000.0, "id": 1724728111 }, { "city": "Zaragoza", "city_ascii": "Zaragoza", "lat": 41.65, "lng": -0.8833, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Aragon", "capital": "admin", "population": 675301.0, "id": 1724907391 }, { "city": "Valencia", "city_ascii": "Valencia", "lat": 39.47, "lng": -0.3764, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Valencia", "capital": "admin", "population": 792492.0, "id": 1724981666 }, { "city": "Sevilla", "city_ascii": "Sevilla", "lat": 37.24, "lng": -5.99, "country": "Spain", "iso2": "ES", "iso3": "ESP", "admin_name": "Andalusia", "capital": "admin", "population": 1100000.0, "id": 1724991838 }, { "city": "Juba", "city_ascii": "Juba", "lat": 4.85, "lng": 31.6, "country": "South Sudan", "iso2": "SS", "iso3": "SSD", "admin_name": "Central Equatoria", "capital": "primary", "population": 525953.0, "id": 1728444337 }, { "city": "Kassala", "city_ascii": "Kassala", "lat": 15.45, "lng": 36.4, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Kassala", "capital": "admin", "population": 536009.0, "id": 1729157224 }, { "city": "Gedaref", "city_ascii": "Gedaref", "lat": 14.0333, "lng": 35.3833, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Gedaref", "capital": "admin", "population": 354927.0, "id": 1729215057 }, { "city": "El Obeid", "city_ascii": "El Obeid", "lat": 13.1833, "lng": 30.2167, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "North Kordofan", "capital": "admin", "population": 418280.0, "id": 1729215531 }, { "city": "Kūstī", "city_ascii": "Kusti", "lat": 13.1667, "lng": 32.6667, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "White Nile", "capital": null, "population": 345068.0, "id": 1729229371 }, { "city": "Khartoum", "city_ascii": "Khartoum", "lat": 15.5006, "lng": 32.56, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Khartoum", "capital": "primary", "population": 7869000.0, "id": 1729268475 }, { "city": "Khartoum North", "city_ascii": "Khartoum North", "lat": 15.6333, "lng": 32.6333, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Khartoum", "capital": null, "population": 936349.0, "id": 1729318628 }, { "city": "Wad Medani", "city_ascii": "Wad Medani", "lat": 14.4, "lng": 33.5167, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Gezira", "capital": "admin", "population": 345290.0, "id": 1729581572 }, { "city": "Port Sudan", "city_ascii": "Port Sudan", "lat": 19.6167, "lng": 37.2167, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Red Sea", "capital": "admin", "population": 579942.0, "id": 1729710259 }, { "city": "Al Mijlad", "city_ascii": "Al Mijlad", "lat": 11.0339, "lng": 27.74, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "West Kordofan", "capital": null, "population": 985000.0, "id": 1729768355 }, { "city": "Nyala", "city_ascii": "Nyala", "lat": 12.05, "lng": 24.8833, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "South Darfur", "capital": "admin", "population": 492984.0, "id": 1729833248 }, { "city": "Omdurman", "city_ascii": "Omdurman", "lat": 15.65, "lng": 32.4833, "country": "Sudan", "iso2": "SD", "iso3": "SDN", "admin_name": "Khartoum", "capital": null, "population": 2805396.0, "id": 1729912179 }, { "city": "Gothenburg", "city_ascii": "Gothenburg", "lat": 57.7075, "lng": 11.9675, "country": "Sweden", "iso2": "SE", "iso3": "SWE", "admin_name": "Västra Götaland", "capital": "admin", "population": 607882.0, "id": 1752059374 }, { "city": "Stockholm", "city_ascii": "Stockholm", "lat": 59.3294, "lng": 18.0686, "country": "Sweden", "iso2": "SE", "iso3": "SWE", "admin_name": "Stockholm", "capital": "primary", "population": 1611776.0, "id": 1752425602 }, { "city": "Malmö", "city_ascii": "Malmo", "lat": 55.6058, "lng": 13.0358, "country": "Sweden", "iso2": "SE", "iso3": "SWE", "admin_name": "Skåne", "capital": "admin", "population": 351749.0, "id": 1752705818 }, { "city": "Zürich", "city_ascii": "Zurich", "lat": 47.3744, "lng": 8.5411, "country": "Switzerland", "iso2": "CH", "iso3": "CHE", "admin_name": "Zürich", "capital": "admin", "population": 436332.0, "id": 1756539143 }, { "city": "Homs", "city_ascii": "Homs", "lat": 34.7333, "lng": 36.7167, "country": "Syria", "iso2": "SY", "iso3": "SYR", "admin_name": "Ḩimş", "capital": "admin", "population": 775404.0, "id": 1760013934 }, { "city": "Ḩamāh", "city_ascii": "Hamah", "lat": 35.1333, "lng": 36.75, "country": "Syria", "iso2": "SY", "iso3": "SYR", "admin_name": "Ḩamāh", "capital": "admin", "population": 696863.0, "id": 1760197502 }, { "city": "Aleppo", "city_ascii": "Aleppo", "lat": 36.2, "lng": 37.16, "country": "Syria", "iso2": "SY", "iso3": "SYR", "admin_name": "Ḩalab", "capital": "admin", "population": 1916781.0, "id": 1760366651 }, { "city": "Latakia", "city_ascii": "Latakia", "lat": 35.5167, "lng": 35.7833, "country": "Syria", "iso2": "SY", "iso3": "SYR", "admin_name": "Al Lādhiqīyah", "capital": "admin", "population": 700000.0, "id": 1760555544 }, { "city": "Damascus", "city_ascii": "Damascus", "lat": 33.5131, "lng": 36.2919, "country": "Syria", "iso2": "SY", "iso3": "SYR", "admin_name": "Dimashq", "capital": "primary", "population": 1754000.0, "id": 1760685964 }, { "city": "Khŭjand", "city_ascii": "Khujand", "lat": 40.2833, "lng": 69.6333, "country": "Tajikistan", "iso2": "TJ", "iso3": "TJK", "admin_name": "Sughd", "capital": "admin", "population": 770000.0, "id": 1762372787 }, { "city": "Dushanbe", "city_ascii": "Dushanbe", "lat": 38.5367, "lng": 68.78, "country": "Tajikistan", "iso2": "TJ", "iso3": "TJK", "admin_name": "Dushanbe", "capital": "primary", "population": 863400.0, "id": 1762930616 }, { "city": "Bangkok", "city_ascii": "Bangkok", "lat": 13.7525, "lng": 100.4942, "country": "Thailand", "iso2": "TH", "iso3": "THA", "admin_name": "Krung Thep Maha Nakhon", "capital": "primary", "population": 18007000.0, "id": 1764068610 }, { "city": "Chiang Mai", "city_ascii": "Chiang Mai", "lat": 18.7953, "lng": 98.9986, "country": "Thailand", "iso2": "TH", "iso3": "THA", "admin_name": "Chiang Mai", "capital": "admin", "population": 1198000.0, "id": 1764662886 }, { "city": "Lomé", "city_ascii": "Lome", "lat": 6.1319, "lng": 1.2228, "country": "Togo", "iso2": "TG", "iso3": "TGO", "admin_name": "Maritime", "capital": "primary", "population": 837437.0, "id": 1768409132 }, { "city": "Sharjah", "city_ascii": "Sharjah", "lat": 25.3575, "lng": 55.3908, "country": "United Arab Emirates", "iso2": "AE", "iso3": "ARE", "admin_name": "Ash Shāriqah", "capital": "admin", "population": 1247749.0, "id": 1784152993 }, { "city": "Abu Dhabi", "city_ascii": "Abu Dhabi", "lat": 24.4667, "lng": 54.3667, "country": "United Arab Emirates", "iso2": "AE", "iso3": "ARE", "admin_name": "Abū Z̧aby", "capital": "primary", "population": 1483000.0, "id": 1784176710 }, { "city": "‘Ajmān", "city_ascii": "`Ajman", "lat": 25.4136, "lng": 55.4456, "country": "United Arab Emirates", "iso2": "AE", "iso3": "ARE", "admin_name": "‘Ajmān", "capital": "admin", "population": 490035.0, "id": 1784337875 }, { "city": "Al ‘Ayn", "city_ascii": "Al `Ayn", "lat": 24.2075, "lng": 55.7447, "country": "United Arab Emirates", "iso2": "AE", "iso3": "ARE", "admin_name": "Abū Z̧aby", "capital": null, "population": 766936.0, "id": 1784674685 }, { "city": "Dubai", "city_ascii": "Dubai", "lat": 25.2631, "lng": 55.2972, "country": "United Arab Emirates", "iso2": "AE", "iso3": "ARE", "admin_name": "Dubayy", "capital": "admin", "population": 3331420.0, "id": 1784736618 }, { "city": "Sidi Bouzid", "city_ascii": "Sidi Bouzid", "lat": 35.0381, "lng": 9.4858, "country": "Tunisia", "iso2": "TN", "iso3": "TUN", "admin_name": "Sidi Bouzid", "capital": "admin", "population": 429912.0, "id": 1788196439 }, { "city": "Tunis", "city_ascii": "Tunis", "lat": 36.8064, "lng": 10.1817, "country": "Tunisia", "iso2": "TN", "iso3": "TUN", "admin_name": "Tunis", "capital": "primary", "population": 1056247.0, "id": 1788742103 }, { "city": "Esenler", "city_ascii": "Esenler", "lat": 41.0339, "lng": 28.8903, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": null, "population": 444561.0, "id": 1792000667 }, { "city": "Konya", "city_ascii": "Konya", "lat": 37.8667, "lng": 32.4833, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Konya", "capital": "admin", "population": 2232374.0, "id": 1792014004 }, { "city": "Trabzon", "city_ascii": "Trabzon", "lat": 41.005, "lng": 39.7225, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Trabzon", "capital": "admin", "population": 426882.0, "id": 1792019202 }, { "city": "Hatay", "city_ascii": "Hatay", "lat": 36.2025, "lng": 36.1606, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Hatay", "capital": "admin", "population": 377793.0, "id": 1792115763 }, { "city": "Avcılar", "city_ascii": "Avcilar", "lat": 40.9792, "lng": 28.7214, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": null, "population": 435625.0, "id": 1792144759 }, { "city": "Elazığ", "city_ascii": "Elazig", "lat": 38.6744, "lng": 39.2228, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Elazığ", "capital": "admin", "population": 421726.0, "id": 1792156766 }, { "city": "Denizli", "city_ascii": "Denizli", "lat": 37.7667, "lng": 29.0833, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Denizli", "capital": "admin", "population": 1027782.0, "id": 1792161179 }, { "city": "Samsun", "city_ascii": "Samsun", "lat": 41.2903, "lng": 36.3336, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Samsun", "capital": "admin", "population": 1335716.0, "id": 1792169057 }, { "city": "Yüreğir", "city_ascii": "Yuregir", "lat": 36.9981, "lng": 35.3439, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Adana", "capital": "minor", "population": 407054.0, "id": 1792234391 }, { "city": "Bağcılar", "city_ascii": "Bagcilar", "lat": 41.0344, "lng": 28.8564, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": null, "population": 734369.0, "id": 1792374908 }, { "city": "Sarıyer", "city_ascii": "Sariyer", "lat": 41.1669, "lng": 29.0572, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": "minor", "population": 342503.0, "id": 1792425356 }, { "city": "Çankaya", "city_ascii": "Cankaya", "lat": 39.9244, "lng": 32.8856, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Ankara", "capital": "minor", "population": 914501.0, "id": 1792458894 }, { "city": "Malatya", "city_ascii": "Malatya", "lat": 38.3486, "lng": 38.3194, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Malatya", "capital": "admin", "population": 426381.0, "id": 1792485155 }, { "city": "Erzurum", "city_ascii": "Erzurum", "lat": 39.9086, "lng": 41.2769, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Erzurum", "capital": "admin", "population": 767848.0, "id": 1792511957 }, { "city": "Mersin", "city_ascii": "Mersin", "lat": 36.8, "lng": 34.6333, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Mersin", "capital": "admin", "population": 1814468.0, "id": 1792520282 }, { "city": "Kâğıthane", "city_ascii": "Kagithane", "lat": 41.0719, "lng": 28.9664, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": null, "population": 437026.0, "id": 1792526380 }, { "city": "Diyarbakır", "city_ascii": "Diyarbakir", "lat": 37.91, "lng": 40.24, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Diyarbakır", "capital": "admin", "population": 1732396.0, "id": 1792536241 }, { "city": "Akçaabat", "city_ascii": "Akcaabat", "lat": 41.0167, "lng": 39.55, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Trabzon", "capital": "minor", "population": 1215351.0, "id": 1792536331 }, { "city": "Ankara", "city_ascii": "Ankara", "lat": 39.93, "lng": 32.85, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Ankara", "capital": "primary", "population": 5503985.0, "id": 1792572891 }, { "city": "Batman", "city_ascii": "Batman", "lat": 37.887, "lng": 41.132, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Batman", "capital": "admin", "population": 447106.0, "id": 1792630786 }, { "city": "Gebze", "city_ascii": "Gebze", "lat": 40.8, "lng": 29.4333, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Kocaeli", "capital": "minor", "population": 371000.0, "id": 1792650082 }, { "city": "Seyhan", "city_ascii": "Seyhan", "lat": 36.9831, "lng": 35.3328, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Adana", "capital": "minor", "population": 792536.0, "id": 1792655353 }, { "city": "Konak", "city_ascii": "Konak", "lat": 38.4189, "lng": 27.1285, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İzmir", "capital": "minor", "population": 356563.0, "id": 1792668647 }, { "city": "Selçuklu", "city_ascii": "Selcuklu", "lat": 37.8814, "lng": 32.4922, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Konya", "capital": "minor", "population": 648850.0, "id": 1792683478 }, { "city": "İzmir", "city_ascii": "Izmir", "lat": 38.42, "lng": 27.14, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İzmir", "capital": "admin", "population": 4320519.0, "id": 1792725579 }, { "city": "Kahramanmaraş", "city_ascii": "Kahramanmaras", "lat": 37.5833, "lng": 36.9333, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Kahramanmaraş", "capital": "admin", "population": 443575.0, "id": 1792726797 }, { "city": "Pamukkale", "city_ascii": "Pamukkale", "lat": 37.9167, "lng": 29.1167, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Denizli", "capital": null, "population": 346625.0, "id": 1792749284 }, { "city": "Istanbul", "city_ascii": "Istanbul", "lat": 41.0136, "lng": 28.955, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": "admin", "population": 16079000.0, "id": 1792756324 }, { "city": "Esenyurt", "city_ascii": "Esenyurt", "lat": 41.047, "lng": 28.658, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": null, "population": 891120.0, "id": 1792759121 }, { "city": "Yıldırım", "city_ascii": "Yildirim", "lat": 40.11, "lng": 29.0821, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Bursa", "capital": "minor", "population": 643681.0, "id": 1792764051 }, { "city": "Adana", "city_ascii": "Adana", "lat": 37.0, "lng": 35.3213, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Adana", "capital": "admin", "population": 1765981.0, "id": 1792783772 }, { "city": "Manisa", "city_ascii": "Manisa", "lat": 38.6306, "lng": 27.4222, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Manisa", "capital": "admin", "population": 356702.0, "id": 1792804328 }, { "city": "Pendik", "city_ascii": "Pendik", "lat": 40.8747, "lng": 29.235, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": "minor", "population": 693599.0, "id": 1792824929 }, { "city": "Meram", "city_ascii": "Meram", "lat": 37.8364, "lng": 32.4383, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Konya", "capital": "minor", "population": 342315.0, "id": 1792895883 }, { "city": "Bursa", "city_ascii": "Bursa", "lat": 40.1833, "lng": 29.05, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Bursa", "capital": "admin", "population": 2901396.0, "id": 1792903330 }, { "city": "Kayapınar", "city_ascii": "Kayapinar", "lat": 37.94, "lng": 40.19, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Diyarbakır", "capital": "minor", "population": 362407.0, "id": 1792910994 }, { "city": "Gaziantep", "city_ascii": "Gaziantep", "lat": 37.0628, "lng": 37.3792, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Gaziantep", "capital": "admin", "population": 2028563.0, "id": 1792911843 }, { "city": "Eskişehir", "city_ascii": "Eskisehir", "lat": 39.7767, "lng": 30.5206, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Eskişehir", "capital": "admin", "population": 871187.0, "id": 1792933981 }, { "city": "Şanlıurfa", "city_ascii": "Sanliurfa", "lat": 37.1583, "lng": 38.7917, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Şanlıurfa", "capital": "admin", "population": 1985753.0, "id": 1792937570 }, { "city": "Sivas", "city_ascii": "Sivas", "lat": 39.75, "lng": 37.0167, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Sivas", "capital": "admin", "population": 377561.0, "id": 1792938326 }, { "city": "Van", "city_ascii": "Van", "lat": 38.4942, "lng": 43.38, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Van", "capital": "admin", "population": 353419.0, "id": 1792940471 }, { "city": "Kayseri", "city_ascii": "Kayseri", "lat": 38.7225, "lng": 35.4875, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Kayseri", "capital": "admin", "population": 1389680.0, "id": 1792945815 }, { "city": "Kocaeli", "city_ascii": "Kocaeli", "lat": 40.7625, "lng": 29.9175, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Kocaeli", "capital": "admin", "population": 363416.0, "id": 1792965114 }, { "city": "Antalya", "city_ascii": "Antalya", "lat": 36.8874, "lng": 30.7075, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "Antalya", "capital": "admin", "population": 2426356.0, "id": 1792988434 }, { "city": "Kartal", "city_ascii": "Kartal", "lat": 40.8872, "lng": 29.19, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": "minor", "population": 461155.0, "id": 1792988658 }, { "city": "Küçükçekmece", "city_ascii": "Kucukcekmece", "lat": 41.0, "lng": 28.8, "country": "Turkey", "iso2": "TR", "iso3": "TUR", "admin_name": "İstanbul", "capital": "minor", "population": 770317.0, "id": 1792992349 }, { "city": "Ashgabat", "city_ascii": "Ashgabat", "lat": 37.95, "lng": 58.3833, "country": "Turkmenistan", "iso2": "TM", "iso3": "TKM", "admin_name": "Aşgabat", "capital": "primary", "population": 828100.0, "id": 1795049992 }, { "city": "Türkmenabat", "city_ascii": "Turkmenabat", "lat": 39.0833, "lng": 63.5667, "country": "Turkmenistan", "iso2": "TM", "iso3": "TKM", "admin_name": "Lebap", "capital": "admin", "population": 408906.0, "id": 1795079064 }, { "city": "Nansana", "city_ascii": "Nansana", "lat": 0.3639, "lng": 32.5286, "country": "Uganda", "iso2": "UG", "iso3": "UGA", "admin_name": "Wakiso", "capital": null, "population": 532800.0, "id": 1800032516 }, { "city": "Mbale", "city_ascii": "Mbale", "lat": 1.0806, "lng": 34.175, "country": "Uganda", "iso2": "UG", "iso3": "UGA", "admin_name": "Mbale", "capital": "admin", "population": 586300.0, "id": 1800265900 }, { "city": "Kampala", "city_ascii": "Kampala", "lat": 0.3136, "lng": 32.5811, "country": "Uganda", "iso2": "UG", "iso3": "UGA", "admin_name": "Kampala", "capital": "primary", "population": 1680600.0, "id": 1800406299 }, { "city": "Dnipro", "city_ascii": "Dnipro", "lat": 48.4675, "lng": 35.04, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Dnipropetrovska Oblast", "capital": "admin", "population": 980948.0, "id": 1804152933 }, { "city": "Odesa", "city_ascii": "Odesa", "lat": 46.4775, "lng": 30.7326, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Odeska Oblast", "capital": "admin", "population": 1017699.0, "id": 1804178102 }, { "city": "Kyiv", "city_ascii": "Kyiv", "lat": 50.45, "lng": 30.5233, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Kyiv, Misto", "capital": "primary", "population": 2963199.0, "id": 1804382913 }, { "city": "Mykolaiv", "city_ascii": "Mykolaiv", "lat": 46.975, "lng": 31.995, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Mykolaivska Oblast", "capital": "admin", "population": 498748.0, "id": 1804398395 }, { "city": "Kryvyi Rih", "city_ascii": "Kryvyi Rih", "lat": 47.9086, "lng": 33.3433, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Dnipropetrovska Oblast", "capital": "minor", "population": 629695.0, "id": 1804544901 }, { "city": "Kharkiv", "city_ascii": "Kharkiv", "lat": 49.9925, "lng": 36.2311, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Kharkivska Oblast", "capital": "admin", "population": 1446107.0, "id": 1804588111 }, { "city": "Mariupol", "city_ascii": "Mariupol", "lat": 47.0958, "lng": 37.5494, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Donetska Oblast", "capital": "minor", "population": 449498.0, "id": 1804630021 }, { "city": "Zaporizhzhia", "city_ascii": "Zaporizhzhia", "lat": 47.85, "lng": 35.1175, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Zaporizka Oblast", "capital": "admin", "population": 741717.0, "id": 1804644752 }, { "city": "Vinnytsia", "city_ascii": "Vinnytsia", "lat": 49.2333, "lng": 28.4833, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Vinnytska Oblast", "capital": "admin", "population": 371855.0, "id": 1804658571 }, { "city": "Simferopol", "city_ascii": "Simferopol", "lat": 44.9484, "lng": 34.1, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Krym, Avtonomna Respublika", "capital": "admin", "population": 341799.0, "id": 1804665958 }, { "city": "Luhansk", "city_ascii": "Luhansk", "lat": 48.5667, "lng": 39.3333, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Luhanska Oblast", "capital": "admin", "population": 417990.0, "id": 1804688214 }, { "city": "Sevastopol", "city_ascii": "Sevastopol", "lat": 44.605, "lng": 33.5225, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Sevastopol, Misto", "capital": "admin", "population": 522057.0, "id": 1804806030 }, { "city": "Makiivka", "city_ascii": "Makiivka", "lat": 48.0556, "lng": 37.9611, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Donetska Oblast", "capital": "minor", "population": 343158.0, "id": 1804926154 }, { "city": "Lviv", "city_ascii": "Lviv", "lat": 49.8425, "lng": 24.0322, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Lvivska Oblast", "capital": "admin", "population": 724314.0, "id": 1804939658 }, { "city": "Donetsk", "city_ascii": "Donetsk", "lat": 48.0028, "lng": 37.8053, "country": "Ukraine", "iso2": "UA", "iso3": "UKR", "admin_name": "Donetska Oblast", "capital": "admin", "population": 929063.0, "id": 1804963805 }, { "city": "Skopje", "city_ascii": "Skopje", "lat": 41.9961, "lng": 21.4317, "country": "Macedonia", "iso2": "MK", "iso3": "MKD", "admin_name": "Skopje", "capital": "primary", "population": 640000.0, "id": 1807600615 }, { "city": "Ḩalwān", "city_ascii": "Halwan", "lat": 29.8453, "lng": 31.3333, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Qāhirah", "capital": null, "population": 619293.0, "id": 1818000039 }, { "city": "Cairo", "city_ascii": "Cairo", "lat": 30.0444, "lng": 31.2358, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Qāhirah", "capital": "primary", "population": 20296000.0, "id": 1818253931 }, { "city": "Al Manşūrah", "city_ascii": "Al Mansurah", "lat": 31.05, "lng": 31.3833, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Ad Daqahlīyah", "capital": "admin", "population": 960423.0, "id": 1818255319 }, { "city": "Al ‘Āshir min Ramaḑān", "city_ascii": "Al `Ashir min Ramadan", "lat": 30.3065, "lng": 31.7415, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Ash Sharqīyah", "capital": null, "population": 511987.0, "id": 1818297014 }, { "city": "Al Maḩallah al Kubrá", "city_ascii": "Al Mahallah al Kubra", "lat": 30.9686, "lng": 31.1636, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Gharbīyah", "capital": null, "population": 535278.0, "id": 1818406471 }, { "city": "Asyūţ", "city_ascii": "Asyut", "lat": 27.1833, "lng": 31.1667, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Asyūţ", "capital": "admin", "population": 389307.0, "id": 1818456592 }, { "city": "Suez", "city_ascii": "Suez", "lat": 29.9667, "lng": 32.55, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "As Suways", "capital": "admin", "population": 516959.0, "id": 1818495972 }, { "city": "Ţanţā", "city_ascii": "Tanta", "lat": 30.7833, "lng": 31.0, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Gharbīyah", "capital": "admin", "population": 429503.0, "id": 1818501770 }, { "city": "Port Said", "city_ascii": "Port Said", "lat": 31.2625, "lng": 32.3061, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Būr Sa‘īd", "capital": "admin", "population": 524433.0, "id": 1818628574 }, { "city": "Alexandria", "city_ascii": "Alexandria", "lat": 31.1975, "lng": 29.8925, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Iskandarīyah", "capital": "admin", "population": 4870000.0, "id": 1818695837 }, { "city": "Ash Shuhadā’", "city_ascii": "Ash Shuhada'", "lat": 30.6039, "lng": 30.9021, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Minūfīyah", "capital": null, "population": 358486.0, "id": 1818906012 }, { "city": "Shubrā al Khaymah", "city_ascii": "Shubra al Khaymah", "lat": 30.1286, "lng": 31.2422, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Qalyūbīyah", "capital": null, "population": 1025569.0, "id": 1818909612 }, { "city": "Giza", "city_ascii": "Giza", "lat": 29.987, "lng": 31.2118, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Al Jīzah", "capital": "admin", "population": 5598402.0, "id": 1818925479 }, { "city": "Bibā", "city_ascii": "Biba", "lat": 28.9218, "lng": 30.9844, "country": "Egypt", "iso2": "EG", "iso3": "EGY", "admin_name": "Banī Suwayf", "capital": null, "population": 385528.0, "id": 1818994454 }, { "city": "Nottingham", "city_ascii": "Nottingham", "lat": 52.9533, "lng": -1.15, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Nottingham", "capital": null, "population": 768638.0, "id": 1826122597 }, { "city": "Manchester", "city_ascii": "Manchester", "lat": 53.4794, "lng": -2.2453, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Manchester", "capital": null, "population": 2705000.0, "id": 1826246335 }, { "city": "Sheffield", "city_ascii": "Sheffield", "lat": 53.3808, "lng": -1.4703, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Sheffield", "capital": null, "population": 518090.0, "id": 1826289852 }, { "city": "Leeds", "city_ascii": "Leeds", "lat": 53.8003, "lng": -1.5497, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Leeds", "capital": null, "population": 789194.0, "id": 1826343963 }, { "city": "Caerdydd", "city_ascii": "Caerdydd", "lat": 51.4817, "lng": -3.1792, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Cardiff", "capital": null, "population": 479000.0, "id": 1826362422 }, { "city": "Birmingham", "city_ascii": "Birmingham", "lat": 52.48, "lng": -1.9025, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Birmingham", "capital": null, "population": 2919600.0, "id": 1826423213 }, { "city": "Leicester", "city_ascii": "Leicester", "lat": 52.6344, "lng": -1.1319, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Leicester", "capital": null, "population": 508916.0, "id": 1826431946 }, { "city": "Edinburgh", "city_ascii": "Edinburgh", "lat": 55.9533, "lng": -3.1892, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Edinburgh, City of", "capital": null, "population": 488050.0, "id": 1826492520 }, { "city": "Liverpool", "city_ascii": "Liverpool", "lat": 53.4075, "lng": -2.9919, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Liverpool", "capital": null, "population": 864122.0, "id": 1826558678 }, { "city": "Southampton", "city_ascii": "Southampton", "lat": 50.9025, "lng": -1.4042, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Southampton", "capital": null, "population": 855569.0, "id": 1826602892 }, { "city": "London", "city_ascii": "London", "lat": 51.5072, "lng": -0.1275, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "London, City of", "capital": "primary", "population": 11262000.0, "id": 1826645935 }, { "city": "Stoke-on-Trent", "city_ascii": "Stoke-on-Trent", "lat": 53.0, "lng": -2.1833, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Stoke-on-Trent", "capital": null, "population": 372775.0, "id": 1826799578 }, { "city": "Glasgow", "city_ascii": "Glasgow", "lat": 55.8611, "lng": -4.25, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Glasgow City", "capital": null, "population": 626410.0, "id": 1826836462 }, { "city": "Bristol", "city_ascii": "Bristol", "lat": 51.4536, "lng": -2.5975, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Bristol, City of", "capital": null, "population": 567111.0, "id": 1826921049 }, { "city": "Worthing", "city_ascii": "Worthing", "lat": 50.8147, "lng": -0.3714, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "West Sussex", "capital": null, "population": 474485.0, "id": 1826936965 }, { "city": "Portsmouth", "city_ascii": "Portsmouth", "lat": 50.8058, "lng": -1.0872, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Portsmouth", "capital": null, "population": 855679.0, "id": 1826964096 }, { "city": "Coventry", "city_ascii": "Coventry", "lat": 52.4081, "lng": -1.5106, "country": "United Kingdom", "iso2": "GB", "iso3": "GBR", "admin_name": "Coventry", "capital": null, "population": 362690.0, "id": 1826979198 }, { "city": "Mwanza", "city_ascii": "Mwanza", "lat": -2.5167, "lng": 32.9, "country": "Tanzania", "iso2": "TZ", "iso3": "TZA", "admin_name": "Mwanza", "capital": "admin", "population": 706453.0, "id": 1834011288 }, { "city": "Mbeya", "city_ascii": "Mbeya", "lat": -8.9, "lng": 33.45, "country": "Tanzania", "iso2": "TZ", "iso3": "TZA", "admin_name": "Mbeya", "capital": "admin", "population": 467000.0, "id": 1834396594 }, { "city": "Arusha", "city_ascii": "Arusha", "lat": -3.3667, "lng": 36.6833, "country": "Tanzania", "iso2": "TZ", "iso3": "TZA", "admin_name": "Arusha", "capital": "admin", "population": 416442.0, "id": 1834484937 }, { "city": "Dar es Salaam", "city_ascii": "Dar es Salaam", "lat": -6.8161, "lng": 39.2803, "country": "Tanzania", "iso2": "TZ", "iso3": "TZA", "admin_name": "Dar es Salaam", "capital": "primary", "population": 7962000.0, "id": 1834843853 }, { "city": "Rochester", "city_ascii": "Rochester", "lat": 43.168, "lng": -77.6162, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 737309.0, "id": 1840000373 }, { "city": "Syracuse", "city_ascii": "Syracuse", "lat": 43.0407, "lng": -76.1437, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 418875.0, "id": 1840000378 }, { "city": "Buffalo", "city_ascii": "Buffalo", "lat": 42.9018, "lng": -78.8487, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 1004655.0, "id": 1840000386 }, { "city": "Albany", "city_ascii": "Albany", "lat": 42.6664, "lng": -73.7987, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": "admin", "population": 604077.0, "id": 1840000417 }, { "city": "Worcester", "city_ascii": "Worcester", "lat": 42.2705, "lng": -71.8079, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Massachusetts", "capital": null, "population": 573573.0, "id": 1840000434 }, { "city": "Boston", "city_ascii": "Boston", "lat": 42.3188, "lng": -71.0852, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Massachusetts", "capital": "admin", "population": 4208580.0, "id": 1840000455 }, { "city": "Springfield", "city_ascii": "Springfield", "lat": 42.1155, "lng": -72.5395, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Massachusetts", "capital": null, "population": 620494.0, "id": 1840000466 }, { "city": "Chicago", "city_ascii": "Chicago", "lat": 41.8375, "lng": -87.6866, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Illinois", "capital": null, "population": 8595181.0, "id": 1840000494 }, { "city": "Poughkeepsie", "city_ascii": "Poughkeepsie", "lat": 41.695, "lng": -73.9211, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 423386.0, "id": 1840000500 }, { "city": "Toledo", "city_ascii": "Toledo", "lat": 41.6638, "lng": -83.5827, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 490832.0, "id": 1840000572 }, { "city": "Cleveland", "city_ascii": "Cleveland", "lat": 41.4764, "lng": -81.6805, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 1683059.0, "id": 1840000596 }, { "city": "Philadelphia", "city_ascii": "Philadelphia", "lat": 40.0077, "lng": -75.1339, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": null, "population": 5512873.0, "id": 1840000673 }, { "city": "Akron", "city_ascii": "Akron", "lat": 41.0798, "lng": -81.5219, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 546549.0, "id": 1840000791 }, { "city": "Allentown", "city_ascii": "Allentown", "lat": 40.5961, "lng": -75.4756, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": null, "population": 714136.0, "id": 1840001044 }, { "city": "Pittsburgh", "city_ascii": "Pittsburgh", "lat": 40.4397, "lng": -79.9763, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": null, "population": 1720279.0, "id": 1840001254 }, { "city": "Harrisburg", "city_ascii": "Harrisburg", "lat": 40.2752, "lng": -76.8843, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": "admin", "population": 472261.0, "id": 1840001288 }, { "city": "Baltimore", "city_ascii": "Baltimore", "lat": 39.3051, "lng": -76.6144, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Maryland", "capital": null, "population": 2205092.0, "id": 1840001592 }, { "city": "St. Louis", "city_ascii": "St. Louis", "lat": 38.6359, "lng": -90.2451, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Missouri", "capital": null, "population": 2092481.0, "id": 1840001651 }, { "city": "Wichita", "city_ascii": "Wichita", "lat": 37.6895, "lng": -97.3443, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Kansas", "capital": null, "population": 491916.0, "id": 1840001686 }, { "city": "Richmond", "city_ascii": "Richmond", "lat": 37.5295, "lng": -77.4756, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Virginia", "capital": "admin", "population": 1008069.0, "id": 1840001698 }, { "city": "New Orleans", "city_ascii": "New Orleans", "lat": 30.0687, "lng": -89.9288, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Louisiana", "capital": null, "population": 925443.0, "id": 1840001839 }, { "city": "Madison", "city_ascii": "Madison", "lat": 43.0822, "lng": -89.393, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Wisconsin", "capital": "admin", "population": 461778.0, "id": 1840002915 }, { "city": "Grand Rapids", "city_ascii": "Grand Rapids", "lat": 42.9619, "lng": -85.6562, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Michigan", "capital": null, "population": 604311.0, "id": 1840002928 }, { "city": "Milwaukee", "city_ascii": "Milwaukee", "lat": 43.0642, "lng": -87.9675, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Wisconsin", "capital": null, "population": 1340981.0, "id": 1840003046 }, { "city": "Providence", "city_ascii": "Providence", "lat": 41.823, "lng": -71.4187, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Rhode Island", "capital": "admin", "population": 1270149.0, "id": 1840003289 }, { "city": "Scranton", "city_ascii": "Scranton", "lat": 41.4044, "lng": -75.6649, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": null, "population": 376974.0, "id": 1840003389 }, { "city": "Youngstown", "city_ascii": "Youngstown", "lat": 41.0993, "lng": -80.6463, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 363541.0, "id": 1840003563 }, { "city": "Lancaster", "city_ascii": "Lancaster", "lat": 40.042, "lng": -76.3012, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Pennsylvania", "capital": null, "population": 430621.0, "id": 1840003718 }, { "city": "Columbus", "city_ascii": "Columbus", "lat": 39.9862, "lng": -82.9855, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": "admin", "population": 1556848.0, "id": 1840003760 }, { "city": "Cincinnati", "city_ascii": "Cincinnati", "lat": 39.1413, "lng": -84.506, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 1712287.0, "id": 1840003814 }, { "city": "Virginia Beach", "city_ascii": "Virginia Beach", "lat": 36.7335, "lng": -76.0435, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Virginia", "capital": null, "population": 1500764.0, "id": 1840003871 }, { "city": "Detroit", "city_ascii": "Detroit", "lat": 42.3834, "lng": -83.1024, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Michigan", "capital": null, "population": 3522856.0, "id": 1840003971 }, { "city": "Hartford", "city_ascii": "Hartford", "lat": 41.7661, "lng": -72.6834, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Connecticut", "capital": "admin", "population": 907046.0, "id": 1840004773 }, { "city": "Bridgeport", "city_ascii": "Bridgeport", "lat": 41.1918, "lng": -73.1954, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Connecticut", "capital": null, "population": 975078.0, "id": 1840004836 }, { "city": "New Haven", "city_ascii": "New Haven", "lat": 41.3113, "lng": -72.9246, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Connecticut", "capital": null, "population": 587648.0, "id": 1840004850 }, { "city": "Hempstead", "city_ascii": "Hempstead", "lat": 40.6629, "lng": -73.6089, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 791018.0, "id": 1840005293 }, { "city": "Washington", "city_ascii": "Washington", "lat": 38.9047, "lng": -77.0163, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "District of Columbia", "capital": "primary", "population": 4810669.0, "id": 1840006060 }, { "city": "Birmingham", "city_ascii": "Birmingham", "lat": 33.5279, "lng": -86.7971, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Alabama", "capital": null, "population": 704676.0, "id": 1840006507 }, { "city": "Des Moines", "city_ascii": "Des Moines", "lat": 41.5725, "lng": -93.6105, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Iowa", "capital": "admin", "population": 514654.0, "id": 1840007069 }, { "city": "Minneapolis", "city_ascii": "Minneapolis", "lat": 44.9635, "lng": -93.2678, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Minnesota", "capital": null, "population": 2856952.0, "id": 1840007830 }, { "city": "Kansas City", "city_ascii": "Kansas City", "lat": 39.1238, "lng": -94.5541, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Missouri", "capital": null, "population": 1644497.0, "id": 1840008535 }, { "city": "Omaha", "city_ascii": "Omaha", "lat": 41.2627, "lng": -96.0529, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Nebraska", "capital": null, "population": 806485.0, "id": 1840009315 }, { "city": "Honolulu", "city_ascii": "Honolulu", "lat": 21.3294, "lng": -157.846, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Hawaii", "capital": "admin", "population": 835291.0, "id": 1840013305 }, { "city": "Greensboro", "city_ascii": "Greensboro", "lat": 36.0956, "lng": -79.8271, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "North Carolina", "capital": null, "population": 345270.0, "id": 1840013356 }, { "city": "Durham", "city_ascii": "Durham", "lat": 35.9792, "lng": -78.9022, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "North Carolina", "capital": null, "population": 399762.0, "id": 1840013364 }, { "city": "Fayetteville", "city_ascii": "Fayetteville", "lat": 36.0714, "lng": -94.1661, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Arkansas", "capital": null, "population": 381636.0, "id": 1840013368 }, { "city": "Greenville", "city_ascii": "Greenville", "lat": 34.8354, "lng": -82.3646, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "South Carolina", "capital": null, "population": 450487.0, "id": 1840013501 }, { "city": "Atlanta", "city_ascii": "Atlanta", "lat": 33.7628, "lng": -84.422, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Georgia", "capital": "admin", "population": 5046555.0, "id": 1840013660 }, { "city": "Baton Rouge", "city_ascii": "Baton Rouge", "lat": 30.442, "lng": -91.1311, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Louisiana", "capital": "admin", "population": 610751.0, "id": 1840013941 }, { "city": "Bonita Springs", "city_ascii": "Bonita Springs", "lat": 26.3558, "lng": -81.7859, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 347581.0, "id": 1840014227 }, { "city": "Knoxville", "city_ascii": "Knoxville", "lat": 35.9692, "lng": -83.9496, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Tennessee", "capital": null, "population": 619925.0, "id": 1840014486 }, { "city": "Raleigh", "city_ascii": "Raleigh", "lat": 35.8324, "lng": -78.6429, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "North Carolina", "capital": "admin", "population": 1062018.0, "id": 1840014497 }, { "city": "Charlotte", "city_ascii": "Charlotte", "lat": 35.2083, "lng": -80.8303, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "North Carolina", "capital": null, "population": 1516107.0, "id": 1840014557 }, { "city": "Chattanooga", "city_ascii": "Chattanooga", "lat": 35.066, "lng": -85.2481, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Tennessee", "capital": null, "population": 403233.0, "id": 1840014569 }, { "city": "Columbia", "city_ascii": "Columbia", "lat": 34.0378, "lng": -80.9036, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "South Carolina", "capital": "admin", "population": 640502.0, "id": 1840014730 }, { "city": "Pensacola", "city_ascii": "Pensacola", "lat": 30.4413, "lng": -87.1911, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 360711.0, "id": 1840015005 }, { "city": "Jacksonville", "city_ascii": "Jacksonville", "lat": 30.3322, "lng": -81.6749, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 1220191.0, "id": 1840015031 }, { "city": "Palm Coast", "city_ascii": "Palm Coast", "lat": 29.5389, "lng": -81.2457, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 403834.0, "id": 1840015064 }, { "city": "Palm Bay", "city_ascii": "Palm Bay", "lat": 27.9631, "lng": -80.6593, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 528322.0, "id": 1840015094 }, { "city": "Orlando", "city_ascii": "Orlando", "lat": 28.4773, "lng": -81.337, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 1927699.0, "id": 1840015099 }, { "city": "Kissimmee", "city_ascii": "Kissimmee", "lat": 28.3041, "lng": -81.4169, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 399929.0, "id": 1840015109 }, { "city": "Port St. Lucie", "city_ascii": "Port St. Lucie", "lat": 27.2796, "lng": -80.3884, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 468979.0, "id": 1840015119 }, { "city": "Cape Coral", "city_ascii": "Cape Coral", "lat": 26.6443, "lng": -81.9957, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 682773.0, "id": 1840015130 }, { "city": "Miami", "city_ascii": "Miami", "lat": 25.784, "lng": -80.2101, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 5711945.0, "id": 1840015149 }, { "city": "Charleston", "city_ascii": "Charleston", "lat": 32.8168, "lng": -79.9687, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "South Carolina", "capital": null, "population": 685517.0, "id": 1840015163 }, { "city": "Winston-Salem", "city_ascii": "Winston-Salem", "lat": 36.1029, "lng": -80.261, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "North Carolina", "capital": null, "population": 420400.0, "id": 1840015324 }, { "city": "Memphis", "city_ascii": "Memphis", "lat": 35.1087, "lng": -89.9663, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Tennessee", "capital": null, "population": 1034498.0, "id": 1840015457 }, { "city": "Little Rock", "city_ascii": "Little Rock", "lat": 34.7256, "lng": -92.3577, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Arkansas", "capital": "admin", "population": 457379.0, "id": 1840015509 }, { "city": "Tampa", "city_ascii": "Tampa", "lat": 27.9945, "lng": -82.4447, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 2683956.0, "id": 1840015982 }, { "city": "Sarasota", "city_ascii": "Sarasota", "lat": 27.3387, "lng": -82.5432, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Florida", "capital": null, "population": 727388.0, "id": 1840015988 }, { "city": "Denver", "city_ascii": "Denver", "lat": 39.762, "lng": -104.8758, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Colorado", "capital": "admin", "population": 2650725.0, "id": 1840018789 }, { "city": "Aurora", "city_ascii": "Aurora", "lat": 39.7083, "lng": -104.7237, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Colorado", "capital": null, "population": 383496.0, "id": 1840018794 }, { "city": "Colorado Springs", "city_ascii": "Colorado Springs", "lat": 38.8674, "lng": -104.7605, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Colorado", "capital": null, "population": 628808.0, "id": 1840018825 }, { "city": "Concord", "city_ascii": "Concord", "lat": 37.9722, "lng": -122.0016, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 640270.0, "id": 1840018905 }, { "city": "Bakersfield", "city_ascii": "Bakersfield", "lat": 35.3529, "lng": -119.0359, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 590845.0, "id": 1840019148 }, { "city": "Albuquerque", "city_ascii": "Albuquerque", "lat": 35.1054, "lng": -106.6465, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New Mexico", "capital": null, "population": 765693.0, "id": 1840019176 }, { "city": "Indio", "city_ascii": "Indio", "lat": 33.7346, "lng": -116.2346, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 361831.0, "id": 1840019304 }, { "city": "Anaheim", "city_ascii": "Anaheim", "lat": 33.839, "lng": -117.8574, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 348204.0, "id": 1840019322 }, { "city": "Denton", "city_ascii": "Denton", "lat": 33.2175, "lng": -97.1418, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 445814.0, "id": 1840019390 }, { "city": "Arlington", "city_ascii": "Arlington", "lat": 32.6998, "lng": -97.125, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 392304.0, "id": 1840019422 }, { "city": "Dallas", "city_ascii": "Dallas", "lat": 32.7935, "lng": -96.7667, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 5668165.0, "id": 1840019440 }, { "city": "Austin", "city_ascii": "Austin", "lat": 30.3005, "lng": -97.7522, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": "admin", "population": 1659251.0, "id": 1840019590 }, { "city": "Portland", "city_ascii": "Portland", "lat": 45.5371, "lng": -122.65, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Oregon", "capital": null, "population": 2036875.0, "id": 1840019941 }, { "city": "Reno", "city_ascii": "Reno", "lat": 39.5497, "lng": -119.8483, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Nevada", "capital": null, "population": 463328.0, "id": 1840020121 }, { "city": "Ogden", "city_ascii": "Ogden", "lat": 41.2279, "lng": -111.9682, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Utah", "capital": null, "population": 608259.0, "id": 1840020135 }, { "city": "Provo", "city_ascii": "Provo", "lat": 40.2457, "lng": -111.6457, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Utah", "capital": null, "population": 551645.0, "id": 1840020174 }, { "city": "Modesto", "city_ascii": "Modesto", "lat": 37.6375, "lng": -121.0028, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 382994.0, "id": 1840020287 }, { "city": "Oakland", "city_ascii": "Oakland", "lat": 37.7904, "lng": -122.2166, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 437548.0, "id": 1840020296 }, { "city": "Fresno", "city_ascii": "Fresno", "lat": 36.783, "lng": -119.7939, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 719558.0, "id": 1840020319 }, { "city": "Las Vegas", "city_ascii": "Las Vegas", "lat": 36.2333, "lng": -115.2654, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Nevada", "capital": null, "population": 2150373.0, "id": 1840020364 }, { "city": "Oklahoma City", "city_ascii": "Oklahoma City", "lat": 35.4676, "lng": -97.5136, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Oklahoma", "capital": "admin", "population": 994284.0, "id": 1840020428 }, { "city": "Oxnard", "city_ascii": "Oxnard", "lat": 34.1964, "lng": -119.1815, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 366330.0, "id": 1840020474 }, { "city": "Long Beach", "city_ascii": "Long Beach", "lat": 33.7977, "lng": -118.167, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 466565.0, "id": 1840020490 }, { "city": "Los Angeles", "city_ascii": "Los Angeles", "lat": 34.1141, "lng": -118.4068, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 12121244.0, "id": 1840020491 }, { "city": "Lancaster", "city_ascii": "Lancaster", "lat": 34.6935, "lng": -118.1753, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 381732.0, "id": 1840020516 }, { "city": "Riverside", "city_ascii": "Riverside", "lat": 33.9381, "lng": -117.3949, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 2022285.0, "id": 1840020551 }, { "city": "Murrieta", "city_ascii": "Murrieta", "lat": 33.5719, "lng": -117.1909, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 509526.0, "id": 1840020553 }, { "city": "Mesa", "city_ascii": "Mesa", "lat": 33.4015, "lng": -111.7178, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Arizona", "capital": null, "population": 497752.0, "id": 1840020566 }, { "city": "Phoenix", "city_ascii": "Phoenix", "lat": 33.5722, "lng": -112.0892, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Arizona", "capital": "admin", "population": 4047095.0, "id": 1840020568 }, { "city": "Mission Viejo", "city_ascii": "Mission Viejo", "lat": 33.6096, "lng": -117.6551, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 588540.0, "id": 1840020580 }, { "city": "Fort Worth", "city_ascii": "Fort Worth", "lat": 32.7817, "lng": -97.3474, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 908469.0, "id": 1840020696 }, { "city": "Houston", "city_ascii": "Houston", "lat": 29.786, "lng": -95.3885, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 5650910.0, "id": 1840020925 }, { "city": "McAllen", "city_ascii": "McAllen", "lat": 26.2252, "lng": -98.2467, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 809002.0, "id": 1840021024 }, { "city": "Spokane", "city_ascii": "Spokane", "lat": 47.6671, "lng": -117.433, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Washington", "capital": null, "population": 440270.0, "id": 1840021093 }, { "city": "Seattle", "city_ascii": "Seattle", "lat": 47.6211, "lng": -122.3244, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Washington", "capital": null, "population": 3438221.0, "id": 1840021117 }, { "city": "Salt Lake City", "city_ascii": "Salt Lake City", "lat": 40.7776, "lng": -111.9311, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Utah", "capital": "admin", "population": 1135344.0, "id": 1840021383 }, { "city": "Sacramento", "city_ascii": "Sacramento", "lat": 38.5677, "lng": -121.4685, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": "admin", "population": 1924167.0, "id": 1840021491 }, { "city": "Stockton", "city_ascii": "Stockton", "lat": 37.9765, "lng": -121.3109, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 406822.0, "id": 1840021517 }, { "city": "San Francisco", "city_ascii": "San Francisco", "lat": 37.7558, "lng": -122.4449, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 3290197.0, "id": 1840021543 }, { "city": "San Jose", "city_ascii": "San Jose", "lat": 37.3012, "lng": -121.848, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 1729879.0, "id": 1840021570 }, { "city": "Tulsa", "city_ascii": "Tulsa", "lat": 36.1283, "lng": -95.9042, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Oklahoma", "capital": null, "population": 715983.0, "id": 1840021672 }, { "city": "Victorville", "city_ascii": "Victorville", "lat": 34.5277, "lng": -117.3536, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 389060.0, "id": 1840021731 }, { "city": "San Diego", "city_ascii": "San Diego", "lat": 32.8313, "lng": -117.1222, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "California", "capital": null, "population": 3084174.0, "id": 1840021990 }, { "city": "Tucson", "city_ascii": "Tucson", "lat": 32.1541, "lng": -110.8787, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Arizona", "capital": null, "population": 875284.0, "id": 1840022101 }, { "city": "San Antonio", "city_ascii": "San Antonio", "lat": 29.4632, "lng": -98.5238, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 1910785.0, "id": 1840022220 }, { "city": "El Paso", "city_ascii": "El Paso", "lat": 31.8476, "lng": -106.43, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Texas", "capital": null, "population": 794344.0, "id": 1840023252 }, { "city": "Boise", "city_ascii": "Boise", "lat": 43.6005, "lng": -116.2308, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Idaho", "capital": "admin", "population": 422665.0, "id": 1840027142 }, { "city": "Augusta", "city_ascii": "Augusta", "lat": 33.3645, "lng": -82.0708, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Georgia", "capital": null, "population": 409668.0, "id": 1840029462 }, { "city": "Indianapolis", "city_ascii": "Indianapolis", "lat": 39.7771, "lng": -86.1458, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Indiana", "capital": "admin", "population": 1659305.0, "id": 1840030084 }, { "city": "Louisville", "city_ascii": "Louisville", "lat": 38.1663, "lng": -85.6485, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Kentucky", "capital": null, "population": 1022630.0, "id": 1840030815 }, { "city": "Bronx", "city_ascii": "Bronx", "lat": 40.8501, "lng": -73.8662, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 1472654.0, "id": 1840033999 }, { "city": "Manhattan", "city_ascii": "Manhattan", "lat": 40.7834, "lng": -73.9662, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 1694263.0, "id": 1840034000 }, { "city": "Queens", "city_ascii": "Queens", "lat": 40.7498, "lng": -73.7976, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 2405464.0, "id": 1840034002 }, { "city": "New York", "city_ascii": "New York", "lat": 40.6943, "lng": -73.9249, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 18972871.0, "id": 1840034016 }, { "city": "Brooklyn", "city_ascii": "Brooklyn", "lat": 40.6501, "lng": -73.9496, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 2736074.0, "id": 1840034030 }, { "city": "Staten Island", "city_ascii": "Staten Island", "lat": 40.5834, "lng": -74.1496, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 495747.0, "id": 1840034032 }, { "city": "Dayton", "city_ascii": "Dayton", "lat": 39.7805, "lng": -84.2003, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Ohio", "capital": null, "population": 709300.0, "id": 1840034249 }, { "city": "Nashville", "city_ascii": "Nashville", "lat": 36.1715, "lng": -86.7842, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "Tennessee", "capital": "admin", "population": 1098486.0, "id": 1840036155 }, { "city": "Brookhaven", "city_ascii": "Brookhaven", "lat": 40.832, "lng": -72.9517, "country": "United States", "iso2": "US", "iso3": "USA", "admin_name": "New York", "capital": null, "population": 485984.0, "id": 1840057464 }, { "city": "Ouagadougou", "city_ascii": "Ouagadougou", "lat": 12.3686, "lng": -1.5275, "country": "Burkina Faso", "iso2": "BF", "iso3": "BFA", "admin_name": "Centre", "capital": "primary", "population": 2453496.0, "id": 1854029208 }, { "city": "Bobo-Dioulasso", "city_ascii": "Bobo-Dioulasso", "lat": 11.1833, "lng": -4.2833, "country": "Burkina Faso", "iso2": "BF", "iso3": "BFA", "admin_name": "Hauts-Bassins", "capital": "admin", "population": 903887.0, "id": 1854348796 }, { "city": "Montevideo", "city_ascii": "Montevideo", "lat": -34.8836, "lng": -56.1819, "country": "Uruguay", "iso2": "UY", "iso3": "URY", "admin_name": "Montevideo", "capital": "primary", "population": 1719453.0, "id": 1858107000 }, { "city": "Tashkent", "city_ascii": "Tashkent", "lat": 41.3111, "lng": 69.2797, "country": "Uzbekistan", "iso2": "UZ", "iso3": "UZB", "admin_name": "Toshkent", "capital": "primary", "population": 2571668.0, "id": 1860331871 }, { "city": "Samarkand", "city_ascii": "Samarkand", "lat": 39.6547, "lng": 66.9758, "country": "Uzbekistan", "iso2": "UZ", "iso3": "UZB", "admin_name": "Samarqand", "capital": "admin", "population": 546303.0, "id": 1860388706 }, { "city": "Qo‘qon", "city_ascii": "Qo`qon", "lat": 40.5286, "lng": 70.9425, "country": "Uzbekistan", "iso2": "UZ", "iso3": "UZB", "admin_name": "Farg‘ona", "capital": null, "population": 350000.0, "id": 1860403462 }, { "city": "Andijon", "city_ascii": "Andijon", "lat": 40.7833, "lng": 72.3333, "country": "Uzbekistan", "iso2": "UZ", "iso3": "UZB", "admin_name": "Andijon", "capital": "admin", "population": 441700.0, "id": 1860445095 }, { "city": "Namangan", "city_ascii": "Namangan", "lat": 41.0011, "lng": 71.6683, "country": "Uzbekistan", "iso2": "UZ", "iso3": "UZB", "admin_name": "Namangan", "capital": "admin", "population": 626120.0, "id": 1860894033 }, { "city": "Maracaibo", "city_ascii": "Maracaibo", "lat": 10.6333, "lng": -71.6333, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Zulia", "capital": "admin", "population": 2658355.0, "id": 1862072711 }, { "city": "Maracay", "city_ascii": "Maracay", "lat": 10.2469, "lng": -67.5958, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Aragua", "capital": "admin", "population": 407109.0, "id": 1862284350 }, { "city": "Valencia", "city_ascii": "Valencia", "lat": 10.1667, "lng": -68.0, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Carabobo", "capital": "admin", "population": 1484430.0, "id": 1862309871 }, { "city": "Ciudad Bolívar", "city_ascii": "Ciudad Bolivar", "lat": 8.1219, "lng": -63.55, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Bolívar", "capital": "admin", "population": 567953.0, "id": 1862318264 }, { "city": "Cabimas", "city_ascii": "Cabimas", "lat": 10.4, "lng": -71.4333, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Zulia", "capital": "minor", "population": 351735.0, "id": 1862398719 }, { "city": "Barcelona", "city_ascii": "Barcelona", "lat": 10.1333, "lng": -64.6833, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Anzoátegui", "capital": "admin", "population": 448016.0, "id": 1862418619 }, { "city": "Santa Teresa del Tuy", "city_ascii": "Santa Teresa del Tuy", "lat": 10.2333, "lng": -66.65, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Miranda", "capital": "minor", "population": 525321.0, "id": 1862528581 }, { "city": "Maturín", "city_ascii": "Maturin", "lat": 9.7423, "lng": -63.1889, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Monagas", "capital": "admin", "population": 514046.0, "id": 1862546949 }, { "city": "Cumaná", "city_ascii": "Cumana", "lat": 10.45, "lng": -64.1667, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Sucre", "capital": "admin", "population": 374706.0, "id": 1862583279 }, { "city": "Petare", "city_ascii": "Petare", "lat": 10.4833, "lng": -66.8167, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Miranda", "capital": "minor", "population": 369000.0, "id": 1862595613 }, { "city": "Barinas", "city_ascii": "Barinas", "lat": 8.6333, "lng": -70.2, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Barinas", "capital": "admin", "population": 816264.0, "id": 1862647790 }, { "city": "Catia La Mar", "city_ascii": "Catia La Mar", "lat": 10.6, "lng": -67.0333, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "La Guaira", "capital": "minor", "population": 661897.0, "id": 1862657837 }, { "city": "Caracas", "city_ascii": "Caracas", "lat": 10.4806, "lng": -66.9036, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Distrito Capital", "capital": "primary", "population": 2245744.0, "id": 1862748204 }, { "city": "Barquisimeto", "city_ascii": "Barquisimeto", "lat": 10.0678, "lng": -69.3467, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Lara", "capital": "admin", "population": 1059092.0, "id": 1862860739 }, { "city": "Ciudad Guayana", "city_ascii": "Ciudad Guayana", "lat": 8.3667, "lng": -62.65, "country": "Venezuela", "iso2": "VE", "iso3": "VEN", "admin_name": "Bolívar", "capital": "minor", "population": 751331.0, "id": 1862889027 }, { "city": "Ibb", "city_ascii": "Ibb", "lat": 13.9667, "lng": 44.1667, "country": "Yemen", "iso2": "YE", "iso3": "YEM", "admin_name": "Ibb", "capital": "admin", "population": 350864.0, "id": 1887321491 }, { "city": "Ta‘izz", "city_ascii": "Ta`izz", "lat": 13.5789, "lng": 44.0219, "country": "Yemen", "iso2": "YE", "iso3": "YEM", "admin_name": "Ta‘izz", "capital": "admin", "population": 615467.0, "id": 1887324526 }, { "city": "Sanaa", "city_ascii": "Sanaa", "lat": 15.3483, "lng": 44.2064, "country": "Yemen", "iso2": "YE", "iso3": "YEM", "admin_name": "Amānat al ‘Āşimah", "capital": "primary", "population": 2957000.0, "id": 1887750814 }, { "city": "Aden", "city_ascii": "Aden", "lat": 12.8, "lng": 45.0333, "country": "Yemen", "iso2": "YE", "iso3": "YEM", "admin_name": "‘Adan", "capital": "admin", "population": 507355.0, "id": 1887867886 }, { "city": "Al Ḩudaydah", "city_ascii": "Al Hudaydah", "lat": 14.8022, "lng": 42.9511, "country": "Yemen", "iso2": "YE", "iso3": "YEM", "admin_name": "Al Ḩudaydah", "capital": "admin", "population": 548433.0, "id": 1887984890 }, { "city": "Ndola", "city_ascii": "Ndola", "lat": -12.9667, "lng": 28.6333, "country": "Zambia", "iso2": "ZM", "iso3": "ZMB", "admin_name": "Copperbelt", "capital": "admin", "population": 528330.0, "id": 1894032745 }, { "city": "Lusaka", "city_ascii": "Lusaka", "lat": -15.4167, "lng": 28.2833, "country": "Zambia", "iso2": "ZM", "iso3": "ZMB", "admin_name": "Lusaka", "capital": "primary", "population": 2467563.0, "id": 1894157390 }, { "city": "Kitwe", "city_ascii": "Kitwe", "lat": -12.8167, "lng": 28.2, "country": "Zambia", "iso2": "ZM", "iso3": "ZMB", "admin_name": "Copperbelt", "capital": null, "population": 504194.0, "id": 1894321752 }, { "city": "Gaza", "city_ascii": "Gaza", "lat": 31.5069, "lng": 34.456, "country": "Gaza Strip", "iso2": "XG", "iso3": "XGZ", "admin_name": null, "capital": "primary", "population": 590481.0, "id": 1916116052 } ] ================================================ FILE: demo/components_list.py ================================================ from __future__ import annotations as _annotations import asyncio from fastapi import APIRouter from fastui import AnyComponent, FastUI from fastui import components as c from fastui.events import GoToEvent, PageEvent from .shared import demo_page router = APIRouter() def panel(*components: AnyComponent) -> AnyComponent: return c.Div(class_name='col border rounded m-1 p-2 pb-3', components=list(components)) @router.get('', response_model=FastUI, response_model_exclude_none=True) def components_view() -> list[AnyComponent]: return demo_page( c.Div( components=[ c.Heading(text='Text', level=2), c.Text(text='This is a text component.'), ] ), c.Div( components=[ c.Heading(text='Paragraph', level=2), c.Paragraph(text='This is a paragraph component.'), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Heading', level=2), c.Heading(text='This is an H3', level=3), c.Heading(text='This is an H4', level=4), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Code', level=2), c.Code( language='python', text="""\ from pydantic import BaseModel class Delivery(BaseModel): dimensions: tuple[int, int] m = Delivery(dimensions=['10', '20']) print(m.dimensions) #> (10, 20) """, ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Link List', level=2), c.Markdown( text=( 'This is a simple unstyled list of links, ' 'LinkList is also used in `Navbar` and `Pagination`.' ) ), c.LinkList( links=[ c.Link( components=[c.Text(text='Internal Link - the the home page')], on_click=GoToEvent(url='/'), ), c.Link( components=[c.Text(text='Pydantic (External link)')], on_click=GoToEvent(url='https://pydantic.dev'), ), c.Link( components=[c.Text(text='FastUI repo (New tab)')], on_click=GoToEvent(url='https://github.com/pydantic/FastUI', target='_blank'), ), ], ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Button and Modal', level=2), c.Paragraph(text='The button below will open a modal with static content.'), c.Button(text='Show Static Modal', on_click=PageEvent(name='static-modal')), c.Button(text='Secondary Button', named_style='secondary', class_name='+ ms-2'), c.Button(text='Warning Button', named_style='warning', class_name='+ ms-2'), c.Modal( title='Static Modal', body=[c.Paragraph(text='This is some static content that was set when the modal was defined.')], footer=[ c.Button(text='Close', on_click=PageEvent(name='static-modal', clear=True)), ], open_trigger=PageEvent(name='static-modal'), ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Dynamic Modal', level=2), c.Markdown( text=( 'The button below will open a modal with content loaded from the server when ' "it's opened using `ServerLoad`." ) ), c.Button(text='Show Dynamic Modal', on_click=PageEvent(name='dynamic-modal')), c.Modal( title='Dynamic Modal', body=[c.ServerLoad(path='/components/dynamic-content')], footer=[ c.Button(text='Close', on_click=PageEvent(name='dynamic-modal', clear=True)), ], open_trigger=PageEvent(name='dynamic-modal'), ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Modal Form / Confirm prompt', level=2), c.Markdown(text='The button below will open a modal with a form.'), c.Button(text='Show Modal Form', on_click=PageEvent(name='modal-form')), c.Modal( title='Modal Form', body=[ c.Paragraph(text='Form inside a modal!'), c.Form( form_fields=[ c.FormFieldInput(name='foobar', title='Foobar', required=True), ], submit_url='/api/components/modal-form', footer=[], submit_trigger=PageEvent(name='modal-form-submit'), ), ], footer=[ c.Button( text='Cancel', named_style='secondary', on_click=PageEvent(name='modal-form', clear=True) ), c.Button(text='Submit', on_click=PageEvent(name='modal-form-submit')), ], open_trigger=PageEvent(name='modal-form'), ), c.Button(text='Show Modal Prompt', on_click=PageEvent(name='modal-prompt'), class_name='+ ms-2'), c.Modal( title='Form Prompt', body=[ c.Paragraph(text='Are you sure you want to do whatever?'), c.Form( form_fields=[], submit_url='/api/components/modal-prompt', loading=[c.Spinner(text='Okay, good luck...')], footer=[], submit_trigger=PageEvent(name='modal-form-submit'), ), ], footer=[ c.Button( text='Cancel', named_style='secondary', on_click=PageEvent(name='modal-prompt', clear=True) ), c.Button(text='Submit', on_click=PageEvent(name='modal-form-submit')), ], open_trigger=PageEvent(name='modal-prompt'), ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Server Load', level=2), c.Paragraph(text='Even simpler example of server load, replacing existing content.'), c.Button(text='Load Content from Server', on_click=PageEvent(name='server-load')), c.Div( components=[ c.ServerLoad( path='/components/dynamic-content', load_trigger=PageEvent(name='server-load'), components=[c.Text(text='before')], ), ], class_name='py-2', ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Server Load SSE', level=2), c.Markdown( text=( '`ServerLoad` can also be used to load content from an SSE stream.\n\n' "Here the response is the streamed output from OpenAI's GPT-4 chat model." ) ), c.Button(text='Load SSE content', on_click=PageEvent(name='server-load-sse')), c.Div( components=[ c.ServerLoad( path='/components/sse', sse=True, load_trigger=PageEvent(name='server-load-sse'), components=[c.Text(text='before')], ), ], class_name='my-2 p-2 border rounded', ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Iframe', level=2), c.Markdown(text='`Iframe` can be used to embed external content.'), c.Iframe(src='https://pydantic.dev', width='100%', height=400), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Image', level=2), c.Paragraph(text='An image component.'), c.Image( src='https://avatars.githubusercontent.com/u/110818415', alt='Pydantic Logo', width=200, height=200, loading='lazy', referrer_policy='no-referrer', class_name='border rounded', ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Spinner', level=2), c.Paragraph( text=( 'A component displayed while waiting for content to load, ' 'this is also used automatically while loading server content.' ) ), c.Spinner(text='Content incoming...'), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Video', level=2), c.Paragraph(text='A video component.'), c.Video( sources=['https://www.w3schools.com/html/mov_bbb.mp4'], autoplay=False, controls=True, loop=False, ), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Custom', level=2), c.Markdown( text="""\ Below is a custom component, in this case it implements [cowsay](https://en.wikipedia.org/wiki/Cowsay), but you might be able to do something even more useful with it. The statement spoken by the famous cow is provided by the backend.""" ), c.Custom(data='This is a custom component', sub_type='cowsay'), ], class_name='border-top mt-3 pt-1', ), c.Div( components=[ c.Heading(text='Button and Toast', level=2), c.Paragraph(text='The button below will open a toast.'), c.Button(text='Show Toast', on_click=PageEvent(name='show-toast')), c.Toast( title='Toast', body=[c.Paragraph(text='This is a toast.')], open_trigger=PageEvent(name='show-toast'), position='bottom-end', ), ], class_name='border-top mt-3 pt-1', ), title='Components', ) @router.get('/dynamic-content', response_model=FastUI, response_model_exclude_none=True) async def modal_view() -> list[AnyComponent]: await asyncio.sleep(0.5) return [c.Paragraph(text='This is some dynamic content. Open devtools to see me being fetched from the server.')] @router.post('/modal-form', response_model=FastUI, response_model_exclude_none=True) async def modal_form_submit() -> list[AnyComponent]: await asyncio.sleep(0.5) return [c.FireEvent(event=PageEvent(name='modal-form', clear=True))] @router.post('/modal-prompt', response_model=FastUI, response_model_exclude_none=True) async def modal_prompt_submit() -> list[AnyComponent]: await asyncio.sleep(0.5) return [c.FireEvent(event=PageEvent(name='modal-prompt', clear=True))] ================================================ FILE: demo/forms.py ================================================ from __future__ import annotations as _annotations import enum from collections import defaultdict from datetime import date from typing import Annotated, Literal, TypeAlias from fastapi import APIRouter, Request, UploadFile from fastui import AnyComponent, FastUI from fastui import components as c from fastui.events import GoToEvent, PageEvent from fastui.forms import FormFile, SelectSearchResponse, Textarea, fastui_form from httpx import AsyncClient from pydantic import BaseModel, EmailStr, Field, SecretStr, field_validator from pydantic_core import PydanticCustomError from .shared import demo_page router = APIRouter() @router.get('/search', response_model=SelectSearchResponse) async def search_view(request: Request, q: str) -> SelectSearchResponse: path_ends = f'name/{q}' if q else 'all' client: AsyncClient = request.app.state.httpx_client r = await client.get(f'https://restcountries.com/v3.1/{path_ends}') if r.status_code == 404: options = [] else: r.raise_for_status() data = r.json() if path_ends == 'all': # if we got all, filter to the 20 most populous countries data.sort(key=lambda x: x['population'], reverse=True) data = data[0:20] data.sort(key=lambda x: x['name']['common']) regions = defaultdict(list) for co in data: regions[co['region']].append({'value': co['cca3'], 'label': co['name']['common']}) options = [{'label': k, 'options': v} for k, v in regions.items()] return SelectSearchResponse(options=options) FormKind: TypeAlias = Literal['login', 'select', 'big'] @router.get('/{kind}', response_model=FastUI, response_model_exclude_none=True) def forms_view(kind: FormKind) -> list[AnyComponent]: return demo_page( c.LinkList( links=[ c.Link( components=[c.Text(text='Login Form')], on_click=PageEvent(name='change-form', push_path='/forms/login', context={'kind': 'login'}), active='/forms/login', ), c.Link( components=[c.Text(text='Select Form')], on_click=PageEvent(name='change-form', push_path='/forms/select', context={'kind': 'select'}), active='/forms/select', ), c.Link( components=[c.Text(text='Big Form')], on_click=PageEvent(name='change-form', push_path='/forms/big', context={'kind': 'big'}), active='/forms/big', ), ], mode='tabs', class_name='+ mb-4', ), c.ServerLoad( path='/forms/content/{kind}', load_trigger=PageEvent(name='change-form'), components=form_content(kind), ), title='Forms', ) @router.get('/content/{kind}', response_model=FastUI, response_model_exclude_none=True) def form_content(kind: FormKind): match kind: case 'login': return [ c.Heading(text='Login Form', level=2), c.Paragraph(text='Simple login form with email and password.'), c.ModelForm(model=LoginForm, display_mode='page', submit_url='/api/forms/login'), ] case 'select': return [ c.Heading(text='Select Form', level=2), c.Paragraph(text='Form showing different ways of doing select.'), c.ModelForm(model=SelectForm, display_mode='page', submit_url='/api/forms/select'), ] case 'big': return [ c.Heading(text='Large Form', level=2), c.Paragraph(text='Form with a lot of fields.'), c.ModelForm(model=BigModel, display_mode='page', submit_url='/api/forms/big'), ] case _: raise ValueError(f'Invalid kind {kind!r}') class LoginForm(BaseModel): email: EmailStr = Field(title='Email Address', description="Try 'x@y' to trigger server side validation") password: SecretStr @router.post('/login', response_model=FastUI, response_model_exclude_none=True) async def login_form_post(form: Annotated[LoginForm, fastui_form(LoginForm)]): print(form) return [c.FireEvent(event=GoToEvent(url='/'))] class ToolEnum(str, enum.Enum): hammer = 'hammer' screwdriver = 'screwdriver' saw = 'saw' claw_hammer = 'claw_hammer' class SelectForm(BaseModel): select_single: ToolEnum = Field(title='Select Single') select_multiple: list[ToolEnum] = Field(title='Select Multiple') search_select_single: str = Field(json_schema_extra={'search_url': '/api/forms/search'}) search_select_multiple: list[str] = Field(json_schema_extra={'search_url': '/api/forms/search'}) @field_validator('select_multiple', 'search_select_multiple', mode='before') @classmethod def correct_select_multiple(cls, v: list[str]) -> list[str]: if isinstance(v, list): return v else: return [v] @router.post('/select', response_model=FastUI, response_model_exclude_none=True) async def select_form_post(form: Annotated[SelectForm, fastui_form(SelectForm)]): # print(form) return [c.FireEvent(event=GoToEvent(url='/'))] class SizeModel(BaseModel): width: int = Field(description='This is a field of a nested model') height: int = Field(description='This is a field of a nested model') class BigModel(BaseModel): name: str | None = Field( None, description='This field is not required, it must start with a capital letter if provided' ) info: Annotated[str | None, Textarea(rows=5)] = Field(None, description='Optional free text information about you.') repo: str = Field(json_schema_extra={'placeholder': '{org}/{repo}'}, title='GitHub repository') profile_pic: Annotated[UploadFile, FormFile(accept='image/*', max_size=16_000)] = Field( description='Upload a profile picture, must not be more than 16kb' ) profile_pics: Annotated[list[UploadFile], FormFile(accept='image/*')] | None = Field( None, description='Upload multiple images' ) dob: date = Field(title='Date of Birth', description='Your date of birth, this is required hence bold') human: bool | None = Field( None, title='Is human', description='Are you human?', json_schema_extra={'mode': 'switch'} ) size: SizeModel position: tuple[ Annotated[int, Field(description='X Coordinate')], Annotated[int, Field(description='Y Coordinate')], ] @field_validator('name') def name_validator(cls, v: str | None) -> str: if v and v[0].islower(): raise PydanticCustomError('lower', 'Name must start with a capital letter') return v @router.post('/big', response_model=FastUI, response_model_exclude_none=True) async def big_form_post(form: Annotated[BigModel, fastui_form(BigModel)]): print(form) return [c.FireEvent(event=GoToEvent(url='/'))] ================================================ FILE: demo/main.py ================================================ from __future__ import annotations as _annotations from fastapi import APIRouter from fastui import AnyComponent, FastUI from fastui import components as c from .shared import demo_page router = APIRouter() @router.get('/', response_model=FastUI, response_model_exclude_none=True) def api_index() -> list[AnyComponent]: # language=markdown markdown = """\ This site provides a demo of [FastUI](https://github.com/pydantic/FastUI), the code for the demo is [here](https://github.com/pydantic/FastUI/tree/main/demo). You can find the documentation for FastUI [here](https://docs.pydantic.dev/fastui/). The following components are demonstrated: * `Markdown` — that's me :-) * `Text`— example [here](/components#text) * `Paragraph` — example [here](/components#paragraph) * `PageTitle` — you'll see the title in the browser tab change when you navigate through the site * `Heading` — example [here](/components#heading) * `Code` — example [here](/components#code) * `Button` — example [here](/components#button-and-modal) * `Link` — example [here](/components#link-list) * `LinkList` — example [here](/components#link-list) * `Navbar` — see the top of this page * `Footer` — see the bottom of this page * `Modal` — static example [here](/components#button-and-modal), dynamic content example [here](/components#dynamic-modal) * `ServerLoad` — see [dynamic modal example](/components#dynamic-modal) and [SSE example](/components#server-load-sse) * `Image` - example [here](/components#image) * `Iframe` - example [here](/components#iframe) * `Video` - example [here](/components#video) * `Toast` - example [here](/components#toast) * `Table` — See [cities table](/table/cities) and [users table](/table/users) * `Pagination` — See the bottom of the [cities table](/table/cities) * `ModelForm` — See [forms](/forms/login) Authentication is supported via: * token based authentication — see [here](/auth/login/password) for an example of password authentication * GitHub OAuth — see [here](/auth/login/github) for an example of GitHub OAuth login """ return demo_page(c.Markdown(text=markdown)) @router.get('/{path:path}', status_code=404) async def api_404(): # so we don't fall through to the index page return {'message': 'Not Found'} ================================================ FILE: demo/shared.py ================================================ from __future__ import annotations as _annotations from fastui import AnyComponent from fastui import components as c from fastui.events import GoToEvent def demo_page(*components: AnyComponent, title: str | None = None) -> list[AnyComponent]: return [ c.PageTitle(text=f'FastUI Demo — {title}' if title else 'FastUI Demo'), c.Navbar( title='FastUI Demo', title_event=GoToEvent(url='/'), start_links=[ c.Link( components=[c.Text(text='Components')], on_click=GoToEvent(url='/components'), active='startswith:/components', ), c.Link( components=[c.Text(text='Tables')], on_click=GoToEvent(url='/table/cities'), active='startswith:/table', ), c.Link( components=[c.Text(text='Auth')], on_click=GoToEvent(url='/auth/login/password'), active='startswith:/auth', ), c.Link( components=[c.Text(text='Forms')], on_click=GoToEvent(url='/forms/login'), active='startswith:/forms', ), ], ), c.Page( components=[ *((c.Heading(text=title),) if title else ()), *components, ], ), c.Footer( extra_text='FastUI Demo', links=[ c.Link( components=[c.Text(text='Github')], on_click=GoToEvent(url='https://github.com/pydantic/FastUI') ), c.Link(components=[c.Text(text='PyPI')], on_click=GoToEvent(url='https://pypi.org/project/fastui/')), c.Link(components=[c.Text(text='NPM')], on_click=GoToEvent(url='https://www.npmjs.com/org/pydantic/')), ], ), ] ================================================ FILE: demo/sse.py ================================================ import asyncio from collections.abc import AsyncIterable from itertools import chain from fastapi import APIRouter from fastui import FastUI from fastui import components as c from starlette.responses import StreamingResponse router = APIRouter() async def canned_ai_response_generator() -> AsyncIterable[str]: prompt = '**User:** What is SSE? Please include a javascript code example.\n\n**AI:** ' output = '' for time, text in chain([(0.5, prompt)], CANNED_RESPONSE): await asyncio.sleep(time) output += text m = FastUI(root=[c.Markdown(text=output)]) yield f'data: {m.model_dump_json(by_alias=True, exclude_none=True)}\n\n' @router.get('/sse') async def sse_ai_response() -> StreamingResponse: return StreamingResponse(canned_ai_response_generator(), media_type='text/event-stream') async def run_openai(): from time import perf_counter from openai import AsyncOpenAI messages = [ {'role': 'system', 'content': 'please response in markdown only.'}, {'role': 'user', 'content': 'What is SSE? Please include a javascript code example.'}, ] chunks = await AsyncOpenAI().chat.completions.create( model='gpt-4', messages=messages, stream=True, ) last = None result_chunks = [] async for chunk in chunks: now = perf_counter() if last is not None: t = now - last else: t = 0 text = chunk.choices[0].delta.content print(repr(text), t) if text is not None: result_chunks.append((t, text)) last = now print(result_chunks) text = ''.join(text for _, text in result_chunks) print(text) if __name__ == '__main__': asyncio.run(run_openai()) CANNED_RESPONSE: list[tuple[float, str]] = [ (0.00000, ''), (0.07685, 'Server'), (0.00111, '-S'), (0.00081, 'ent'), (0.10528, ' Events'), (0.00109, ' ('), (0.00062, 'S'), (0.10290, 'SE'), (0.00075, ')'), (0.00091, ' is'), (0.10360, ' a'), (0.00089, ' standard'), (0.00054, ' that'), (0.19121, ' allows'), (0.00088, ' web'), (0.00067, ' servers'), (0.22486, ' to'), (0.00101, ' push'), (0.00057, ' updates'), (0.10352, ' to'), (0.00148, ' the'), (0.00084, ' client'), (0.10238, '-side'), (0.00090, '.'), (0.00104, ' Unlike'), (0.10156, ' WebSocket'), (0.00109, ' communication'), (0.00063, ','), (0.10474, ' SSE'), (0.00080, ' is'), (0.00085, ' un'), (0.10158, 'id'), (0.00080, 'irectional'), (0.00097, ','), (0.10401, ' meaning'), (0.00099, ' the'), (0.00104, ' updates'), (0.11338, ' flow'), (0.00078, ' from'), (0.00080, ' server'), (0.09008, ' to'), (0.00072, ' client'), (0.00105, ' and'), (0.10391, ' not'), (0.00084, ' the'), (0.00080, ' other'), (0.10613, ' way'), (0.00110, ' around'), (0.00080, '.\n\n'), (0.10567, 'S'), (0.00076, 'SE'), (0.00085, ' is'), (0.09538, ' generally'), (0.00134, ' used'), (0.00052, ' for'), (0.10731, ' real'), (0.00108, '-time'), (0.00079, ' applications'), (0.09934, ' where'), (0.00065, ' updates'), (0.00061, ' from'), (0.10913, ' the'), (0.00111, ' server'), (0.00071, ' are'), (0.09556, ' needed'), (0.00065, ' periodically'), (0.00103, ','), (0.10564, ' for'), (0.00184, ' example'), (0.00077, ','), (0.17375, ' live'), (0.00067, ' news'), (0.00073, ' updates'), (0.02926, ','), (0.00084, ' real'), (0.00052, '-time'), (0.10552, ' monitoring'), (0.00080, ','), (0.00063, ' etc'), (0.10336, '.'), (0.00087, ' It'), (0.00095, ' is'), (0.10473, ' based'), (0.00100, ' on'), (0.00058, ' HTTP'), (0.10139, ' protocol'), (0.00096, ' and'), (0.00049, ' provides'), (0.14795, ' a'), (0.00073, ' simpler'), (0.00088, ' alternative'), (0.10304, ' to'), (0.00092, ' Web'), (0.00055, 'S'), (0.10849, 'ockets'), (0.00076, ' for'), (0.00096, ' use'), (0.09727, ' cases'), (0.00087, ' where'), (0.00080, ' you'), (0.11029, ' do'), (0.00060, ' not'), (0.00046, ' require'), (0.12591, ' bid'), (0.00084, 'irectional'), (0.00064, ' communication'), (0.07139, '.\n\n'), (0.00082, '**'), (0.00064, 'JavaScript'), (0.10693, ' Example'), (0.00078, '**\n\n'), (0.00064, '```'), (0.14820, 'javascript'), (0.00102, '\n'), (0.00066, 'let'), (0.10841, ' event'), (0.00073, 'Source'), (0.00112, ' ='), (0.09982, ' new'), (0.00171, ' Event'), (0.00087, 'Source'), (0.10119, '("'), (0.00129, 'https'), (0.00078, '://'), (0.10253, 'api'), (0.00080, '.example'), (0.00086, '.com'), (0.10223, '/stream'), (0.00069, '");\n\n'), (0.00051, 'event'), (0.10391, 'Source'), (0.00082, '.on'), (0.00090, 'message'), (0.10570, ' ='), (0.00286, ' function'), (0.00061, '(event'), (0.08790, ')'), (0.00098, ' {\n'), (0.00058, ' '), (0.09117, ' console'), (0.00061, '.log'), (0.00118, '("'), (0.14843, 'New'), (0.00085, ' event'), (0.00054, ' received'), (0.09681, ':'), (0.00078, ' ",'), (0.00092, ' event'), (0.09540, '.data'), (0.00075, ');\n'), (0.00077, '};\n\n'), (0.10102, 'event'), (0.00096, 'Source'), (0.00058, '.onerror'), (0.09409, ' ='), (0.00088, ' function'), (0.00063, '(err'), (0.10187, ')'), (0.00080, ' {\n'), (0.00062, ' '), (0.10227, ' console'), (0.00098, '.error'), (0.00062, '("'), (0.09445, 'Event'), (0.00103, 'Source'), (0.00080, ' failed'), (0.10366, ':",'), (0.00073, ' err'), (0.00101, ');\n'), (0.09442, '};\n'), (0.00088, '``'), (0.00051, '`\n\n'), (0.10121, 'Here'), (0.00156, ','), (0.00077, ' `'), (0.09582, 'https'), (0.00072, '://'), (0.00083, 'api'), (0.09987, '.example'), (0.00082, '.com'), (0.00088, '/stream'), (0.10323, '`'), (0.00070, ' is'), (0.00075, ' the'), (0.09308, ' endpoint'), (0.00118, ' which'), (0.00080, ' sends'), (0.10005, ' the'), (0.00091, ' updates'), (0.00091, '.\n\n'), (0.09656, '**'), (0.00272, 'Fast'), (0.00068, 'API'), (0.10638, ' Example'), (0.00069, '**\n\n'), (0.00068, '```'), (0.09220, 'python'), (0.00068, '\n'), (0.00102, 'from'), (0.16155, ' fast'), (0.00082, 'api'), (0.00054, ' import'), (0.09223, ' Fast'), (0.00075, 'API'), (0.00064, '\n'), (0.09892, 'from'), (0.00071, ' fast'), (0.00051, 'api'), (0.00075, '.responses'), (0.00071, ' import'), (0.00058, ' Streaming'), (0.00081, 'Response'), (0.00052, '\n\n'), (0.10306, 'app'), (0.00075, ' ='), (0.00088, ' Fast'), (0.09503, 'API'), (0.00260, '()\n\n'), (0.00054, 'def'), (0.09160, ' event'), (0.00075, '_generator'), (0.00067, '():\n'), (0.09801, ' '), (0.00080, ' yield'), (0.00086, " {'"), (0.07686, 'data'), (0.00125, "':"), (0.00087, " '"), (0.08182, 'Initial'), (0.00086, ' message'), (0.00052, "'}\n"), (0.16532, ' '), (0.00114, ' for'), (0.00058, ' i'), (0.10338, ' in'), (0.00080, ' range'), (0.00082, '('), (0.10311, '5'), (0.00075, '):\n'), (0.00066, ' '), (0.09347, ' yield'), (0.00080, " {'"), (0.00060, 'data'), (0.10470, "':"), (0.00077, ' f'), (0.00052, "'M"), (0.10310, 'essage'), (0.00070, ' {'), (0.00103, 'i'), (0.09362, "}'"), (0.00091, '}\n\n'), (0.00068, '@app'), (0.09475, '.get'), (0.00078, '("/'), (0.00078, 'stream'), (0.08145, '")\n'), (0.00064, 'async'), (0.00067, ' def'), (0.08127, ' get'), (0.00141, '_event'), (0.00049, '_stream'), (0.08973, '():\n'), (0.00095, ' '), (0.00089, ' return'), (0.07297, ' Streaming'), (0.00092, 'Response'), (0.19895, '(event'), (0.00075, '_generator'), (0.00049, '(),'), (0.00092, ' media_type'), (0.00066, '='), (0.00052, "'text/"), (0.00073, "event-stream'"), (0.00050, ')\n'), (0.07387, '``'), (0.00066, '`\n\n'), (0.00054, 'In'), (0.08289, ' the'), (0.00088, ' Fast'), (0.00093, 'API'), (0.14361, ' example'), (0.00087, ','), (0.00060, ' the'), (0.01910, ' client'), (0.00074, ' would'), (0.00059, ' receive'), (0.08010, ' an'), (0.00232, ' event'), (0.00059, ' with'), (0.07788, " '"), (0.00101, 'Initial'), (0.00061, ' message'), (0.50112, "',"), (0.00061, ' followed'), (0.00049, ' by'), (0.05819, " '"), (0.00072, 'Message'), (0.00060, ' '), (0.11164, '0'), (0.00075, "',"), (0.00096, " '"), (0.10626, 'Message'), (0.00081, ' '), (0.00051, '1'), (0.11977, "',"), (0.00071, ' ...,'), (0.00051, " '"), (0.11939, 'Message'), (0.00081, ' '), (0.00059, '4'), (0.11833, "'."), (0.00059, ' Each'), (0.00025, ' message'), (0.11457, ' is'), (0.00063, ' an'), (0.00058, ' individual'), (0.11788, ' Server'), (0.00084, '-S'), (0.00037, 'ent'), (0.00046, ' Event'), (0.00026, '.'), ] ================================================ FILE: demo/tables.py ================================================ from datetime import date from functools import cache from pathlib import Path import pydantic from fastapi import APIRouter from fastui import AnyComponent, FastUI from fastui import components as c from fastui.components.display import DisplayLookup, DisplayMode from fastui.events import BackEvent, GoToEvent from pydantic import BaseModel, Field, TypeAdapter from .shared import demo_page router = APIRouter() class City(BaseModel): id: int = Field(title='ID') city: str = Field(title='Name') city_ascii: str = Field(title='City Ascii') lat: float = Field(title='Latitude') lng: float = Field(title='Longitude') country: str = Field(title='Country') iso2: str = Field(title='ISO2') iso3: str = Field(title='ISO3') admin_name: str | None = Field(title='Admin Name') capital: str | None = Field(title='Capital') population: float = Field(title='Population') @cache def cities_list() -> list[City]: cities_adapter = TypeAdapter(list[City]) cities_file = Path(__file__).parent / 'cities.json' cities = cities_adapter.validate_json(cities_file.read_bytes()) cities.sort(key=lambda city: city.population, reverse=True) return cities @cache def cities_lookup() -> dict[id, City]: return {city.id: city for city in cities_list()} class FilterForm(pydantic.BaseModel): country: str = Field(json_schema_extra={'search_url': '/api/forms/search', 'placeholder': 'Filter by Country...'}) @router.get('/cities', response_model=FastUI, response_model_exclude_none=True) def cities_view(page: int = 1, country: str | None = None) -> list[AnyComponent]: cities = cities_list() page_size = 50 filter_form_initial = {} if country: cities = [city for city in cities if city.iso3 == country] country_name = cities[0].country if cities else country filter_form_initial['country'] = {'value': country, 'label': country_name} return demo_page( *tabs(), c.ModelForm( model=FilterForm, submit_url='.', initial=filter_form_initial, method='GOTO', submit_on_change=True, display_mode='inline', ), c.Table( data=cities[(page - 1) * page_size : page * page_size], data_model=City, columns=[ DisplayLookup(field='city', on_click=GoToEvent(url='./{id}'), table_width_percent=33), DisplayLookup(field='country', table_width_percent=33), DisplayLookup(field='population', table_width_percent=33), ], ), c.Pagination(page=page, page_size=page_size, total=len(cities)), title='Cities', ) @router.get('/cities/{city_id}', response_model=FastUI, response_model_exclude_none=True) def city_view(city_id: int) -> list[AnyComponent]: city = cities_lookup()[city_id] return demo_page( *tabs(), c.Link(components=[c.Text(text='Back')], on_click=BackEvent()), c.Details(data=city), title=city.city, ) class User(BaseModel): id: int = Field(title='ID') name: str = Field(title='Name') dob: date = Field(title='Date of Birth') enabled: bool | None = None status_markdown: str | None = Field(default=None, title='Status') users: list[User] = [ User(id=1, name='John', dob=date(1990, 1, 1), enabled=True, status_markdown='**Active**'), User(id=2, name='Jane', dob=date(1991, 1, 1), enabled=False, status_markdown='*Inactive*'), User(id=3, name='Jack', dob=date(1992, 1, 1)), ] @router.get('/users', response_model=FastUI, response_model_exclude_none=True) def users_view() -> list[AnyComponent]: return demo_page( *tabs(), c.Table( data=users, columns=[ DisplayLookup(field='name', on_click=GoToEvent(url='/table/users/{id}/')), DisplayLookup(field='dob', mode=DisplayMode.date), DisplayLookup(field='enabled'), DisplayLookup(field='status_markdown', mode=DisplayMode.markdown), ], ), title='Users', ) def tabs() -> list[AnyComponent]: return [ c.LinkList( links=[ c.Link( components=[c.Text(text='Cities')], on_click=GoToEvent(url='/table/cities'), active='startswith:/table/cities', ), c.Link( components=[c.Text(text='Users')], on_click=GoToEvent(url='/table/users'), active='startswith:/table/users', ), ], mode='tabs', class_name='+ mb-4', ), ] @router.get('/users/{id}/', response_model=FastUI, response_model_exclude_none=True) def user_profile(id: int) -> list[AnyComponent]: user: User | None = users[id - 1] if id <= len(users) else None return demo_page( *tabs(), c.Link(components=[c.Text(text='Back')], on_click=BackEvent()), c.Details( data=user, fields=[ DisplayLookup(field='name'), DisplayLookup(field='dob', mode=DisplayMode.date), DisplayLookup(field='enabled'), ], ), title=user.name, ) ================================================ FILE: demo/tests.py ================================================ import re import pytest from dirty_equals import IsList, IsStr from fastapi.testclient import TestClient from . import app @pytest.fixture def client(): with TestClient(app) as test_client: yield test_client def test_index(client: TestClient): r = client.get('/') assert r.status_code == 200, r.text assert r.text.startswith('\n') assert r.headers.get('content-type') == 'text/html; charset=utf-8' def test_api_root(client: TestClient): r = client.get('/api/') assert r.status_code == 200 data = r.json() assert data == [ { 'text': 'FastUI Demo', 'type': 'PageTitle', }, { 'title': 'FastUI Demo', 'titleEvent': {'url': '/', 'type': 'go-to'}, 'startLinks': IsList(length=4), 'endLinks': [], 'type': 'Navbar', }, { 'components': [ { 'text': IsStr(regex='This site provides a demo of.*', regex_flags=re.DOTALL), 'type': 'Markdown', }, ], 'type': 'Page', }, { 'extraText': 'FastUI Demo', 'links': IsList(length=3), 'type': 'Footer', }, ] def get_menu_links(): """ This is pretty cursory, we just go through the menu and load each page. """ with TestClient(app) as client: r = client.get('/api/') assert r.status_code == 200 data = r.json() for link in data[1]['startLinks']: url = link['onClick']['url'] yield pytest.param(f'/api{url}', id=url) @pytest.mark.parametrize('url', get_menu_links()) def test_menu_links(client: TestClient, url: str): r = client.get(url) assert r.status_code == 200 data = r.json() assert isinstance(data, list) # def test_forms_validate_correct_select_multiple(client: TestClient): # countries = client.get('api/forms/search', params={'q': None}) # countries_options = countries.json()['options'] # r = client.post( # 'api/forms/select', # data={ # 'select_single': ToolEnum._member_names_[0], # 'select_multiple': ToolEnum._member_names_[0], # 'search_select_single': countries_options[0]['options'][0]['value'], # 'search_select_multiple': countries_options[0]['options'][0]['value'], # }, # ) # assert r.status_code == 200 # TODO tests for forms, including submission ================================================ FILE: docs/api/python_components.md ================================================ # Python Components ::: fastui.components handler: python options: inherited_members: true docstring_options: ignore_init_summary: false members: - Text - Paragraph - PageTitle - Div - Page - Heading - Markdown - Code - Json - Button - Link - LinkList - Navbar - Modal - ServerLoad - Image - Iframe - FireEvent - Error - Spinner - Toast - Custom - Table - Pagination - Display - Details - Form - FormField - ModelForm - Footer - AnyComponent - FormFieldBoolean - FormFieldFile - FormFieldInput - FormFieldSelect - FormFieldSelectSearch ================================================ FILE: docs/api/typescript_components.md ================================================ # TypeScript Components !!! warning "🚧 Work in Progress" This page is a work in progress. ================================================ FILE: docs/extra/tweaks.css ================================================ /* Revert hue value to that of pre mkdocs-material v9.4.0 */ [data-md-color-scheme='slate'] { --md-hue: 230; --md-default-bg-color: hsla(230, 15%, 21%, 1); } ================================================ FILE: docs/guide.md ================================================ !!! warning "🚧 Work in Progress" This page is a work in progress. ================================================ FILE: docs/index.md ================================================ # FastUI ## The Principle FastUI is a new way to build web application user interfaces defined by declarative Python code. This means: - **If you're a Python developer** — you can build responsive web applications using React without writing a single line of JavaScript, or touching `npm`. - **If you're a frontend developer** — you can concentrate on building magical components that are truly reusable, no copy-pasting components for each view. - **For everyone** — a true separation of concerns, the backend defines the entire application; while the frontend is free to implement just the user interface At its heart, FastUI is a set of matching [Pydantic](https://docs.pydantic.dev) models and TypeScript interfaces that allow you to define a user interface. This interface is validated at build time by TypeScript and pyright/mypy and at runtime by Pydantic. You can see a simple demo of an application built with FastUI [here](https://fastui-demo.onrender.com). ## The Practice - Installation FastUI is made up of 4 things: - [`fastui` PyPI package](https://pypi.python.org/pypi/fastui) — Pydantic models for UI components, and some utilities. While it works well with [FastAPI](https://fastapi.tiangolo.com) it doesn't depend on FastAPI, and most of it could be used with any python web framework. - [`@pydantic/fastui` npm package](https://www.npmjs.com/package/@pydantic/fastui) — a React TypeScript package that lets you reuse the machinery and types of FastUI while implementing your own components - [`@pydantic/fastui-bootstrap` npm package](https://www.npmjs.com/package/@pydantic/fastui-bootstrap) — implementation/customisation of all FastUI components using [Bootstrap](https://getbootstrap.com) - [`@pydantic/fastui-prebuilt` npm package](https://www.jsdelivr.com/package/npm/@pydantic/fastui-prebuilt) (available on [jsdelivr.com CDN](https://www.jsdelivr.com/package/npm/@pydantic/fastui-prebuilt)) providing a pre-built version of the FastUI React app so you can use it without installing any npm packages or building anything yourself. The Python package provides a simple HTML page to serve this app. ## Usage Here's a simple but complete FastAPI application that uses FastUI to show some user profiles: ```python from datetime import date from fastapi import FastAPI, HTTPException from fastapi.responses import HTMLResponse from fastui import FastUI, AnyComponent, prebuilt_html, components as c from fastui.components.display import DisplayMode, DisplayLookup from fastui.events import GoToEvent, BackEvent from pydantic import BaseModel, Field app = FastAPI() class User(BaseModel): id: int name: str dob: date = Field(title='Date of Birth') # define some users users = [ User(id=1, name='John', dob=date(1990, 1, 1)), User(id=2, name='Jack', dob=date(1991, 1, 1)), User(id=3, name='Jill', dob=date(1992, 1, 1)), User(id=4, name='Jane', dob=date(1993, 1, 1)), ] @app.get("/api/", response_model=FastUI, response_model_exclude_none=True) def users_table() -> list[AnyComponent]: """ Show a table of four users, `/api` is the endpoint the frontend will connect to when a user visits `/` to fetch components to render. """ return [ c.Page( # Page provides a basic container for components components=[ c.Heading(text='Users', level=2), # renders `

Users

` c.Table( data=users, # define two columns for the table columns=[ # the first is the users, name rendered as a link to their profile DisplayLookup(field='name', on_click=GoToEvent(url='/user/{id}/')), # the second is the date of birth, rendered as a date DisplayLookup(field='dob', mode=DisplayMode.date), ], ), ] ), ] @app.get("/api/user/{user_id}/", response_model=FastUI, response_model_exclude_none=True) def user_profile(user_id: int) -> list[AnyComponent]: """ User profile page, the frontend will fetch this when the user visits `/user/{id}/`. """ try: user = next(u for u in users if u.id == user_id) except StopIteration: raise HTTPException(status_code=404, detail="User not found") return [ c.Page( components=[ c.Heading(text=user.name, level=2), c.Link(components=[c.Text(text='Back')], on_click=BackEvent()), c.Details(data=user), ] ), ] @app.get('/{path:path}') async def html_landing() -> HTMLResponse: """Simple HTML page which serves the React app, comes last as it matches all paths.""" return HTMLResponse(prebuilt_html(title='FastUI Demo')) ``` Which renders like this: ![screenshot](https://raw.githubusercontent.com/pydantic/FastUI/main/screenshot.png) Of course, that's a very simple application, the [full demo](https://fastui-demo.onrender.com) is more complete. ### The Principle (long version) FastUI is an implementation of the RESTful principle; but not as it's usually understood, instead I mean the principle defined in the original [PhD dissertation](https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm) by Roy Fielding, and excellently summarised in [this essay on htmx.org](https://htmx.org/essays/how-did-rest-come-to-mean-the-opposite-of-rest/) (HTMX people, I'm sorry to use your article to promote React which I know you despise 🙏). The RESTful principle as described in the HTMX article is that the frontend doesn't need to (and shouldn't) know anything about the application you're building. Instead, it should just provide all the components you need to construct the interface, the backend can then tell the frontend what to do. Think of your frontend as a puppet, and the backend as the hand within it — the puppet doesn't need to know what to say, that's kind of the point. Building an application this way has a number of significant advantages: - You only need to write code in one place to build a new feature — add a new view, change the behavior of an existing view or alter the URL structure - Deploying the front and backend can be completely decoupled, provided the frontend knows how to render all the components the backend is going to ask it to use, you're good to go - You should be able to reuse a rich set of opensource components, they should end up being better tested and more reliable than anything you could build yourself, this is possible because the components need no context about how they're going to be used (note: since FastUI is brand new, this isn't true yet, hopefully we get there) - We can use Pydantic, TypeScript and JSON Schema to provide guarantees that the two sides are communicating with an agreed schema In the abstract, FastUI is like the opposite of GraphQL but with the same goal — GraphQL lets frontend developers extend an application without any new backend development; FastUI lets backend developers extend an application without any new frontend development. #### Beyond Python and React Of course, this principle shouldn't be limited to Python and React applications — provided we use the same set of agreed schemas and encoding to communicate, we should be able to use any frontend and backend that implements the schema. Interchangeably. This could mean: - Implementing a web frontend using another JS framework like Vue — lots of work, limited value - Implementing a web frontend using an edge server, so the browser just sees HTML — lots of work but very valuable - Implementing frontends for other platforms like mobile or IOT — lots of work, no idea if it's actually a good idea? - Implementing the component models in another language like Rust or Go — since there's actually not that much code in the backend, so this would be a relatively small and mechanical task ================================================ FILE: docs/plugins.py ================================================ import os import re from typing import Match from mkdocs.config import Config from mkdocs.structure.files import Files from mkdocs.structure.pages import Page try: import pytest except ImportError: pytest = None def on_pre_build(config: Config): pass def on_files(files: Files, config: Config) -> Files: return remove_files(files) def remove_files(files: Files) -> Files: to_remove = [] for file in files: if file.src_path in {'plugins.py'}: to_remove.append(file) elif file.src_path.startswith('__pycache__/'): to_remove.append(file) for f in to_remove: files.remove(f) return files def on_page_markdown(markdown: str, page: Page, config: Config, files: Files) -> str: markdown = remove_code_fence_attributes(markdown) return add_version(markdown, page) def add_version(markdown: str, page: Page) -> str: if page.file.src_uri == 'index.md': version_ref = os.getenv('GITHUB_REF') if version_ref and version_ref.startswith('refs/tags/'): version = re.sub('^refs/tags/', '', version_ref.lower()) url = f'https://github.com/pydantic/FastUI/releases/tag/{version}' version_str = f'Documentation for version: [{version}]({url})' elif sha := os.getenv('GITHUB_SHA'): sha = sha[:7] url = f'https://github.com/pydantic/FastUI/commit/{sha}' version_str = f'Documentation for development version: [{sha}]({url})' else: version_str = 'Documentation for development version' markdown = re.sub(r'{{ *version *}}', version_str, markdown) return markdown def remove_code_fence_attributes(markdown: str) -> str: """ There's no way to add attributes to code fences that works with both pycharm and mkdocs, hence we use `py key="value"` to provide attributes to pytest-examples, then remove those attributes here. https://youtrack.jetbrains.com/issue/IDEA-297873 & https://python-markdown.github.io/extensions/fenced_code_blocks/ """ def remove_attrs(match: Match[str]) -> str: suffix = re.sub( r' (?:test|lint|upgrade|group|requires|output|rewrite_assert)=".+?"', '', match.group(2), flags=re.M ) return f'{match.group(1)}{suffix}' return re.sub(r'^( *``` *py)(.*)', remove_attrs, markdown, flags=re.M) ================================================ FILE: mkdocs.yml ================================================ site_name: FastUI site_description: Build web application user interfaces defined by declarative Python code. site_url: https://docs.pydantic.dev/fastui/ theme: name: 'material' palette: - media: "(prefers-color-scheme: light)" scheme: default primary: pink accent: pink toggle: icon: material/lightbulb-outline name: "Switch to dark mode" - media: "(prefers-color-scheme: dark)" scheme: slate primary: pink accent: pink toggle: icon: material/lightbulb name: "Switch to light mode" features: - content.code.annotate - content.tabs.link - content.code.copy - announce.dismiss - navigation.tabs - search.suggest - search.highlight logo: assets/logo-white.svg favicon: assets/favicon.png repo_name: pydantic/FastUI repo_url: https://github.com/pydantic/FastUI edit_uri: '' # https://www.mkdocs.org/user-guide/configuration/#validation validation: omitted_files: warn absolute_links: warn unrecognized_links: warn extra_css: - 'extra/tweaks.css' # TODO: add flarelytics support # extra_javascript: # - '/flarelytics/client.js' markdown_extensions: - toc: permalink: true - admonition - pymdownx.details - pymdownx.extra - pymdownx.superfences - pymdownx.highlight: anchor_linenums: true - pymdownx.inlinehilite - pymdownx.snippets - attr_list - md_in_html - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg watch: - src plugins: - search - mkdocstrings: handlers: python: paths: - src/python-fastui options: members_order: source separate_signature: true docstring_options: ignore_init_summary: true merge_init_into_class: true show_signature_annotations: true signature_crossrefs: true - mkdocs-simple-hooks: hooks: on_pre_build: 'docs.plugins:on_pre_build' on_files: 'docs.plugins:on_files' on_page_markdown: 'docs.plugins:on_page_markdown' nav: - Introduction: index.md - Guide: guide.md - API Documentation: - Python Components: api/python_components.md - TypeScript Components: api/typescript_components.md ================================================ FILE: package.json ================================================ { "name": "FastUI", "private": true, "type": "module", "workspaces": [ "src/*" ], "scripts": { "dev": "npm run --workspace=@pydantic/fastui-prebuilt dev", "build": "npm run --workspaces prepublishOnly", "typecheck": "npm run --workspaces typecheck", "lint": "eslint src --ext .ts,.tsx --report-unused-disable-directives --max-warnings 0", "lint-fix": "npm run lint -- --fix", "prettier": "prettier --write", "format": "npm run prettier -- . && npm run lint-fix", "generate-json-schema": "./src/python-fastui/tests/react-fastui-json-schema.sh" }, "prettier": { "singleQuote": true, "semi": false, "trailingComma": "all", "tabWidth": 2, "printWidth": 119, "bracketSpacing": true }, "devDependencies": { "@types/node": "^20.9.1", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", "eslint-plugin-simple-import-sort": "^10.0.0", "json-schema-to-typescript": "^15.0.4", "typescript": "^5.0.2" }, "dependencies": { "prettier": "^3.2.5", "typedoc": "^0.25.13" } } ================================================ FILE: pyproject.toml ================================================ # this is not the used for the python package "fastui", # for that see packages/python-fastui/pyproject.toml [tool.ruff] line-length = 120 extend-select = ["Q", "RUF100", "UP", "I"] flake8-quotes = {inline-quotes = "single", multiline-quotes = "double"} format.quote-style="single" target-version = "py310" [tool.pyright] include = ["src/python-fastui/fastui"] [tool.pytest.ini_options] testpaths = [ "src/python-fastui/tests", "demo/tests.py", ] xfail_strict = true filterwarnings = ["error"] asyncio_mode = "auto" [tool.coverage.run] source = ["src/python-fastui/fastui"] omit = [ "src/python-fastui/fastui/__main__.py", "src/python-fastui/fastui/generate_typescript.py", ] [tool.coverage.report] precision = 2 exclude_lines = [ 'pragma: no cover', 'raise NotImplementedError', 'if TYPE_CHECKING:', 'if typing.TYPE_CHECKING:', '@overload', '@typing.overload', '\(Protocol\):$', ] ================================================ FILE: requirements/docs.in ================================================ mkdocs mkdocs-material mkdocs-simple-hooks mkdocstrings[python] mkdocs-redirects mkdocs-material-extensions ================================================ FILE: requirements/docs.txt ================================================ # # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # pip-compile --output-file=requirements/docs.txt requirements/docs.in # babel==2.14.0 # via mkdocs-material certifi==2024.2.2 # via requests charset-normalizer==3.3.2 # via requests click==8.1.7 # via # mkdocs # mkdocstrings colorama==0.4.6 # via # griffe # mkdocs-material ghp-import==2.1.0 # via mkdocs griffe==0.44.0 # via mkdocstrings-python idna==3.7 # via requests jinja2==3.1.3 # via # mkdocs # mkdocs-material # mkdocstrings markdown==3.6 # via # mkdocs # mkdocs-autorefs # mkdocs-material # mkdocstrings # pymdown-extensions markupsafe==2.1.5 # via # jinja2 # mkdocs # mkdocs-autorefs # mkdocstrings mergedeep==1.3.4 # via mkdocs mkdocs==1.5.3 # via # -r requirements/docs.in # mkdocs-autorefs # mkdocs-material # mkdocs-redirects # mkdocs-simple-hooks # mkdocstrings mkdocs-autorefs==1.0.1 # via mkdocstrings mkdocs-material==9.5.18 # via -r requirements/docs.in mkdocs-material-extensions==1.3.1 # via # -r requirements/docs.in # mkdocs-material mkdocs-redirects==1.2.1 # via -r requirements/docs.in mkdocs-simple-hooks==0.1.5 # via -r requirements/docs.in mkdocstrings[python]==0.24.3 # via # -r requirements/docs.in # mkdocstrings-python mkdocstrings-python==1.10.0 # via mkdocstrings packaging==24.0 # via mkdocs paginate==0.5.6 # via mkdocs-material pathspec==0.12.1 # via mkdocs platformdirs==4.2.0 # via # mkdocs # mkdocstrings pygments==2.17.2 # via mkdocs-material pymdown-extensions==10.8 # via # mkdocs-material # mkdocstrings python-dateutil==2.9.0.post0 # via ghp-import pyyaml==6.0.1 # via # mkdocs # pymdown-extensions # pyyaml-env-tag pyyaml-env-tag==0.1 # via mkdocs regex==2024.4.16 # via mkdocs-material requests==2.31.0 # via mkdocs-material six==1.16.0 # via python-dateutil urllib3==2.2.1 # via requests watchdog==4.0.0 # via mkdocs ================================================ FILE: src/npm-fastui/LICENSE ================================================ The MIT License (MIT) Copyright (c) 2023 to present Pydantic Services inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: src/npm-fastui/README.md ================================================ # FastUI React frontend for [FastUI](https://github.com/pydantic/FastUI). ================================================ FILE: src/npm-fastui/package.json ================================================ { "name": "@pydantic/fastui", "version": "0.0.26", "description": "Build better UIs faster.", "main": "dist/index.js", "types": "dist/index.d.ts", "author": "Samuel Colvin", "license": "MIT", "homepage": "https://github.com/pydantic/fastui", "private": false, "keywords": [ "fastui", "jsx", "typescript", "react", "fastapi" ], "scripts": { "prepublishOnly": "rm -rf dist && tsc", "typecheck": "tsc --noEmit", "typewatch": "tsc --noEmit --watch" }, "dependencies": { "@microsoft/fetch-event-source": "^2.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-markdown": "^9.0.1", "react-select": "^5.8.0", "react-syntax-highlighter": "^15.5.0", "remark-gfm": "^4.0.0" }, "devDependencies": { "@types/react-syntax-highlighter": "^15.5.10" } } ================================================ FILE: src/npm-fastui/src/Defaults.tsx ================================================ import { FC, ReactNode } from 'react' export const DefaultNotFound: FC<{ url: string }> = ({ url }) =>
Page not found: {url}
// default here does nothing export const DefaultTransition: FC<{ children: ReactNode; transitioning: boolean }> = ({ children }) => (
{children}
) ================================================ FILE: src/npm-fastui/src/components/Code.tsx ================================================ import { lazy } from 'react' export const CodeComp = lazy(() => import('./CodeLazy')) ================================================ FILE: src/npm-fastui/src/components/CodeLazy.tsx ================================================ import * as codeStyles from 'react-syntax-highlighter/dist/esm/styles/prism' import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter' import type { Code } from '../models' import { useClassName } from '../hooks/className' export default function (props: Code) { const { text, language, codeStyle } = props const codeLookup = codeStyle as keyof typeof codeStyles const style = (codeStyle && codeStyles[codeLookup]) || codeStyles.coldarkCold return ( {text} ) } ================================================ FILE: src/npm-fastui/src/components/Custom.tsx ================================================ import { FC } from 'react' import type { Custom } from '../models' import { DisplayError } from '../hooks/error' import { JsonComp } from './Json' export const CustomComp: FC = (props) => { const { data, subType, library } = props const description = [`The custom component "${subType}"`] if (library) { description.push(`from library "${library}"`) } description.push(`has no implementation with this frontend app.`) return ( Custom component data: ) } ================================================ FILE: src/npm-fastui/src/components/FireEvent.tsx ================================================ import { FC, useEffect } from 'react' import type { FireEvent } from '../models' import { useFireEvent } from '../events' export const FireEventComp: FC = ({ event, message }) => { const { fireEvent } = useFireEvent() useEffect(() => { // debounce the event so changes to fireEvent (from location changes) don't trigger the event many times const clear = setTimeout(() => fireEvent(event), 50) return () => clearTimeout(clear) }, [fireEvent, event]) return <>{message} } ================================================ FILE: src/npm-fastui/src/components/FormField.tsx ================================================ import { FC, useState } from 'react' import AsyncSelect from 'react-select/async' import Select, { StylesConfig } from 'react-select' import type { FormFieldInput, FormFieldTextarea, FormFieldBoolean, FormFieldFile, FormFieldSelect, FormFieldSelectSearch, SelectOption, SelectOptions, SelectGroup, } from '../models' import { useClassName } from '../hooks/className' import { debounce, useRequest } from '../tools' type PrivateOnChange = () => void interface FormFieldInputProps extends FormFieldInput { onChange?: PrivateOnChange } export const FormFieldInputComp: FC = (props) => { const { name, placeholder, required, htmlType, locked, autocomplete, onChange } = props return (
) } interface FormFieldTextareaProps extends FormFieldTextarea { onChange?: PrivateOnChange } export const FormFieldTextareaComp: FC = (props) => { const { name, placeholder, required, locked, rows, cols, autocomplete } = props return (