Loader and query interface for Geomelon per-country data packages (@geomelon/<country>). Every generated country package depends on this and re-exports a ready-made dataset instead of a bare JSON array.
const spain = require('@geomelon/spain')
spain.cities({ name: 'Barcel' }) // prefix match, checks every translation too
spain.cities({ minPopulation: 1000000 })
spain.cities({ regionId: 'region-1', limit: 10 })
spain.city('Q1492') // by Geomelon id or Wikidata id
spain.regions({ name: 'Cataluña' })
spain.country // country-level fields
spain.meta // generatedAt, recordCount, license, sourceOr build a dataset directly from a raw payload (e.g. downloaded separately, or from a package whose main you didn't use):
import { createGeomelonDataset } from '@geomelon/data-query'
import data from '@geomelon/spain/data.json'
const spain = createGeomelonDataset(data)cities(filter?):
| field | type | matches |
|---|---|---|
name |
string |
case-insensitive prefix match against the primary name and every translation |
regionId |
string |
exact match |
minPopulation / maxPopulation |
number |
inclusive range |
language |
string |
city has a translation in this language |
settlementType |
string |
exact match against one of the city's settlement types |
limit |
number |
caps the result count |
regions(filter?) supports name and limit.
MIT (this package's code). The data shipped inside each @geomelon/<country> package is CC0-1.0 — see that package's own LICENSE.