Parse les données EDIGEO pour les convertir en GeoJSON (sans reprojection en WGS 84)
npm install @etalab/edigeo-parser
Si vous avez besoin de la syntaxe CommonJS, vous pouvez utiliser la version 0.9.1 plus ancienne du package et l'installer avec la commande npm install @etalab/[email protected]
Obtenir la donnée
wget https://cadastre.data.gouv.fr/data/dgfip-pci-vecteur/2023-01-01/edigeo/feuilles/54/54008/edigeo-540080000C01.tar.bz2
Soit le fichier index-es6.mjs
comme suivant
import { writeFile } from 'fs/promises'
import {parse} from '@etalab/edigeo-parser'
async function run(filePath) {
const {layers} = await parse(filePath)
console.log(Object.keys(layers))
//console.log(layers)
await writeFile('edigeo-540080000C01-parcelles.geojson', JSON.stringify({
"type": "FeatureCollection",
"features": layers.PARCELLE
}))
}
run('edigeo-540080000C01.tar.bz2').catch(console.error);
Pour rappel, elle ne fonctionne que si vous avez le package @etalab/[email protected]
package.
Soit le fichier index-commonjs.mjs
comme suivant
const fs = require('fs')
const fsPromises = fs.promises
const {parse} = require('@etalab/edigeo-parser')
async function run(filePath) {
const {layers} = await parse(filePath)
console.log(Object.keys(layers))
//console.log(layers)
await fsPromises.writeFile('edigeo-540080000C01-parcelles.geojson', JSON.stringify({
"type": "FeatureCollection",
"features": layers.PARCELLE
}))
}
run('edigeo-540080000C01.tar.bz2').catch(console.error);
Attention! Il s'agit d'un cas limité qui ne permet pas de sortir directement les données, juste de vérifier le nombre de couches qui sont parsées et le nombre d'objets géographiques associés.
npm install -g @etalab/edigeo-parser
edigeo-parse < edigeo-540080000C01.tar.bz2
Pour débugger avec plus d'informations
DEBUG_COLORS=no DEBUG=edigeo-parser:* DEBUG_HIDE_DATE=yes \
edigeo-parse < edigeo-395110000U01.tar.bz2
MIT