World Cities (40 points, GeoJSON)
The same 40 world cities as a GeoJSON FeatureCollection of Points (longitude, latitude order per RFC 7946), each with name, country, and population properties. The mapping twin of the CSV, for testing GeoJSON parsers and map renderers.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
139.6503,
35.6762
]
},
"properties": {
"name": "Tokyo",
"country": "JP",
"population": 37400068
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
77.1025,
28.7041
]
},
"properties": {
"name": "Delhi",
"country": "IN",
"population": 32941308
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
121.4737,
31.2304
]
},
"properties": {
"name": "Shanghai",
"country": "CN",
"population": 29210808
}
},
{
"type": "Feature",Specifications
- Features
- 40
- Geometry
- Point
- Note
- [longitude, latitude] order per RFC 7946
What is a .geojson file?
GeoJSON is a JSON-based format for encoding geographic data structures such as points, lines, and polygons, along with their properties. It uses WGS84 longitude-latitude coordinates and standard feature and feature-collection objects. It is a common interchange format for web mapping and GIS.
How to use this file
Use an example GeoJSON file to test geometry parsing, coordinate handling, and mapping libraries or GIS pipelines that render or analyze spatial features.
Code examples
import geopandas as gpd
gdf = gpd.read_file("world-cities.geojson")
print(gdf.head())
print(gdf.crs)Related files
- csvReal-estate Listings (CSV, 30 rows)A property-listings dataset — 30 homes with address, type, price, beds/baths, size, year built, coordinates, and status. Synthetic data for testing listing importers, map plots, and price analytics.

- jsonReal-estate Listings (JSON, 30 records)The property listings as a JSON array — the format twin of the CSV, for import and mapping tests.

- csvBank Transactions (CSV, 60 rows)A bank-transaction statement — 60 debits and credits across three accounts (masked numbers) with running balances, categories, and merchants. Synthetic data for testing statement parsers, categorisation, and reconciliation.

- jsonBank Transactions (JSON, 60 records)The bank transactions as a JSON array — the format twin of the CSV, for import and reconciliation testing.

- csvE-commerce Customers (CSV, 500 rows)A realistic e-commerce customer directory (500 rows) — part of a relational dataset (products, customers, orders) with CSV, JSON, SQL, and Parquet twins for testing joins, imports, and conversion.

- jsonE-commerce Customers (JSON, 500 records)The e-commerce customers table as a JSON array — the format twin of the CSV, for import and conversion testing.

Generated by generation/data_graphs.py. Free for any use, no attribution required — license.