Skip to content

Commit

Permalink
dev(validator-plugin-cnig): update test and documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
cboucheIGN committed Nov 8, 2023
1 parent aa50c3c commit 70e83ea
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 8 deletions.
25 changes: 23 additions & 2 deletions doc/cli/document_validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ Les fichiers produits seront les suivants :
| `./validation/document-test/DATA/{NomType}.csv` | Les données normalisées pour une éventuelle livraison à un entrepot de diffusion |
| `./validator-debug.log` | Les logs du validateur java |


## Remarques
## Normalisation et conversion

La conversion des fichiers au format CSV est réalisées sous forme de fichier "companions" avec des extensions dédiées (`.vrows` et `.vtabs`) dans le dossier à valider :

Expand All @@ -44,3 +43,25 @@ La conversion des fichiers au format CSV est réalisées sous forme de fichier "

Ces conversions sont réalisées à l'aide de [ogr2ogr de GDAL](../dependencies/ogr2ogr.md). L'utilisation d'extension dédiées facilite principalement une nouvelle exécution du validateur sur un dossier.

## Options du plugin CNIG

Les contrôles spécifiques aux plugins sont contrôlés par des paramètres en entrée de validation. Pour la ligne de commande `document_validator` le plugin CNIG utilise les paramètres suivants :
* Option `cnig-document-emprise` attend une *géométrie* au format WKT et définie dans le système de projection EPSG:4326
* Option `cnig-complexity-tolerance` attend un couple de 4 *seuils* de détection de géométries complexes.
* *Nombre maximum de point par mètre*
* *Nombre maximum de parties*
* *Nombre maximum de trous*
* *Nombre maximum de points*

```bash
java -jar validator-cli.jar document_validator \
--report-format jsonl \
--model cnig_PLU_2017 \
--input INSEE_PLU_DATE \
--output validation \
--srs EPSG:2154 \
--normalize \
--plugins "CNIG" \
--cnig-complexity-tolerance "[[-1,500,500,0.1,50000],[200000,1000,1000,10,50000]]" \
--cnig-document-emprise "POLYGON((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))"
```
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public void setUp() {
public void testWKTParsingOk() throws ParseException {
String[] args = {
"--cnig-document-emprise",
"POINT(1 1)"
"POLYGON((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))"
};
CommandLine commandLine = parser.parse(options, args);
Geometry result = DocumentEmpriseOption.parseCustomOptions(commandLine);
Expand All @@ -45,7 +45,7 @@ public void testWKTParsingOk() throws ParseException {
WKTWriter2 writer = new WKTWriter2();
String wkt = writer.write(result);

assertEquals("POINT (1 1)", wkt);
assertEquals("POLYGON ((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))", wkt);
}

@Test
Expand All @@ -64,15 +64,15 @@ public void testFileParsingOk() throws ParseException {
WKTWriter2 writer = new WKTWriter2();
String wkt = writer.write(result);

assertEquals("POINT (1 1)", wkt);
assertEquals("POLYGON ((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))", wkt);
}

@Test
@Ignore
public void testGeoJSONOk() throws ParseException {
String[] args = {
"--cnig-document-emprise",
"{ type:\"POINT\", geometry: [1, 1] }"
""
};
CommandLine commandLine = parser.parse(options, args);
Geometry result = DocumentEmpriseOption.parseCustomOptions(commandLine);
Expand All @@ -82,7 +82,7 @@ public void testGeoJSONOk() throws ParseException {
WKTWriter2 writer = new WKTWriter2();
String wkt = writer.write(result);

assertEquals("POINT(1 1)", wkt);
assertEquals("POLYGON((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))", wkt);
}

@Test(expected = ParseException.class)
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
POINT(1 1)
POLYGON ((1.186438253 47.90390196, 1.098884284 47.90390196, 1.098884284 47.83421197, 1.186438253 47.83421197, 1.186438253 47.90390196))

0 comments on commit 70e83ea

Please sign in to comment.