Code Monkey home page Code Monkey logo

decoupage-administratif's Introduction

@etalab/decoupage-administratif

Données concernant le découpage administratif français, au format JSON.

  • Communes
  • Arrondissements
  • Départements
  • Régions
  • EPCI (à fiscalité propre)
  • EPT (Etablissements Publics Territoriaux), sans fiscalité propre (disponible depuis 2023)

Installation

# npm
npm install @etalab/decoupage-administratif

# yarn
yarn add @etalab/decoupage-administratif

Utilisation

Node

const communes = require('@etalab/decoupage-administratif/data/communes.json')
const departements = require('@etalab/decoupage-administratif/data/departements.json')
const regions = require('@etalab/decoupage-administratif/data/regions.json')
const arrondissements = require('@etalab/decoupage-administratif/data/arrondissements.json')
const epci = require('@etalab/decoupage-administratif/data/epci.json')
const ept = require('@etalab/decoupage-administratif/data/ept.json')

via des URLs

Pour la dernière version

Il est possible de rajouter une version. Pour les EPCI 2021, par exemple https://unpkg.com/@etalab/[email protected]/data/epci.json (voir le lien millésime et version de packages)

Millésimes et versions de package

Vous avez besoin de données selon une année? Voici un tableau récapitulatif pour choisir:

Année Version du package NPM Yarn
2024 4.0.0 npm install @etalab/[email protected] yarn add @etalab/[email protected]
2023 3.1.1 npm install @etalab/[email protected] yarn add @etalab/[email protected]
2022 2.3.1 npm install @etalab/[email protected] yarn add @etalab/[email protected]
2021 1.1.1 npm install @etalab/[email protected] yarn add @etalab/[email protected]
2020 Non disponible, sauf EPCI 2020 avec 0.8.0 npm install @etalab/[email protected] yarn add @etalab/[email protected]
2019 0.7 npm install @etalab/[email protected] yarn add @etalab/[email protected]

Sources

Licence

Données : Licence Ouverte
Code : MIT

decoupage-administratif's People

Contributors

aloxe avatar antoineaugusti avatar geoffreyaldebert avatar jdesboeufs avatar thomasg77 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

decoupage-administratif's Issues

Old commune postCodes.

When filling a birth form, you can look for an old non-existing commune by his postCode.

Actually, I have to get the chefLieu and looking for the codesPostaux of this chefLieu.
Wouldn't it be better to add directly the codesPostaux in the old commune data ?

Type EPCI Métropole de Lyon

Dans la liste des EPCI, la métropole de Lyon a un type (MET69) qui diffère des autres métropoles (qui elles ont METRO).

D'un point de vu extérieur, ça ressemble plus à une erreur d'autre chose, est-ce possible de normaliser ?

Je reste disponible pour tout complément d'information, l'information étant dans un .xlsx dont je n'ai pas de licence, je ne peux vous soumettre la pull request en étant sûr de ne pas casser quelque chose.

Ajout de fonctions de matching

La préparation des données est extrêment précieuse et déjà largement réutilisable en node.
Ce qui est surprenant, c'est que l'api geo n'utilise pas cette librairie.

Aujourd'hui, il manque des fonctions à l'API geo de deux type :

  • interrogation de l'historique des communes
  • fuzzy match **
  • usecase:
    nécessaire dès qu'on veut voir des données non actualisées en 2020 dans l'administration: fichie des décès, permis de conduire.
    E.g. le cas d'une commune comme ""La Daguenière" où l'on peut être décédé avant 2016. Si je consulte l'écran d'un fichier de décès, avec l'API geo je ne trouve pas la commune (sur deces.matchid.io, j'ai donc réintégré dans la donnée les données historiques)

** usecase:
lorsque je consulte l'écran d'une saisie manuelle partiellement erronné sans l'API geo (e.g "Loire Aution" pour "Loire-Authion") je ne retrouve pas la commune d'origine. Un fuzzy match (distance d'édition 1) + département (strict) aucune commune Française n'est ambigu.

Ces fonction de matching tireraient bénéfice à être mis en libriaire npm et non dans l'API (qui pourrait les utiliser), car on peut avoir besoin d'intégrer ce type de fonction dans une API aussi bien que dans une UI, en fonction du contexte.

Souhaitez-vous prendre en charge ces fonctions au sein de ce répo, ou puis-je contribuer à la création d'une librairie séparée ?

Ces fonctions pourraient porter aussi bien sur les communes actuelles que sur l'historique ou les autres données intégrées.

Pour favoriser l'intégration à n'importe quel code (par exemple a

Code postal dupliqué

La liste des codes postaux inclut souvent le même code postal dupliqué, exemple :

curl https://unpkg.com/@etalab/[email protected]/data/communes.json | grep Hornoy-le-Bourg

# "codesPostaux":["80640","80640","80640","80640","80640","80640","80640"]

(remonté depuis #25 (comment))

Inclure les données géographiques (contour 5m, 50m et surtout centroid)

L'API geo inclut les données geojson, même si le téléchargement semble être fait "à la main" (répertoire data non commité) : https://github.com/etalab/api-geo/blob/master/build/communes.js

Si je comprends bien, la source est openstreetmap ? https://www.data.gouv.fr/fr/datasets/decoupage-administratif-communal-francais-issu-d-openstreetmap/#_

La ressource centroid serait utile à produire) au sein de ce répo.

Il me semblait qu'auparavant, en 2017 il y avait une production conjointe IGN/INSEE qui ne semble plus exister.

Cas d'usage: les centroid des communes me servent dans le contexte du matching par distance des communes de naissance et de décès des personnes décédées, pour deux raisons :

  • souvent dans les fichiers administratifs la commune de "résidence" à la naissance est confondue pour les années anciennes avec la commune administrative de naissance (maternité) et celles ci sont le plus souvent conjointes, avec une distance faible.
  • le plus souvent la personne décède dans sa commune de résidence au décès. Pour les fichiers de médecin, le rapprochement "commune de résidence" à la commune de décès est fructueuse, mais parfois c'est la commune d'à côté (hopital proche)

Historique des codes communes de Mayotte

L'ancien code INSEE des communes de Mayotte, avant qu'elle devienne un département, n'est pas intégrée dans l'historique des communes.

Ainsi, une commune comme Chirongui avant un code 98506 avant l'intération au référentiel des communes.

Ces codes sont utilisés dans le contexte du RNIPP et sont donc important. Une personne née à Mayotte avant 2011 sera effectivement indiquée au code commune de naissance 985xx.

_
Pour expliquer le contexte de ma demande: un point d'histoire qui n'a rien à voire avec l'issue pour la culture générale : 98506 était également utilisé pour les protectorats de l'indochine. Il semble qu'à cette époque, le code commune de chirongui et le code région/pays de l'indochine (viêt nam) étaient donc ambigus.
J'ai eu une remontée sur un cas de confusion dans le contexte de l'exploitation des données de décès de l'insee (https://deces.matchid.io). Dans ce cas c'était une personne née à Hanoï, maintenant Viêtnam, qui a été indiquée comme née à Chirongui, Mayotte.
98506 figure bien dans le référentiel pays 2020, mais 98506 ne figure pas dans l'historique des communes, ce qui aggrave l'analyse possible de la confusion. Il est donc très souhaitable que l'historique des codes communes de Mayotte soit intégré.
_

Historique des communes

Bonjour,

Dans la version 0.8.0, il existait un fichier historique-communes.json qui permettait de faire le mapping entre les anciennes communes et les nouvelles.
Ce fichier n'est plus d'actualité dans la version 2.2.0, apparemment il aurait été retiré intentionnellement.

Comment est-il possible de l'avoir à nouveau ou le reconstruire ?

Merci pour votre retour.
François

Communes avec un mauvais code postal

Bonjour,

J'utilise les données @etalab/decoupage-administratif/data/communes.json sur https://mesaidesvelo.fr et plusieurs utilisateurs m'ont averti que leur commune était renseignée avec le mauvais code postal. Il s'agit de cas ou le fichier fourni plusieurs codes postaux, et où je choisi arbitrairement le premier.

Le premier code postal de la liste semble être le bon dans certains cas, mais pas pour d'autres villes comme « Mauguio » (34280 au lieu de 34130). mquandalle/mesaidesvelo#75. À quoi correspond cette liste de codes postaux dans le fichier etalab (données historiques ?) et y a t-il un ordre particulier ?

La base des codes postaux de La Poste fournit un unique code postal par code Insee, et dans les quelques cas que l'on m'a remonté la valeur du fichier La Poste correspondait à ce qui était attendu. Ça pourrait être pratique d'avoir l'information du code postal principal de La Poste directement dans ce paquet.

Ajouter Saint Martin

Salut, ce que vous faites c'est top !

L'API Géo connaît bien Saint Martin https://geo.api.gouv.fr/communes?codePostal=97150

[{"nom":"Saint-Martin","code":"97801","codesPostaux":["97150"],"population":35594}]

Je n'arrive pas à trouver Saint Martin dans ce paquet. La commande suivante renvoie rien.

var communes = require('@etalab/decoupage-administratif/data/communes.json');
communes.filter(function(c) { return c.code == '97801'; })

J'ai regardé dans codes-postaux et ça ne retourne rien non plus.

Savez-vous si Saint Martin peut être récupéré ?

Merci beaucoup !

DOM-TOM Postcodes

Can we add the post code of DOM-TOM countries ?

I found theses values.

export const postCodesByInseeCode = {
    // Terres australes et antarctiques françaises
    98411: ['98400'],
    98412: ['98400'],
    98413: ['98400'],
    98414: ['98400'],
    98415: ['98400'],
    // Wallis & Futuma
    98611: ['98611'],
    98612: ['98612'],
    98613: ['98600'],
    // Polynésie française
    98711: ['98760'],
    98712: ['98701'],
    98713: ['98761'],
    98714: ['98730'],
    98715: ['98704'],
    98716: ['98763'],
    98717: ['98765'],
    98718: ['98742'],
    98719: ['98755'],
    98720: ['98767'],
    98721: ['98768'],
    98722: ['98705'],
    98723: ['98741'],
    98724: ['98731'],
    98725: ['98709'],
    98726: ['98769'],
    98727: ['98771'],
    98728: ['98732'],
    98729: ['98728'],
    98730: ['98772'],
    98731: ['98742'],
    98732: ['98773'],
    98733: ['98711'],
    98734: ['98712'],
    98735: ['98718'],
    98736: ['98716'],
    98737: ['98774'],
    98738: ['98718'],
    98739: ['98750'],
    98740: ['98776'],
    98741: ['98751'],
    98742: ['98779'],
    98743: ['98752'],
    98744: ['98753'],
    98745: ['98733'],
    98746: ['98743'],
    98747: ['98722'],
    98748: ['98722'],
    98749: ['98781'],
    98750: ['98735'],
    98751: ['98783'],
    98752: ['98726'],
    98753: ['98783'],
    98754: ['98735'],
    98755: ['98784'],
    98756: ['98744'],
    98757: ['98745'],
    98758: ['98735'],
    // Nouvelle Calédonie
    98801: ['98811'],
    98802: ['98812'],
    98803: ['98870'],
    98804: ['98813'],
    98805: ['98835'],
    98806: ['98881'],
    98807: ['98815'],
    98808: ['98816'],
    98809: ['98832'],
    98810: ['98817'],
    98811: ['98860'],
    98812: ['98850'],
    98813: ['98880'],
    98814: ['98820'],
    98815: ['98878'],
    98816: ['98819'],
    98817: ['98810'],
    98818: ['98800'],
    98819: ['98821'],
    98820: ['98814'],
    98821: ['98890'],
    98822: ['98822'],
    98823: ['98823'],
    98824: ['98824'],
    98825: ['98825'],
    98826: ['98826'],
    98827: ['98827'],
    98828: ['98880'],
    98829: ['98829'],
    98830: ['98831'],
    98831: ['98833'],
    98832: ['98834'],
    98833: ['98818'],
    98901: ['98799'],
};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.