bpm.cartographicMap
Carte composable à pile de calques GeoJSON, XYZ/TMS, WMS, images et grilles scalaires.
Couche sémantique
Ce que le composant signifie pour un agent — valeurs proposées par la boucle, ontologie curée par l'humain. Exposée par le connecteur MCP (get_component).
Rôlecomposite
Frame Ωentity
Quand l'employerComposer un atlas par calques : parcelles cadastrales, agriculture, relief, bathymétrie, fonds marins, fleuves, villes, cartes maritimes, aériennes, anciennes, modernes ou militaires. Choisir les données, leur pile, les groupes, les règles et les adaptateurs ; ne pas créer un composant par domaine.
S'associe avecbpm.mapLayerControl, bpm.mapLegend, bpm.flightInstruments, bpm.timeline
À éviter pourNe pas inventer de données réelles, d’attribution, de licence ou de précision. Les thèmes changent la présentation ; la 3D et les tuiles vectorielles demandent un adaptateur. Pour le ciel équatorial utiliser skyMap.
Contexte attenduSix types de calques, groupes imbriqués, ordre, opacité, fusion, zoom, temps et GeoJSON [longitude, latitude]. Contrats complets et compositions dans BPM_API.md.
Statutproposed
Référence d'API
Extrait de llms.txt, généré depuis les sources TypeScript — la même référence que lisent les agents.
layers?: CartographicLayer[]
groups?: MapLayerGroup[]
center?: [number, number] — [latitude, longitude], or [y, x] in a simple local coordinate system.
zoom?: number
bounds?: MapBounds
projection?: MapProjection
crs?: import("leaflet").CRS — Advanced CRS provided by the application. Remount when changing it; source grids must match it.
height?: number | string
title?: string
description?: React.ReactNode
theme?: keyof typeof CARTOGRAPHIC_THEMES | CartographicTheme
state?: MapLayerState
onStateChange?: (state: MapLayerState) => void
time?: number — Application-defined numeric time used to filter layer validity.
selected?: { layerId: string
onFeatureSelect?: (selection: MapFeatureSelection | null) => void
onViewChange?: (view: { center: [number, number]
onMapClick?: (position: [number, number]) => void
showLayerControl?: boolean
showLegend?: boolean
showScale?: boolean
defaultInteractive?: boolean — False initially preserves page scrolling; the map toolbar explicitly enables navigation.
renderLayer?: (layer: CartographicLayer, context: MapRenderContext & { pane: string — Runs inside the Leaflet context, in the layer's pane. Custom adapters retain order, blend and opacity.
renderFeatureDetails?: (selection: MapFeatureSelection) => React.ReactNode
renderOverlay?: () => React.ReactNode — Free HTML overlay anchored to the map viewport.
className?: stringExemples interactifs
Un atlas, dix compositions
Milieu physique, cadastre, bâtiments, réseaux, mobilités et annotations : la même grammaire de calques.