ménage dans les tables phase 5 à cause des systèmes de projection
le bon…
This commit is contained in:
parent
c5c6f2891c
commit
0b9107e172
|
@ -532,7 +532,7 @@ ALTER TABLE phase_3_trace_secteurs_4326 OWNER TO redadeg;
|
|||
|
||||
|
||||
-- la couche des PK calculés automatiquement
|
||||
DROP TABLE IF EXISTS phase_3_pk_auto ;
|
||||
DROP TABLE IF EXISTS phase_3_pk_auto CASCADE ;
|
||||
CREATE TABLE phase_3_pk_auto
|
||||
(
|
||||
pk_id integer,
|
||||
|
@ -632,8 +632,7 @@ ALTER TABLE phase_4_pk_auto_4326 OWNER TO redadeg;
|
|||
==========================================================================
|
||||
*/
|
||||
|
||||
-- la table des PK avant modifications manuelles
|
||||
-- en WGS85 / EPSG:4326 pour se simplier les contrôles
|
||||
-- la table des PK avant modifications manuelles = PK de référence = phase_3_pk_auto
|
||||
DROP TABLE IF EXISTS phase_5_pk_ref ;
|
||||
CREATE TABLE phase_5_pk_ref
|
||||
(
|
||||
|
@ -659,17 +658,18 @@ CREATE TABLE phase_5_pk_ref
|
|||
the_geom geometry,
|
||||
CONSTRAINT phase_5_pk_ref_pkey PRIMARY KEY (pk_id),
|
||||
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'POINT'::text),
|
||||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326)
|
||||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 2154)
|
||||
) ;
|
||||
ALTER TABLE phase_5_pk_ref OWNER TO redadeg;
|
||||
|
||||
-- on charge cette table avec les données finales de la phase 3
|
||||
INSERT INTO phase_5_pk_ref SELECT * FROM phase_4_pk_auto_4326 ;
|
||||
TRUNCATE TABLE phase_5_pk_ref ;
|
||||
INSERT INTO phase_5_pk_ref SELECT * FROM phase_3_pk_auto ;
|
||||
|
||||
|
||||
-- on définit manuellement la couche avec un type mixte parce qu'on a des lignes dans la couche de points…
|
||||
DROP TABLE public.phase_5_pk_umap;
|
||||
CREATE TABLE public.phase_5_pk_umap
|
||||
DROP TABLE IF EXISTS phase_5_pk_umap_4326;
|
||||
CREATE TABLE phase_5_pk_umap_4326
|
||||
(
|
||||
ogc_fid integer,
|
||||
pk_id integer,
|
||||
|
@ -679,6 +679,19 @@ CREATE TABLE public.phase_5_pk_umap
|
|||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326)
|
||||
);
|
||||
|
||||
-- la table en 2154 pour travailler
|
||||
DROP TABLE IF EXISTS phase_5_pk_umap;
|
||||
CREATE TABLE phase_5_pk_umap
|
||||
(
|
||||
pk_id integer,
|
||||
secteur_id integer,
|
||||
the_geom geometry,
|
||||
CONSTRAINT phase_5_pk_umap_pkey PRIMARY KEY (pk_id),
|
||||
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'POINT'::text),
|
||||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 2154)
|
||||
);
|
||||
|
||||
|
||||
|
||||
-- la table finale
|
||||
DROP TABLE IF EXISTS phase_5_pk ;
|
||||
|
@ -706,7 +719,7 @@ CREATE TABLE phase_5_pk
|
|||
the_geom geometry,
|
||||
CONSTRAINT phase_5_pk_pkey PRIMARY KEY (pk_id),
|
||||
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'POINT'::text),
|
||||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326)
|
||||
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 2154)
|
||||
) ;
|
||||
ALTER TABLE phase_5_pk OWNER TO redadeg;
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ echo ""
|
|||
# on commence par vider la table qui contiendra les calculs d'itinéraires
|
||||
|
||||
echo " vidage de la couche de routage"
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME -c "TRUNCATE TABLE phase_5_pk_umap ;"
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME -c "TRUNCATE TABLE phase_5_pk_umap_4326 ;"
|
||||
echo " fait"
|
||||
|
||||
echo ""
|
||||
|
@ -50,80 +50,91 @@ echo " secteur 1"
|
|||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027042/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# chargement initial
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 2"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027081/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 3"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027101/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 4"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027104/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 5"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027107/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 6"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027110/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 7"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027114/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 8"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027117/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 9"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027120/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
echo " secteur 10"
|
||||
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027123/ > data/phase_5_pk_umap_tmp.geojson
|
||||
# on rajoute à la couche
|
||||
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST user=$DB_USER password=$DB_PASS dbname=$DB_NAME" \
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap -explodecollections -append
|
||||
data/phase_5_pk_umap_tmp.geojson -nln phase_5_pk_umap_4326 -explodecollections -append
|
||||
|
||||
|
||||
|
||||
# ensuite on supprime les enregistrement aberrants
|
||||
echo ""
|
||||
echo " suppression des données nulles"
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME -c "DELETE FROM phase_5_pk_umap WHERE ST_geometrytype(the_geom) <> 'ST_Point' OR secteur_id IS NULL OR pk_id IS NULL ;"
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME -c "DELETE FROM phase_5_pk_umap_4326 WHERE ST_geometrytype(the_geom) <> 'ST_Point' OR secteur_id IS NULL OR pk_id IS NULL ;"
|
||||
echo " fait"
|
||||
|
||||
|
||||
# et on charge la couche en 2154 pour pouvoir travailler
|
||||
echo ""
|
||||
echo " chargement de la couche de travail en 2154"
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME \
|
||||
-c "TRUNCATE phase_5_pk_umap ;
|
||||
INSERT INTO phase_5_pk_umap
|
||||
SELECT pk_id, secteur_id, ST_Transform(the_geom,2154) AS the_geom
|
||||
FROM phase_5_pk_umap_4326
|
||||
ORDER BY pk_id ;"
|
||||
echo " fait"
|
||||
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
@ -219,7 +230,7 @@ echo ""
|
|||
read nb_pk_deplaces <<< $( $PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME --no-align -t --quiet -c \
|
||||
"SELECT COUNT(*)
|
||||
FROM phase_5_pk_ref r FULL JOIN phase_5_pk_umap u ON r.pk_id = u.pk_id
|
||||
WHERE TRUNC(ST_Distance(ST_Transform(r.the_geom,2154), ST_Transform(u.the_geom,2154))::numeric,2) > 1"
|
||||
WHERE TRUNC(ST_Distance(r.the_geom, u.the_geom)::numeric,2) > 1 ;"
|
||||
)
|
||||
|
||||
echo " $nb_pk_deplaces PK déplacés manuellement"
|
||||
|
@ -233,9 +244,9 @@ $PSQL -X -h $DB_HOST -U $DB_USER -d $DB_NAME \
|
|||
SELECT
|
||||
r.pk_id,
|
||||
r.secteur_id,
|
||||
TRUNC(ST_Distance(ST_Transform(r.the_geom,2154), ST_Transform(u.the_geom,2154))::numeric,2) as distance
|
||||
TRUNC(ST_Distance(r.the_geom, u.the_geom)::numeric,2) as distance
|
||||
FROM phase_5_pk_ref r FULL JOIN phase_5_pk_umap u ON r.pk_id = u.pk_id
|
||||
WHERE TRUNC(ST_Distance(ST_Transform(r.the_geom,2154), ST_Transform(u.the_geom,2154))::numeric,2) > 1
|
||||
WHERE TRUNC(ST_Distance(r.the_geom, u.the_geom)::numeric,2) > 1
|
||||
)
|
||||
SELECT '1' as tri, '> 1000' as distance, COUNT(*) FROM liste_pk_decales WHERE (distance >= 1000)
|
||||
UNION SELECT '2' as tri, '> 500' as distance, COUNT(*) FROM liste_pk_decales WHERE (distance >= 500 AND distance < 1000)
|
||||
|
@ -261,7 +272,7 @@ echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|||
echo " Application des traitements SQL phase 5"
|
||||
echo ""
|
||||
|
||||
#$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME < traitements_phase_5.sql
|
||||
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME < traitements_phase_5.sql
|
||||
|
||||
echo " fait"
|
||||
echo ""
|
||||
|
|
Loading…
Reference in a new issue