2019-10-22 20:59:29 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# ce traitement consiste à charger les données des 10 cartes umap
|
|
|
|
# à les contrôler par rapport aux données de référence
|
|
|
|
# à les agréger
|
|
|
|
# puis les exporter pour merour
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
set -u
|
|
|
|
|
2019-10-22 21:54:03 +00:00
|
|
|
#PSQL=/usr/bin/psql
|
|
|
|
PSQL=psql
|
2019-10-22 20:59:29 +00:00
|
|
|
DB_HOST=192.168.56.131
|
|
|
|
DB_NAME=redadeg
|
|
|
|
DB_USER=redadeg
|
|
|
|
DB_PASS=redadeg
|
|
|
|
|
|
|
|
|
|
|
|
#cd /data/www/vhosts/ar-redadeg_openstreetmap_bzh/htdocs/scripts/
|
|
|
|
|
|
|
|
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo " Chargement des données des cartes umap"
|
|
|
|
echo ""
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# OK !
|
|
|
|
#dernierFichierCmd="ls -l1dt phase_5_pk_secteur_"$secteur"_* | head -1"
|
|
|
|
#eval $dernierFichierCmd
|
|
|
|
|
|
|
|
|
|
|
|
# on procède secteur par secteur
|
|
|
|
# on récupère les données umap et on les charge dans la même couche
|
|
|
|
|
|
|
|
# on commence donc par vider la couche cible
|
|
|
|
# géré avec l'option -overwrite sur le secteur 1
|
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 1"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027042/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# chargement initial
|
2019-10-23 17:36:08 +00:00
|
|
|
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 -lco GEOMETRY_NAME=the_geom -explodecollections -overwrite
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 2"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027081/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 3"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027101/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 4"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027104/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 5"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027107/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 6"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027110/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 7"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027114/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 8"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027117/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 9"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027120/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo " secteur 10"
|
2019-10-23 17:36:08 +00:00
|
|
|
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1027123/ > data/phase_5_pk_umap_tmp.geojson
|
2019-10-22 20:59:29 +00:00
|
|
|
# on rajoute à la couche
|
2019-10-23 17:36:08 +00:00
|
|
|
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
|
2019-10-22 21:54:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo ""
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo " Contrôle des données par secteur"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
# on veut la liste des vrais secteurs : pas des secteurs de gestion
|
|
|
|
# on instancie donc un tableau
|
|
|
|
|
|
|
|
declare -a secteursArray=()
|
|
|
|
|
|
|
|
secteursArray=(`$PSQL -h $DB_HOST -U $DB_USER $DB_NAME -t -X -A -c \
|
|
|
|
"WITH a AS
|
|
|
|
(
|
|
|
|
SELECT substring(secteur_id::text,1, char_length(secteur_id::text)-1)::integer AS secteur_id
|
|
|
|
FROM phase_5_pk_ref
|
|
|
|
)
|
|
|
|
SELECT DISTINCT(secteur_id) FROM a ORDER BY secteur_id ;"`)
|
|
|
|
|
|
|
|
#echo "secteursArray = " ${secteursArray[@]}
|
|
|
|
|
|
|
|
|
|
|
|
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
echo ""
|
|
|
|
echo " 1 : nombre de PK par secteur"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
for secteur in ${secteursArray[@]}
|
|
|
|
do
|
2019-10-22 22:32:02 +00:00
|
|
|
#echo " secteur $secteur"
|
|
|
|
|
|
|
|
# une requête qui compare le nb de PK entre la couche de référence et la couche umap
|
|
|
|
sect_deb=$secteur"0" # 1 --> 10
|
|
|
|
sect_fin=$((secteur+1))0
|
|
|
|
#echo "$sect_deb -> $sect_fin"
|
|
|
|
|
|
|
|
$PSQL -X -A -t -h $DB_HOST -U $DB_USER $DB_NAME \
|
|
|
|
-c "WITH ref AS (
|
|
|
|
SELECT COUNT(pk_id) as ref FROM phase_5_pk_ref
|
|
|
|
WHERE (secteur_id >= $sect_deb and secteur_id < $sect_fin)
|
|
|
|
),
|
|
|
|
umap AS (
|
|
|
|
SELECT COUNT(pk_id) as umap FROM phase_5_pk_umap
|
|
|
|
WHERE (secteur_id >= $sect_deb and secteur_id < $sect_fin)
|
|
|
|
)
|
|
|
|
SELECT
|
|
|
|
*,
|
|
|
|
CASE
|
|
|
|
WHEN ref.ref < umap.umap THEN 'plus'
|
|
|
|
WHEN ref.ref > umap.umap THEN 'moins'
|
|
|
|
WHEN ref.ref = umap.umap THEN 'pareil'
|
|
|
|
ELSE 'problème'
|
|
|
|
END AS test
|
|
|
|
FROM ref, umap" \
|
|
|
|
--single-transaction \
|
|
|
|
--set AUTOCOMMIT=off \
|
|
|
|
--set ON_ERROR_STOP=on \
|
|
|
|
--no-align \
|
|
|
|
-t \
|
|
|
|
--field-separator ' ' \
|
|
|
|
--quiet | while read -a Record ; do
|
|
|
|
|
|
|
|
nbPKref=${Record[0]}
|
|
|
|
nbPKumap=${Record[1]}
|
|
|
|
test=${Record[2]}
|
|
|
|
#test='moins'
|
|
|
|
|
|
|
|
# on teste
|
|
|
|
if [[ $test == "pareil" ]];
|
|
|
|
then echo " secteur $secteur ok : $nbPKref PK"
|
|
|
|
elif [[ $test == "plus" ]];
|
|
|
|
then echo " secteur $secteur >>>> problème : " $((nbPKumap - $nbPKref)) " PK en trop"
|
|
|
|
elif [[ $test == "moins" ]];
|
|
|
|
then echo " secteur $secteur >>>> problème : " $((nbPKref - $nbPKumap)) " PK en moins"
|
|
|
|
fi
|
|
|
|
|
|
|
|
done
|
2019-10-22 21:54:03 +00:00
|
|
|
|
|
|
|
# fin de la boucle
|
|
|
|
done
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
2019-10-23 17:36:08 +00:00
|
|
|
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
echo ""
|
|
|
|
echo ""
|
|
|
|
echo " 2 : si replacement : test de distance"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# ici une requête PostGIS sortira les PK qui auront été trop déplacés
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo " Application des traitements SQL phase 5"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
$PSQL -h $DB_HOST -U $DB_USER -d $DB_NAME < traitements_phase_5.sql
|
|
|
|
|
|
|
|
echo " fait"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
# et on exporte en geojson pour umap et merour
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo " Exports"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo " exports geojson"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
rm data/phase_5_pk.geojson
|
|
|
|
ogr2ogr -f "GeoJSON" data/phase_5_pk.geojson PG:"host=$DB_HOST user=redadeg password=redadeg dbname=redadeg" phase_5_pk
|
|
|
|
|
|
|
|
echo " fait"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo " pousse vers serveur"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
rsync -av -z data/phase_5_pk.geojson breizhpovh2:/data/www/vhosts/ar-redadeg_openstreetmap_bzh/htdocs/scripts/data/
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo " fait"
|
|
|
|
echo ""
|
2019-10-22 20:59:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo ""
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo " F I N"
|
|
|
|
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
|
|
echo ""
|