Skip to content

Création tables Elevation DGFIP #159

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions integration/elevation_DGFIP/import_elevation.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@echo off
echo Bienvenu dans l insertion des elevations de TA_SUR_TOPO_G, issues de la cellule 3D, en base !
:: Import des données historique de la population en base.

:: 1. Déclaration et valorisation des variables
SET /p chemin_insertion="Veuillez saisir le chemin d'accès du dossier contenant les élévations : "
SET /p USER="Utilisateur Oracle de destination : "
SET /p MDP="MDP du schéma de destination : "
SET /p INSTANCE="Instance Oracle de destination :"

:: 2. Se mettre dans l'environnement de QGIS ;
cd C:\Program Files\QGIS 3.16\bin

:: 3. Configurer le système d'encodage des caractères en UTF-8
SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8

:: 4. Import de la donnée avec ogr2ogr.
ogr2ogr.exe -f OCI OCI:%USER%/%MDP%@%INSTANCE% %chemin_insertion%\table_extrusion_bati_test.csv -nln temp_elevation

:: 5. Mise en pause
pause
20 changes: 20 additions & 0 deletions integration/elevation_DGFIP/lanceur_creation_ta_elevation.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@echo off
echo Bienvenu dans la creation de la table TA_ELEVATION permettant de stocker en base l elevation issue du LIDAR afin d extruder les surfaces de la table TA_SUR_TOPO_G !

:: 1. Configurer le système d'encodage des caractères en UTF-8
SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8

:: 2. Déclaration et valorisation des variables
SET /p chemin_code_ddl="Veuillez saisir le chemin d'accès du dossier contenant le code DDL de la table : "
SET /p USER="Veuillez saisir l'utilisateur Oracle : "
SET /p MDP="Veuillez saisir le MDP : "
SET /p INSTANCE="Veuillez saisir l'instance Oracle :"

:: 3. lancement de SQL plus.
CD C:/ora12c/R1/BIN

:: 4. Execution de sqlplus. pour lancer la requete SQL.
sqlplus.exe %USER%/%MDP%@%INSTANCE% @%chemin_code_ddl%\creation_ta_elevation.sql

:: 5. Mise en pause
pause
63 changes: 63 additions & 0 deletions schema/structure_commune/creation_ta_elevation.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
-- Création de la table TA_ELEVATION
-- 1. Création de la table
CREATE TABLE G_GEO.TA_ELEVATION(
objectid NUMBER(38,0) GENERATED BY DEFAULT AS IDENTITY,
elevation NUMBER(38,5) NOT NULL,
fid_libelle NUMBER(38,0) NOT NULL,
fid_type_elevation NUMBER(38,0) NOT NULL,
fid_sur_topo_g NUMBER(38,0) NOT NULL,
fid_metadonnee NUMBER(38,0) NOT NULL
);

-- 2. Création des commentaires
COMMENT ON TABLE G_GEO.TA_ELEVATION IS 'Table permettant d''associer les valeurs d''élévation issues du LIDAR aux objets surfaciques de la table TA_SUR_TOPO_G, permettant d''extruder les bâtiments et d''offrir une meilleure visualisation de la morphologie du territoire';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.objectid IS 'Clé primaire de la table auto-incrémentée.';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.elevation IS 'Valeur d''élévation permettant d''extruder les polygones.';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.fid_libelle IS 'Clé étrangère vers la table TA_LIBELLE permettant de distinguer les valeurs d''élévation entre valeur minimale, valeur moyenne, valeur médiane et valeur maximale.';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.fid_type_elevation IS 'Clé étrangère vers la table TA_LIBELLE permettant de distinguer l''élévation absolue (mesurée au-dessus du niveau de la mer, donc du niveau 0) de l''élévation relative (mesurée au-dessus du sol et donc pouvant différer du niveau 0).';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.fid_sur_topo_g IS 'Clé étrangère vers la table TA_SUR_TOPO_G permettant d''associer une surface de cette table avec une élévation.';
COMMENT ON COLUMN G_GEO.TA_ELEVATION.fid_metadonnee IS 'Clé étrangère vers la table TA_METADONNEE permettant de connaître la source, la date d''acquisition et l''organisme créateur de la donnée.';

-- 3. Création de la contrainte de clé primaire
ALTER TABLE G_GEO.TA_ELEVATION
ADD CONSTRAINT TA_ELEVATION_PK
PRIMARY KEY(objectid)
USING INDEX TABLESPACE "G_ADT_INDX";

-- 4. Création des contraintes
-- Contraintes de clé étrangères
ALTER TABLE G_GEO.TA_ELEVATION
ADD CONSTRAINT TA_ELEVATION_FID_LIBELLE_FK
FOREIGN KEY(fid_libelle)
REFERENCES G_GEO.TA_LIBELLE(objectid);

ALTER TABLE G_GEO.TA_ELEVATION
ADD CONSTRAINT TA_ELEVATION_FID_TYPE_ELEVATION_FK
FOREIGN KEY(fid_type_elevation)
REFERENCES G_GEO.TA_LIBELLE(objectid);

ALTER TABLE G_GEO.TA_ELEVATION
ADD CONSTRAINT TA_ELEVATION_FID_SUR_TOPO_G_FK
FOREIGN KEY(fid_sur_topo_g)
REFERENCES G_GEO.TA_SUR_TOPO_G(objectid);

ALTER TABLE G_GEO.TA_ELEVATION
ADD CONSTRAINT TA_ELEVATION_FID_METADONNEE_FK
FOREIGN KEY(fid_metadonnee)
REFERENCES G_GEO.TA_METADONNEE(objectid);

-- 5. Création des index sur les clés étrangères
CREATE INDEX TA_ELEVATION_FID_LIBELLE_IDX ON G_GEO.TA_ELEVATION(fid_libelle)
TABLESPACE G_ADT_INDX;

CREATE INDEX TA_ELEVATION_FID_TYPE_ELEVATION_IDX ON G_GEO.TA_ELEVATION(fid_type_elevation)
TABLESPACE G_ADT_INDX;

CREATE INDEX TA_ELEVATION_FID_SUR_TOPO_G_IDX ON G_GEO.TA_ELEVATION(fid_sur_topo_g)
TABLESPACE G_ADT_INDX;

CREATE INDEX TA_ELEVATION_FID_METADONNEE_IDX ON G_GEO.TA_ELEVATION(fid_metadonnee)
TABLESPACE G_ADT_INDX;

-- 6. Affectation du droit de sélection sur les objets de la table aux administrateurs
GRANT SELECT ON G_GEO.TA_ELEVATION TO G_ADMIN_SIG;