https://github.com/ignf/validator
Validateur de données initialement développé pour le géoportail de l'urbanisme
https://github.com/ignf/validator
cli data-validator validation
Last synced: 5 months ago
JSON representation
Validateur de données initialement développé pour le géoportail de l'urbanisme
- Host: GitHub
- URL: https://github.com/ignf/validator
- Owner: IGNF
- License: other
- Created: 2016-07-08T15:04:15.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-09-22T11:24:28.000Z (5 months ago)
- Last Synced: 2025-09-22T11:24:40.108Z (5 months ago)
- Topics: cli, data-validator, validation
- Language: Java
- Homepage: https://ignf.github.io/validator/
- Size: 9.35 MB
- Stars: 15
- Watchers: 8
- Forks: 3
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Validator
[](https://github.com/IGNF/validator/actions/workflows/main.yml)
[](LICENSE)
## Description
> This program validates a dataset (a folder containing geodata files and other documents) according to a schema describing the folder structure and the feature catalog. It outputs a report containing validation errors and warnings, and normalized data ready for database integration.
> It has been originally developed for the [Géoportail de l'Urbanisme]((https://www.geoportail-urbanisme.gouv.fr)) to check urban planning documents against CNIG standards in order to produce a nationwide database.
Ce programme permet de valider et de normaliser les données présentes dans une arborescence de fichiers. Ces données peuvent être :
* Des tables, géographiques ou non, aux formats CSV, GML, Shapefile ou MapInfo
* Des fiches de métadonnées
* Des fichiers PDF
* Des dossiers (principalement pour contrôle de présence)
Le paramétrage s'effectue à l'aide de [fichiers JSON décrivant des arborescences de fichiers et des tables](validator-core/src/main/resources/schema/README.md).
## Cas d'usage
* [Géoportail de l'Urbanisme](https://www.geoportail-urbanisme.gouv.fr) : Validation des données en fonction des [standards CNIG PLU, POS, CC, PSMV, SUP et SCOT](https://www.geoportail-urbanisme.gouv.fr/standard/) en amont de l'aggrégation dans une base nationale.
* [Validateur TRI](https://validateur-tri.ign.fr/) : Validation de la conformité d'un jeu de données géographiques sur les territoires à risque important d'inondation (TRI) vis à vis du standard de données COVADIS du thème "Directive Inondation" version 2.
## Principe de fonctionnement
Le schéma suivant illustre le [Principe de fonctionnement du validateur](doc/principe.md) :

## Principales fonctionnalités
* Validation d'une arborescence de fichiers en fonction d'un modèle de document.
* Validation des tables en fonction d'un modèle de table.
* Validation des fiches de métadonnées.
* Production d'un rapport d'erreur au format JSON.
* Production de données normalisées (pour agrégation et diffusion).
* Validation métier à l'aide de [plugins](doc/plugins.md) (CNIG pour GpU, DGPR pour TRI,...) pour les contrôles qui sont pas formalisés dans le modèle de validation.
## Utilisation
Le validateur se présente sous la forme d'un exécutable java (`validator-cli.jar`) utilisable en ligne de commande. Il n'offre pas d'interface graphique car il a vocation à être utilisé pour la mise en œuvre de services web tel le [Géoportail de l'Urbanisme](https://www.geoportail-urbanisme.gouv.fr) offrant ces interfaces.
Les techniciens peuvent se référer à la documentation [utilisation du validateur en ligne de commande](doc/cli.md).
## Dépendances
Les exécutables systèmes ci-après sont requis pour l'exécution du programme :
* [java >= 17](https://docs.geotools.org/latest/userguide/build/install/jdk.html)
* [ogr2ogr >= v2.3.0](doc/dependencies/ogr2ogr.md) : Utilisé pour lire et convertir les données en entrée dans un format pivot avant validation (CSV)
Les dépendances java telle [GeoTools](doc/dependencies/geotools.md) sont décrites dans les fichiers [pom.xml](pom.xml) et intégrées dans l'exécutable JAVA.
## Documentation technique
Les principaux documents sont les suivants :
* [Modélisation des données et des erreurs](validator-core/src/main/resources/schema/README.md)
* [Liste des codes d'erreurs (JSON)](validator-core/src/main/resources/error-code.json)
* [Exemples de modèles de document](validator-core/src/test/resources/config-json/README.md)
* [Utilisation du validateur en ligne de commande](doc/cli.md) pour une utilisation directe.
* [Principe de fonctionnement du validateur](doc/principe.md)
* [Principe de fonctionnement des plugins](doc/plugins.md)
* [Projection supportées (JSON)](validator-core/src/main/resources/projection.json)
Les documents ci-après traitent des problématiques particulières :
* [Metadata (english)](doc/metadata.md)
* [Characters validation (english)](doc/characters.md)
* [plugin-cnig - validation des champs IDURBA](doc/plugin-cnig/idurba.md)
* [plugin-cnig - Validation des mots clés en fonction des CSMD CNIG](doc/plugin-cnig/keywords.md)