@abez/kyrgyzstan-map
v0.1.1
Published
Customizable, accessible SVG map of Kyrgyzstan for React -- regions and districts, built-in metadata, choropleth, tooltips, and drill-down. Zero runtime dependencies.
Maintainers
Readme
@abez/kyrgyzstan-map
A customizable, accessible SVG map of Kyrgyzstan for React — 7 top-level regions and 41 districts, geometry from geoBoundaries, choropleth, drill-down, and 3-locale built-in metadata (ky/ru/en).
Built on @abez/map-core,
the shared engine also powering
@abez/kazakhstan-map
and @abez/uzb-map.
TypeScript-first. Zero runtime dependencies.
Install
npm install @abez/kyrgyzstan-mapReact 17+ is a peer dependency; nothing else is required at runtime.
Quick start
import { KyrgyzstanMap } from '@abez/kyrgyzstan-map'
export function App() {
return <KyrgyzstanMap locale="en" onRegionClick={(code) => console.log(code)} />
}Choropleth
<KyrgyzstanMap data={{ 'KG-C': 90, 'KG-O': 85, 'KG-N': 30 }} />Keys are region codes ("KG-C") or, in view="districts", district codes.
Drill-down
const [focusRegion, setFocusRegion] = useState<string>()
<KyrgyzstanMap
focusRegion={focusRegion}
onRegionClick={(code) => setFocusRegion(code)}
onDistrictClick={(code) => console.log('district', code)}
/>Custom markers
import { KyrgyzstanMap, useProjectPoint, useMapScale } from '@abez/kyrgyzstan-map'
function CapitalMarker() {
const project = useProjectPoint()
const scale = useMapScale()
const [x, y] = project([74.5698, 42.8746]) // Bishkek
return <circle cx={x} cy={y} r={4 / scale} fill="red" />
}
<KyrgyzstanMap>
<CapitalMarker />
</KyrgyzstanMap>Locales & metadata
import { getRegionMeta, getDistrictsByRegion } from '@abez/kyrgyzstan-map'
getRegionMeta('KG-C') // { code, names: {ky,ru,en}, capital, population, populationYear, areaKm2, ... }
getDistrictsByRegion('KG-C')All 41 districts have verified population and area — see DATA_SOURCES.md
for sources, and for two documented administrative-boundary gaps: Bishkek
(the capital) has no district polygon of its own in the source geometry,
and Osh city's territory is absorbed into the surrounding Kara-Suu
district rather than being its own unit.
Data & attribution
Geometry derived from geoBoundaries KGZ
ADM1/ADM2 (Runfola et al. 2020, ODbL / CC BY-SA 3.0). See
DATA_SOURCES.md for full attribution, known gaps, and the 2023/2025
place-renaming notes.
