# Branchement Fichiers fonciers pnb10_parcelle

Ce lot branche la table parcellaire `foncier_poc.fichier_foncier` de la base `pnc` sur le prototype Foncier narratif.

## 1. Principe

La table `pnb10_parcelle` est une table de parcelles. Elle ne contient pas directement une geometrie par batiment. Le prototype l'utilise donc comme premiere brique de production :

- carte de parcelles baties ;
- annee d'apparition issue des champs `jannatmin` puis `jannatmax` ;
- poids bati issu de `nbat` ;
- usage issu de `tlocdomin`, `nlogh` et `nlocal` ;
- geometrie issue de `geompar` ;
- surface de reference issue de `rnb_emp` si disponible, puis `dcntarti`, puis surface geometrique.

Pour une carte d'emprises baties individuelles, il faudra ensuite brancher une source batimentaire complementaire : RNB, BD TOPO, cadastre bati, ou une table local / batiment plus fine.

## 2. Fichier .env

Dans le fichier `.env`, renseigner :

```env
PGHOST=adresse_du_serveur
PGPORT=5432
PGDATABASE=pnc
PGUSER=utilisateur_app
PGPASSWORD=mot_de_passe
PGSSLMODE=disable

FONCIER_SCHEMA=foncier_poc
FONCIER_BUILDINGS_VIEW=v_batiments_historique
FONCIER_TERRITORIES_VIEW=v_territoires
FONCIER_GEOM_COL=geom
FONCIER_COUNT_COL=poids_bati
FONCIER_DEFAULT_LEVEL=commune
FONCIER_START_YEAR=1970
FONCIER_END_YEAR=2025
```

Ne pas versionner le fichier `.env` avec les identifiants.

## 3. Script SQL

Executer dans la base `pnc` :

```sql
\i sql/10_setup_fichiers_fonciers_pnb10.sql
```

Ou copier-coller le contenu du fichier `sql/10_setup_fichiers_fonciers_pnb10.sql` dans pgAdmin.

## 4. Referentiel communes / EPCI

Le script cree la table :

```sql
foncier_poc.ref_communes_aula
```

Elle est amorcee avec les communes presentes dans `fichier_foncier`. Il faut ensuite completer :

- `code_epci` ;
- `nom_epci`.

Sans ce referentiel, le filtrage communal fonctionne, mais le filtrage EPCI sera incomplet.

## 5. Vues creees

Le script cree :

```sql
foncier_poc.v_ff_parcelles
foncier_poc.v_batiments_historique
foncier_poc.v_territoires
foncier_poc.v_communes
foncier_poc.v_controle_ff
foncier_poc.v_controle_ff_par_commune
```

La vue principale consommee par l'application est :

```sql
foncier_poc.v_batiments_historique
```

## 6. Tests rapides

```sql
SELECT * FROM foncier_poc.v_controle_ff;

SELECT *
FROM foncier_poc.v_controle_ff_par_commune
ORDER BY nb_bati_estime DESC
LIMIT 20;

SELECT annee_apparition, sum(poids_bati) AS bati_estime
FROM foncier_poc.v_batiments_historique
GROUP BY annee_apparition
ORDER BY annee_apparition;
```

Cote application :

```text
/api/health
/api/territoires?niveau=commune
/api/timeline/stats?territoire=62001&niveau=commune
/api/batiments?territoire=62001&niveau=commune&year=1990&mode=cumul
/api/indicators?territoire=62001&niveau=commune
```

## 7. Limites metier a afficher

- `jannatmin` represente l'annee de construction du local le plus ancien de la parcelle.
- `jannatmax` represente l'annee de construction du local le plus recent de la parcelle.
- Les valeurs 0 et -1 signifient absence de date ou absence de local selon les champs.
- La geometrie `geompar` est parcellaire, pas batimentaire.
- `rnb_emp` n'est disponible que sur les millesimes recents.
- Les compteurs sont des estimations foncieres a partir de la table parcellaire, pas un inventaire exhaustif d'emprises baties individuelles.
