Cataloguebpm.cartographicMap

bpm.cartographicMap

Carte composable à pile de calques GeoJSON, XYZ/TMS, WMS, images et grilles scalaires.

MédiacompositeΩ entity

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?: string

Exemples interactifs

Un atlas, dix compositions

Milieu physique, cadastre, bâtiments, réseaux, mobilités et annotations : la même grammaire de calques.

Ville moderne
Territoire imaginaire · données synthétiques · chaque calque reste modifiable
Calques
Groupes

Premier dans la liste = au-dessus sur la carte.

  1. Repères et annotations
  2. Mobilité et zones
  3. Mobilité et zones
  4. Occupation du territoire / Ville et réseaux
  5. Occupation du territoire / Ville et réseaux
  6. Occupation du territoire / Cadastre et agriculture
  7. Milieu physique
  8. Milieu physique
Légende
Fleuve et littoral
Parcelles cadastrales
Bâtiments et cours intérieures
Routes et franchissements
Points d’intérêt
Atelier Modular · territoire et valeurs synthétiquesAtelier Modular · territoire et valeurs synthétiquesAtelier Modular · territoire et valeurs synthétiquesAtelier Modular · territoire et valeurs synthétiquesAtelier Modular · territoire et valeurs synthétiques