phase 2 : 1 seul layer umap pour les PK secteurs

This commit is contained in:
MaelREBOUX 2021-09-23 22:50:45 +02:00
parent 275f1d8b1b
commit cad0cc0082
2 changed files with 13 additions and 22 deletions

View file

@ -24,30 +24,21 @@ echo ""
PGPASSWORD=$DB_PASSWD $PSQL -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "DROP TABLE IF EXISTS phase_2_pk_secteur_3857 CASCADE;"
echo ""
echo " récupération des fichiers geojson depuis les cartes umap"
echo " récupération des fichiers geojson depuis la carte umap"
echo ""
curl -sS http://umap.openstreetmap.fr/fr/datalayer/1903900/ > $rep_data/phase_2_umap_pk_secteur.geojson
echo " fait"
echo ""
# on va lire le fichier de config des couches umap pour boucler
IFS="="
while read -r line
do
layer=$line
# on charge dans postgis
# note : les coordonnées sont en 3857 mais la déclaration de la table = 4326
echo " umap layer id = $layer"
wget -q -O $rep_data/phase_2_umap_pk_secteur_$layer.geojson https://umap.openstreetmap.fr/fr/datalayer/$layer
echo " recup ok"
# on charge dans postgis
# note : les coordonnées sont en 3857 mais la déclaration de la table = 4326
echo " chargement dans la couche d'import"
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST port=$DB_PORT user=$DB_USER password=$DB_PASSWD dbname=$DB_NAME" \
$rep_data/phase_2_umap_pk_secteur_$layer.geojson -nln phase_2_pk_secteur_3857 -lco GEOMETRY_NAME=the_geom -explodecollections
echo " fait"
echo ""
# fin de la boucle de lecture des layers umap
done < $rep_data/umap_phase_2_layers.txt
echo " chargement dans la couche d'import"
ogr2ogr -f "PostgreSQL" PG:"host=$DB_HOST port=$DB_PORT user=$DB_USER password=$DB_PASSWD dbname=$DB_NAME" \
$rep_data/phase_2_umap_pk_secteur.geojson -nln phase_2_pk_secteur_3857 -lco GEOMETRY_NAME=the_geom -explodecollections
echo " fait"
echo ""
echo " recalage des PK secteurs sur un nœud du réseau routable"
PGPASSWORD=$DB_PASSWD $PSQL -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME < sql/phase_2.1_recalage_pk_secteurs.sql

View file

@ -26,7 +26,7 @@ SELECT
ST_Distance(pk_org.the_geom, ST_ClosestPoint(node.the_geom, pk_org.the_geom))* 1.01 -- dans la distance de ce plus proche point
) AS the_geom
FROM
(SELECT ogc_fid::integer AS id, name, secteur_id, ST_Transform(the_geom,2154) AS the_geom FROM phase_2_pk_secteur_3857) AS pk_org,
(SELECT ROW_NUMBER() OVER (ORDER BY secteur_id_start::integer) AS id, secteur_id_start AS secteur_id, name, secteur_id_end, secteur_id_start, ST_Transform(the_geom,2154) AS the_geom FROM phase_2_pk_secteur_3857) AS pk_org,
(SELECT id, the_geom FROM osm_roads_pgr_vertices_pgr) AS node
WHERE
ST_INTERSECTS(node.the_geom, ST_BUFFER(ST_Transform(pk_org.the_geom,2154) ,25) )