Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/datagouv/edigeo-parser
Blazing fast parser for EDIGEO files
https://github.com/datagouv/edigeo-parser
Last synced: 2 months ago
JSON representation
Blazing fast parser for EDIGEO files
- Host: GitHub
- URL: https://github.com/datagouv/edigeo-parser
- Owner: datagouv
- License: mit
- Created: 2017-12-14T20:53:54.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-29T14:51:06.000Z (almost 2 years ago)
- Last Synced: 2024-05-16T08:12:46.785Z (8 months ago)
- Language: JavaScript
- Size: 3.22 MB
- Stars: 8
- Watchers: 10
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-blazingly-fast - edigeo-parser - Blazing fast parser for EDIGEO files (JavaScript)
README
# edigeo-parser
Parse les données EDIGEO pour les convertir en GeoJSON (sans reprojection en WGS 84)
## Utilisation côté serveur
### Installation
```bash
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]`
### Exemple d'utilisation
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
```#### Exemple avec la syntaxe ES6
Soit le fichier `index-es6.mjs` comme suivant
```js
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);
```#### Exemple avec la syntaxe CommonJS
Pour rappel, elle ne fonctionne que si vous avez le package `@etalab/[email protected]` package.
Soit le fichier `index-commonjs.mjs` comme suivant
```js
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);
```## Utilisation en ligne de commande
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.
### Installation
```bash
npm install -g @etalab/edigeo-parser
```### Exemple d'utilisation
```bash
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
```## Licence
MIT