Paquet npm

Toute la hiérarchie en paquet typé. Il marche hors ligne et n’a aucune dépendance.

Installer

shell
npm install morocco-communes

Le paquet sur npm

Utiliser

JavaScript
import { regions, provincesOf, communesOf, getCommune } from "morocco-communes";

regions[0].name.fr;         // "Tanger-Tétouan-Al Hoceima"
provincesOf("01");          // ses 8 provinces et préfectures
communesOf("01.511");       // les 12 communes de Tanger-Assilah
getCommune("tanger");       // { code: "01.511.01.0", type: "urban", population: 1275428, ... }

Chaque liste est aussi un module à part : une liste de régions n’embarque pas toutes les communes.

JavaScript
import regions from "morocco-communes/regions";

Enregistrements

ListeChamps
regionscode, name, population
provincescode, name, type, region, population
cerclescode, name, region, province, population
communescode, slug, name, type, region, province, cercle, population, population2014
arrondissementscode, name, commune, population

name vaut { fr, ar } et population est le total du recensement de 2024. Un parent est donné par son code, et le cercle d’une commune urbaine est null.

Fonctions

  • getCommune(codeOrSlug) trouve une commune par 01.511.01.0 ou tanger.
  • provincesOf(region), cerclesOf(province) et arrondissementsOf(commune) listent les enfants d’une unité.
  • communesOf(code) prend une région, une province ou un cercle.
  • version est la version du jeu de données, qui est aussi celle du paquet.

Ce qu’il laisse de côté

Les limites, et tout ce qui en est tiré (centroïde, emprise, identifiant OpenStreetMap, superficie et densité), sont sous ODbL : elles restent dans les téléchargements et l’API. Les ménages et la répartition entre Marocains et étrangers aussi.

Licence

Le code est sous MIT. Les données viennent du Haut-Commissariat au Plan (RGPH 2024 et 2014) ; citez-le quand vous les publiez.