Import des données SINP-PACA pour GeoNature et l'Atlas
Ré-initialisation de la base de données GeoNature
Cette manipulation est dangereuse car elle supprime tout le contenu de la base de données de GeoNature !
- Suivre les étapes de mise à jour d'une installation de GeoNature, au niveau de l'intervention sur "db-srv" suivre ceci:
- Sur l'instance "db-srv" connecté en tant que "geonat", suivre les étapes suivantes
- Mettre à
true
le paramètredrop_apps_db
du fichier~/geonature/config/settings.ini
. - Se placer dans le dossier
~/geonature/install/
avec la commande :cd ~/geonature/install/
- Lancer une session détachable car la manipulation peut être longue et une perte de connexion SSH possible :
screen -S install-db
- Voir la documentation générale concernant les commandes à utiliser avec Screen pour quitter puis se reconnecter à une session.
- Lancer le script d'installation de la base de données de GeoNature :
./install_db.sh
- Vérifier l’absence d'erreurs de l'installation dans le fichier
~/geonature/var/log/install_db.log
- ATTENTION : remettre à
false
le paramètredrop_apps_db
du fichier~/geonature/config/settings.ini
!
Récupération en local du dépôt "data" et transfert sur le serveur
- En local, sur votre machine, récupérer le dépôt Github "sinp-paca-data" :
git clone git@github.com:cbn-alpin/sinp-paca-data.git
- Suivre les éventuelles étapes indiquées dans les fichiers README.md (CBNA), README.md (CBNMED) et README.md (CEN-PACA)
- ATTENTION : sur le serveur, sauvegarder le dossier "data" : voir ci-dessous
- Se placer à la racine du dossier sinp-paca-data
- Transférer les scripts :
rsync -av --copy-unsafe-links --exclude var --exclude .git --exclude .gitattributes --exclude .gitmodules --exclude .editorconfig --exclude .vscode --exclude .gitignore --exclude settings.ini --exclude "data/raw/*" --exclude venv --exclude .venv --exclude "import-parser/data/*" ./ geonat@db-paca-sinp:~/data/ --dry-run
- Supprimer l'option
--dry-run
si tout semble ok pour effectuer le transfert réel
- Se connecter au serveur
- Créer les fichiers settings.ini à partir des fichiers settings.sample.ini pour : area, cbna-cbnmed, cenpaca et shared
- Préparer l'environnement du script import-parser en suivant les indications du fichier README.md (import-parser)
- Notes : il est nécessaire de redonner les droits d'execution à GCC pour tout le monde si l'on veut pouvoir installer correctement le venv avec
sudo chmod o+x /usr/bin/gcc
. Une fois l'installation terminée, retirer les à nouveau avecchmod o-x /usr/bin/gcc
.
- Notes : les données brutes nécessaires aux scripts sont automatiquement téléchargées depuis Dropbox
Sauvegarde du dossier "data" de l'instance "db-srv"
- Se connecter à l'utilisateur "admin" sur le serveur :
ssh geonat@db-paca-sinp
- Créer le dossier de sauvegarde :
mkdir -p backups/data
- Sauvegarder le dossier "data" :
mv data backups/data/$(date +%F)
- Recréer le dossier "data" vide :
mkdir data
Modifier les vues d'exports
- Il est nécessaire d'ajouter les colonnes :
id_nomenclature_sensitivity
etid_nomenclature_diffusion_level
- Nous gardons dans la vue uniquement les colonnes exportées.
- Vue
gn_synthese.v_synthese_for_export
:CREATE OR REPLACE VIEW gn_synthese.v_synthese_for_export AS SELECT s.id_synthese, s.unique_id_sinp AS uuid_perm_sinp, s.unique_id_sinp_grp AS uuid_perm_grp_sinp, af.acquisition_framework_name AS ca_nom, d.id_dataset AS jdd_id, d.unique_dataset_id AS jdd_uuid, d.dataset_name AS jdd_nom, n21.label_default AS niveau_validation, s.validator AS validateur, s.observers AS observateurs, t.cd_ref, t.nom_valide, s.count_min AS nombre_min, s.count_max AS nombre_max, s.date_min::DATE AS date_debut, s.date_max::DATE AS date_fin, st_asgeojson(s.the_geom_4326) AS geojson_4326, st_asgeojson(s.the_geom_local) AS geojson_local, s."precision" AS precision_geographique, n9.label_default AS niveau_precision_diffusion, s.id_digitiser, s.id_nomenclature_sensitivity, s.id_nomenclature_diffusion_level FROM gn_synthese.synthese s JOIN taxonomie.taxref t ON t.cd_nom = s.cd_nom JOIN gn_meta.t_datasets d ON d.id_dataset = s.id_dataset JOIN gn_meta.t_acquisition_frameworks af ON d.id_acquisition_framework = af.id_acquisition_framework LEFT JOIN ref_nomenclatures.t_nomenclatures n9 ON s.id_nomenclature_diffusion_level = n9.id_nomenclature LEFT JOIN ref_nomenclatures.t_nomenclatures n21 ON s.id_nomenclature_valid_status = n21.id_nomenclature ;
- Vue
gn_synthese.v_synthese_taxon_for_export_view
:CREATE OR REPLACE VIEW gn_synthese.v_synthese_taxon_for_export_view AS WITH s AS (SELECT DISTINCT cd_nom FROM gn_synthese.synthese ) SELECT REF.nom_valide, REF.cd_ref, REF.nom_vern, REF.group1_inpn, REF.group2_inpn, REF.regne, REF.phylum, REF.classe, REF.ordre, REF.famille, REF.id_rang FROM s JOIN taxonomie.taxref t ON s.cd_nom = t.cd_nom JOIN taxonomie.taxref REF ON t.cd_ref = REF.cd_nom;
Ajout/Correction du référentiel géographique dans la base de données GeoNature
Il est nécessaire d'ajouter dans le référentiel géographique de GeoNature le contour du territoire du SINP.
Pour ce faire, nous allons utiliser le script area
du dépôt "data" :
- Se connecter au serveur "db" en tant qu'admin :
ssh geonat@db-paca-sinp
- Se placer dans le dossier ~/data/area/ de l'utilisateur geonat :
cd ~/data/area
- Créer le fichier de configuration :
cp config/settings.sample.ini config/settings.ini
- Modifier le fichier settings.ini en fonction de l'installation locale :
vi config/settings.ini
- Lancer une session détachable :
screen -S import-area
- Voir la documentation générale concernant les commandes à utiliser avec Screen pour quitter puis se reconnecter à une session.
- Lancer le script :
cd bin/ ; ./initialize.sh -v
- Temps approximatif d'exécution : ~3h
- Vérifier l’absence d'erreurs dans le fichier de log :
vi ../var/log/$(date +'%F')_imports.log
- Vérifier le contenu de la base de données, par exemple le nombre de communes :
SELECT COUNT(*) FROM ref_geo.l_areas AS la JOIN ref_geo.bib_areas_types AS bat ON (la.id_type = bat.id_type) WHERE type_code = 'COM';
Corrections diverses sur la base
- Corriger les droits de certaines tables attribuée postgres :
- Se connecter à psql :
sudo -u postgres psql
- Sélectionner la base geonature2db avec :
\c geonature2db
- Exécuter les requêtes suivantes :
ALTER TABLE taxonomie.taxref_bdc_statut OWNER TO geonatadmin; ALTER TABLE taxonomie.taxref_bdc_statut_type OWNER TO geonatadmin;
- Quitter psql avec :
\q
- Ajout d'un index sur le champs
observers
de la tablegn_synthese.synthese
:CREATE INDEX i_synthese_observers ON gn_synthese.synthese USING btree (observers)
Import des données "cen-paca" au format d'échange dans GeoNature module Synthèse
- Se connecter au serveur "db" en tant qu'admin :
ssh geonat@db-paca-sinp
- Se placer dans le dossier ~/data/cenpaca/ de l'utilisateur geonat :
cd ~/data/cenpaca
- Créer le fichier de configuration :
cp config/settings.sample.ini config/settings.ini
- Modifier le fichier settings.ini en fonction de l'installation locale :
vi config/settings.ini
- Lancer une session détachable :
screen -S import-cenpaca
- Voir la documentation générale concernant les commandes à utiliser avec Screen pour quitter puis se reconnecter à une session.
- Lancer le script :
cd bin/ ; ./import_initial.sh -v
- Temps approximatif d'exécution : ~2h20
- Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
Import des données "cbna-cbnmed" au format d'échange dans GeoNature module Synthèse
- Se connecter au serveur "db" en tant qu'admin :
ssh geonat@db-paca-sinp
- Se placer dans le dossier ~/data/cbna-cbnmed/ de l'utilisateur geonat :
cd ~/data/cbna-cbnmed
- Créer le fichier de configuration :
cp config/settings.sample.ini config/settings.ini
- Modifier le fichier settings.ini en fonction de l'installation locale :
vi config/settings.ini
- Lancer une session détachable :
screen -S import-cbna-cbnmed
- Voir la documentation générale concernant les commandes à utiliser avec Screen pour quitter puis se reconnecter à une session.
- Lancer le script :
cd bin/ ; ./import_initial.sh -v
- Temps approximatif d'exécution : ~1h45
- Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
Importation des images de l'INPN
Suivre la démarche décrite dans la documentation de gestion des serveurs.
Mise à jour des données GeoNature Atlas
- Au préalable, ajouter une authentification HTTP au site nature.silene.eu, le temps des tests avant mise en prod.
- Suivre la démarche décrite dans la documentation de gestion des serveurs
Configuration des permissions
- Via UsersHub, changer le nom du groupe "Grp_en_poste" pour "Grp_utilisateurs"
- Via GeoNature, module "Admin" > "Permissions", modifier les permissions par défaut comme suit :
- Pour le groupe "Grp_Utilisateurs"
- Pour le module "GeoNature" :
- Lire les données ⇒ Appartenance : "De tout le monde"
- Exporter les données ⇒ Appartenance : "De tout le monde"
- Pour le module "Métadonnées" :
- Lire les données ⇒ Appartenance : "De tout le monde"
- Pour le module "Synthese (= Observations)" :
- Lire les données ⇒ Appartenance : "De tout le monde" & Précision : "Floutée"
- Exporter les données ⇒ Appartenance : "De tout le monde" & Précision : "Floutée"
- Pour le groupe "Grp_admins" :
- Pour le module "Synthese (= Observations)" :
- Lire les données ⇒ Précision : "Exacte"
- Exporter les données ⇒ Précision : "Exacte"