Format fichier - One-Click-LCA/plu-lang GitHub Wiki
Le format des fichiers de règles
Les fichiers de règles sont stockés et échangés sous forme d'un fichier JSON contenant les propriétés suivantes:
{
"name": "",
"codeInsee": "",
"zonePLU": "",
"parentZonePLU": "",
"datappro": "",
"linkToPDF": "",
"commentary": "",
"rules": {
"article1and2": {},
"article6": {},
"article7": {},
"article8": {},
"article9": {},
"article10": {},
"article12": {},
"article13": {}
}
}
name
: le nom de la ou des villes, ou de l'agglomération auquelles ce fichier doit s'appliquer. Il s'agit d'un champ libre à usage informatif uniquement.codeInsee
: dans le cas d'une ville unique, son code INSEE. Pour plusieurs villes, leurs codes INSEE séparés par des virgules. Pour une agglomération, son SIREN.zonePLU
: le nom de la zone à laquelle ce fichier doit s'appliquerparentZonePLU
: le nom de la zone parente de la zone à laquelle ce fichier doit s'appliquer. Si un article de ce fichier est vide, on appliquera l'article de la zone parente.datappro
: la date d'approbation du PLU implémenté.linkToPDF
: le lien vers le PDF du reglement officiel.commentary
: champ commentaire, libre, destiné à indiquer les choix ou limites de l'implémentationrules
: un object contenant plusieursarticles
Format des articles
Chaque article du PLU a le format suivant:
{
"ruleComm": "",
"rule": []
}
-
ruleComm
: un commentaire spécifique à la règle en cours. -
rule
: une liste de valeurs, la première correspondant à un nom de fonction ou d'operateur les suivants aux arguments de cette fonction, qui peuvent, à leur tour, être un appel de fonction ou d'operateur, toujours sous la même forme. Par exemple:["isInferiorOrEqual", ["nbOfFloors", "thisBuilding"], ["NO_OPERATOR", 3]]
["nbOfFloors", "thisBuilding"]
renvoie le nombre d'étages du batiment sur lequel on applique les règles["NO_OPERATOR", 3]
NO_OPERATEUR renvoie simplement son premier argument
La règle renvoie donc VRAI (c'est à dire que le règlement est respecté), si le nombre d'étages du batiment courant est inférieur ou égal à 3.
Les fichiers suivant permettent de faire le lien entre les operateurs du langage, et les noms utilisés dans ce wiki: