phase_5_pk_diff -> phase_5_pk_diff_secteur

This commit is contained in:
MaelREBOUX 2022-01-08 17:28:45 +01:00
parent 3a5948802a
commit c7ea98c6da
3 changed files with 40 additions and 22 deletions

View file

@ -148,6 +148,27 @@ Ce script va récupérer une couche des communes de France (source OpenStreetMap
## Charger et traiter les données ## Charger et traiter les données
### Phase 1
`./traitements_phase_1.sh {millesime}`
* chargement des données depuis la [carte umap phase 1](http://umap.openstreetmap.fr/fr/map/ar_redadeg_2020_phase_1_274091) dans les tables :
* `phase_1_trace_3857`
* `phase_1_pk_vip_3857`
* chargement des tables de travail en Lambert 93 :
* `phase_1_trace`
* `phase_1_pk_vip --> ne sert pas au final`
* traitements :
* La table `phase_1_trace_troncons` est remplie à partir de la couche `phase_1_trace`. Les lignes du tracé sont découpées en tronçons de 1000 m. Mais attention : on repart à zéro à chaque nouvelle section de la couche `phase_1_trace`. Cette couche de points est surtout là pour donner une vague idée du nb de km "vrais".
* La vue `phase_1_pk_auto` consiste à placer un point à chaque extrémité de chaque ligne de la couche `phase_1_trace_troncons`.
* export en geojson WGS84 pour umap des tables :
* `phase_1_trace_4326.geojson`
* `phase_1_pk_auto_4326.geojson`
* export en Excel des tables :
* `phase_1_pk_auto_4326.xls`
### Création du filaire de voies support du routage ### Création du filaire de voies support du routage
#### filaire de voies OSM #### filaire de voies OSM
@ -206,24 +227,6 @@ Si juste besoin de recalculer un itinéraire si les données Redadeg phase 1 ou
### Phase 1
`./traitements_phase_1.sh {millesime}`
* chargement des données depuis la [carte umap phase 1](http://umap.openstreetmap.fr/fr/map/ar_redadeg_2020_phase_1_274091) dans les tables :
* `phase_1_trace_3857`
* `phase_1_pk_vip_3857`
* chargement des tables de travail en Lambert 93 :
* `phase_1_trace`
* `phase_1_pk_vip --> ne sert pas au final`
* traitements :
* La table `phase_1_trace_troncons` est remplie à partir de la couche `phase_1_trace`. Les lignes du tracé sont découpées en tronçons de 1000 m. Mais attention : on repart à zéro à chaque nouvelle section de la couche `phase_1_trace`. Cette couche de points est surtout là pour donner une vague idée du nb de km "vrais".
* La vue `phase_1_pk_auto` consiste à placer un point à chaque extrémité de chaque ligne de la couche `phase_1_trace_troncons`.
* export en geojson WGS84 pour umap des tables :
* `phase_1_trace_4326.geojson`
* `phase_1_pk_auto_4326.geojson`
* export en Excel des tables :
* `phase_1_pk_auto_4326.xls`
### Phase 2 (obsolète : à reprendre) ### Phase 2 (obsolète : à reprendre)

View file

@ -197,7 +197,7 @@ ORDER BY pk_id ;"""
# on utilise la vue faite pour ça # on utilise la vue faite pour ça
# normalement c'est impossible car pk_id est clé primaire # normalement c'est impossible car pk_id est clé primaire
sql_test_nb = "SELECT * FROM phase_5_pk_diff ;" sql_test_nb = "SELECT * FROM phase_5_pk_diff_secteur ;"
db_redadeg_cursor.execute(sql_test_nb) db_redadeg_cursor.execute(sql_test_nb)
controle_table = db_redadeg_cursor.fetchall() controle_table = db_redadeg_cursor.fetchall()

View file

@ -760,9 +760,9 @@ CREATE INDEX phase_5_pk_umap_geom_idx ON phase_5_pk_umap USING gist(the_geom);
ALTER TABLE phase_5_pk_umap OWNER TO redadeg; ALTER TABLE phase_5_pk_umap OWNER TO redadeg;
-- une vue de contrôle -- une vue de contrôle par secteur
DROP VIEW IF EXISTS phase_5_pk_diff ; DROP VIEW IF EXISTS phase_5_pk_diff_secteur ;
CREATE VIEW phase_5_pk_diff AS CREATE VIEW phase_5_pk_diff_secteur AS
WITH ref AS ( WITH ref AS (
SELECT secteur_id, COUNT(pk_id) as ref SELECT secteur_id, COUNT(pk_id) as ref
FROM phase_5_pk_ref FROM phase_5_pk_ref
@ -787,6 +787,21 @@ CREATE VIEW phase_5_pk_diff AS
FROM "ref" r JOIN umap u ON r.secteur_id = u.secteur_id FROM "ref" r JOIN umap u ON r.secteur_id = u.secteur_id
ORDER BY r.secteur_id ; ORDER BY r.secteur_id ;
-- une vue de contrôle par PK
DROP VIEW IF EXISTS phase_5_pk_diff ;
CREATE VIEW phase_5_pk_diff AS
SELECT
r.secteur_id
,r.pk_id
,CASE
WHEN TRUNC(ST_Distance(r.the_geom, u.the_geom)::numeric,2) > 1 THEN true
ELSE false
END AS deplace
,TRUNC(ST_Distance(r.the_geom, u.the_geom)::numeric,0) AS distance_droite
FROM phase_5_pk_ref r JOIN phase_5_pk_umap u ON r.pk_id = u.pk_id
ORDER BY r.pk_id ;
-- la table finale -- la table finale
DROP TABLE IF EXISTS phase_5_pk CASCADE ; DROP TABLE IF EXISTS phase_5_pk CASCADE ;