# DVF

# Cas de Vedene

# Vedène -

<div id="bkmrk-" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;clear:left;">  
</div>C'est un excellent test pour valider l'industrialisation du processus. Vedène (84141) va nous permettre de vérifier si la structure à 40 colonnes est constante.

Voici le plan d'action séquentiel.

### 1. Création de `vedene_full` (Le moule brut)

On prépare d'abord le réceptacle pour l'importation du CSV.

<div class="code-block ng-tns-c3877021074-1765 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-sql" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c3877021074-1765 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><span class="ng-tns-c3877021074-1765" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">SQL</span><div class="buttons ng-tns-c3877021074-1765 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div><div class="formatted-code-block-internal-container ng-tns-c3877021074-1765" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1765" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div><div id="bkmrk-1-2-3-4-5-6-7-8-9-10" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p" style="margin:0px 0px 1.375em;padding:0px;border:1px solid rgb(221,221,221);font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:12px;line-height:1.4;font-family:inherit;vertical-align:baseline;background-color:rgb(255,255,255);color:rgb(0,0,0);"><div class="cm-announced" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-scroller" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.4;font-family:monospace;vertical-align:baseline;height:219.2px;" tabindex="-1"><div class="cm-gutters cm-gutters-before" style="margin:0px;padding:0px;border-width:0px 1px 0px 0px;border-style:solid;border-color:rgb(221,221,221);font:inherit;vertical-align:baseline;height:219.2px;background-color:rgb(245,245,245);color:rgb(108,108,108);min-height:219.2px;"><div class="cm-gutter cm-lineNumbers" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;min-height:100%;overflow:hidden;"><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:0px;visibility:hidden;">  
</div><div class="cm-gutterElement" style="margin:4px 0px 0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">1</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">2</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">3</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">4</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">5</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">6</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">7</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">8</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">9</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">10</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">11</div></div></div><div class="cm-content" style="margin:0px;padding:4px 0px;border:0px;font:inherit;vertical-align:baseline;display:block;white-space:pre;min-height:100%;"><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE SCHEMA IF NOT EXISTS dvf_raw;</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">  
</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">DROP TABLE IF EXISTS dvf_raw.vedene_full;</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE TABLE dvf_raw.vedene_full (</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">c1 text, c2 text, c3 text, c4 text, c5 text, c6 text, c7 text, c8 text, c9 text, c10 text,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">c11 text, c12 text, c13 text, c14 text, c15 text, c16 text, c17 text, c18 text, c19 text, c20 text,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">c21 text, c22 text, c23 text, c24 text, c25 text, c26 text, c27 text, c28 text, c29 text, c30 text,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">c31 text, c32 text, c33 text, c34 text, c35 text, c36 text, c37 text, c38 text, c39 text, c40 text</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">);</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">"</div></div><div class="cm-layer cm-layer-above cm-cursorLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-layer cm-selectionLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div></div><div class="code-block ng-tns-c3877021074-1765 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--2" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="formatted-code-block-internal-container ng-tns-c3877021074-1765" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1765" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div>### 2. Injection des données (Bash/Docker)

Assure-toi que le fichier est bien présent dans ton arborescence locale avant de lancer :

<div class="code-block ng-tns-c3877021074-1766 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-bash" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c3877021074-1766 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><span class="ng-tns-c3877021074-1766" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">Bash</span><div class="buttons ng-tns-c3877021074-1766 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div><div class="formatted-code-block-internal-container ng-tns-c3877021074-1766" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1766" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div><div id="bkmrk-1-2-3-4-5-6-7-8-9-10-1" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1q" style="margin:0px 0px 1.375em;padding:0px;border:1px solid rgb(221,221,221);font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:12px;line-height:1.4;font-family:inherit;vertical-align:baseline;background-color:rgb(255,255,255);color:rgb(0,0,0);"><div class="cm-announced" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-scroller" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.4;font-family:monospace;vertical-align:baseline;height:288.8px;" tabindex="-1"><div class="cm-gutters cm-gutters-before" style="margin:0px;padding:0px;border-width:0px 1px 0px 0px;border-style:solid;border-color:rgb(221,221,221);font:inherit;vertical-align:baseline;height:276.8px;background-color:rgb(245,245,245);color:rgb(108,108,108);min-height:276.8px;"><div class="cm-gutter cm-lineNumbers" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;min-height:100%;overflow:hidden;"><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:0px;visibility:hidden;">  
</div><div class="cm-gutterElement" style="margin:4px 0px 0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">1</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">2</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">3</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">4</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">5</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">6</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">7</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">8</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">9</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">10</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">11</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">12</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">13</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">14</div></div></div><div class="cm-content" style="margin:0px;padding:4px 0px;border:0px;font:inherit;vertical-align:baseline;display:block;white-space:pre;min-height:100%;"><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">\# 1. Injection du CSV (40 colonnes)</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">cat "/home/debian/data/Regions/93/84/248400251/84141/84141.csv" | docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "COPY dvf_raw.vedene_full FROM STDIN WITH (FORMAT CSV, HEADER, DELIMITER ',');"</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">  
</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">\# 2. Création du Jalon Géographique (Points Lambert 93)</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">DROP TABLE IF EXISTS dvf_raw.vedene_valide;</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE TABLE dvf_raw.vedene_valide AS</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">SELECT</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c1 as id_mutation,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">ST_Transform(ST_SetSRID(ST_MakePoint(NULLIF(f.c39, '')::double precision, NULLIF(f.c40, '')::double precision), 4326), 2154) as geom</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">FROM dvf_raw.vedene_full f</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">WHERE f.c39 ~ '^-?[0-9]';</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE INDEX sidx_vedene_valide ON dvf_raw.vedene_valide USING GIST (geom);</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">"</div></div><div class="cm-layer cm-layer-above cm-cursorLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-layer cm-selectionLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div></div><div class="code-block ng-tns-c3877021074-1766 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--5" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="formatted-code-block-internal-container ng-tns-c3877021074-1766" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1766" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div>### 3. Création de `vedene_valide` (Le Jalon Géographique)

On extrait les points GPS pour "poser le premier jalon" et vérifier l'emprise.

<div class="code-block ng-tns-c3877021074-1767 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-sql-1" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c3877021074-1767 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><span class="ng-tns-c3877021074-1767" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">SQL</span><div class="buttons ng-tns-c3877021074-1767 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div><div class="formatted-code-block-internal-container ng-tns-c3877021074-1767" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1767" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div><div id="bkmrk-1-2-3-4-5-6-7-8-9-dr" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r" style="margin:0px 0px 1.375em;padding:0px;border:1px solid rgb(221,221,221);font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:12px;line-height:1.4;font-family:inherit;vertical-align:baseline;background-color:rgb(255,255,255);color:rgb(0,0,0);"><div class="cm-announced" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-scroller" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.4;font-family:monospace;vertical-align:baseline;height:192.8px;" tabindex="-1"><div class="cm-gutters cm-gutters-before" style="margin:0px;padding:0px;border-width:0px 1px 0px 0px;border-style:solid;border-color:rgb(221,221,221);font:inherit;vertical-align:baseline;height:180.8px;background-color:rgb(245,245,245);color:rgb(108,108,108);min-height:180.8px;"><div class="cm-gutter cm-lineNumbers" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;min-height:100%;overflow:hidden;"><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:0px;visibility:hidden;">  
</div><div class="cm-gutterElement" style="margin:4px 0px 0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">1</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">2</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">3</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">4</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">5</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">6</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">7</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">8</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">9</div></div></div><div class="cm-content" style="margin:0px;padding:4px 0px;border:0px;font:inherit;vertical-align:baseline;display:block;white-space:pre;min-height:100%;"><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">DROP TABLE IF EXISTS dvf_raw.vedene_valide;</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE TABLE dvf_raw.vedene_valide AS</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">SELECT</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c1 as id_mutation,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">ST_Transform(ST_SetSRID(ST_MakePoint(NULLIF(f.c39, '')::double precision, NULLIF(f.c40, '')::double precision), 4326), 2154) as geom</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">FROM dvf_raw.vedene_full f</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">WHERE f.c39 ~ '^-?[0-9]';</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">  
</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE INDEX sidx_vedene_valide ON dvf_raw.vedene_valide USING GIST (geom);</div></div><div class="cm-layer cm-layer-above cm-cursorLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-layer cm-selectionLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div></div><div class="code-block ng-tns-c3877021074-1767 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--8" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="formatted-code-block-internal-container ng-tns-c3877021074-1767" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1767" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div>### 4. Fusion Finale : `84141_dvf_alteris` (L'Item Unique)

On assemble le tout (DVF + Géométrie Validée + Jointure Cadastre) en éliminant les doublons de lignes DVF.

<div class="code-block ng-tns-c3877021074-1768 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-sql-2" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c3877021074-1768 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><span class="ng-tns-c3877021074-1768" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">SQL</span><div class="buttons ng-tns-c3877021074-1768 ng-star-inserted" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div><div class="formatted-code-block-internal-container ng-tns-c3877021074-1768" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1768" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div><div id="bkmrk-1-2-3-4-5-6-7-8-9-10-2" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1s" style="margin:0px 0px 1.375em;padding:0px;border:1px solid rgb(221,221,221);font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:12px;line-height:1.4;font-family:inherit;vertical-align:baseline;background-color:rgb(255,255,255);color:rgb(0,0,0);"><div class="cm-announced" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-scroller" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.4;font-family:monospace;vertical-align:baseline;height:564.8px;" tabindex="-1"><div class="cm-gutters cm-gutters-before" style="margin:0px;padding:0px;border-width:0px 1px 0px 0px;border-style:solid;border-color:rgb(221,221,221);font:inherit;vertical-align:baseline;height:564.8px;background-color:rgb(245,245,245);color:rgb(108,108,108);min-height:564.8px;"><div class="cm-gutter cm-lineNumbers" style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;min-height:100%;overflow:hidden;"><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:0px;visibility:hidden;">  
</div><div class="cm-gutterElement" style="margin:4px 0px 0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">1</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">2</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">3</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">4</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">5</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">6</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">7</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">8</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">9</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">10</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">11</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">12</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">13</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">14</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">15</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">16</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">17</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">18</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">19</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">20</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">21</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">22</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">23</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">24</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">25</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">26</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">27</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">28</div><div class="cm-gutterElement" style="margin:0px;padding:0px 3px 0px 5px;border:0px;font:inherit;vertical-align:baseline;min-width:20px;text-align:right;white-space:nowrap;height:19.2px;">29</div></div></div><div class="cm-content" style="margin:0px;padding:4px 0px;border:0px;font:inherit;vertical-align:baseline;display:block;white-space:pre;min-height:100%;"><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">DROP TABLE IF EXISTS dvf_raw."84141_dvf_alteris";</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">CREATE TABLE dvf_raw."84141_dvf_alteris" AS</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">WITH cadastre AS (</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">-- Reconstruction spatiale du cadastre de Vedène</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">SELECT</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">(f-&gt;'properties'-&gt;&gt;'id')::text as id_parcelle_cad,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">ST_Transform(ST_SetSRID(ST_GeomFromGeoJSON(f-&gt;'geometry'), 4326), 2154) as geom_poly</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">FROM (</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">SELECT jsonb_array_elements(string_agg(line, '')::jsonb-&gt;'features') as f</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">FROM dvf_raw.tmp_vedene_txt</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">) sub</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">)</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">SELECT DISTINCT ON (f.c1)</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">v.geom,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c1 as id_mutation,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">NULLIF(f.c2, '')::date as date_mutation,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">NULLIF(f.c5, '')::numeric as valeur_fonciere,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c16 as id_parcelle_dvf,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c8 || ' ' || f.c9 as adresse,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">f.c28 as type_local,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">NULLIF(f.c29, '')::numeric as surface_bati,</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">ST_Within(v.geom, c.geom_poly) as certification_spatiale</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">FROM dvf_raw.vedene_full f</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">JOIN dvf_raw.vedene_valide v ON f.c1 = v.id_mutation</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">LEFT JOIN cadastre c ON f.c16 = c.id_parcelle_cad</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">ORDER BY f.c1;</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">  
</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">-- Nettoyage des tables temporaires</div><div class="cm-line" style="margin:0px;padding:0px 2px 0px 6px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:inherit;line-height:1.6;font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;vertical-align:baseline;display:block;">DROP TABLE dvf_raw.tmp_vedene_txt;</div></div><div class="cm-layer cm-layer-above cm-cursorLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div><div class="cm-layer cm-selectionLayer" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div></div><div class="code-block ng-tns-c3877021074-1768 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--11" style="margin:0px;padding:0px;border:0px;font-style:normal;font-weight:400;font-size:14px;line-height:inherit;font-family:'-apple-system', BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;vertical-align:baseline;color:rgb(68,68,68);letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;"><div class="formatted-code-block-internal-container ng-tns-c3877021074-1768" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;"><div class="animated-opacity ng-tns-c3877021074-1768" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;">  
</div></div></div>**Chiche ! Les scripts sont prêts. Tu veux que je lance l'exécution ou tu préfères vérifier un point de structure avant ?**