maj de osm_roads + la topologie

pas facile...
This commit is contained in:
MaelReboux 2019-05-09 15:17:06 +02:00
parent 871ede9bd5
commit b6fc402951
3 changed files with 12 additions and 31 deletions

View file

@ -99,10 +99,12 @@ echo ""
echo "transfert de osm_roads depuis la base OSM vers la base redadeg" echo "transfert de osm_roads depuis la base OSM vers la base redadeg"
echo "" echo ""
pg_dump --file data/osm_roads.sql --host $HOST_DB_osm --username osmbr --no-password --format=p --no-owner --section=pre-data --section=data --no-privileges --no-tablespaces --no-unlogged-table-data --no-comments --table public.osm_roads osm pg_dump --file data/osm_roads.sql --host $HOST_DB_osm --username osmbr --no-password \
--format=p --no-owner --section=pre-data --section=data --no-privileges --no-tablespaces --no-unlogged-table-data --no-comments \
--table public.osm_roads osm
# 5. import dans la base redadeg # 5. import dans la base redadeg
psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "TRUNCATE TABLE public.osm_roads;" psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "DROP TABLE IF EXISTS public.osm_roads;"
psql -h $HOST_DB_redadeg -U redadeg -d redadeg < data/osm_roads.sql psql -h $HOST_DB_redadeg -U redadeg -d redadeg < data/osm_roads.sql
echo "" echo ""

View file

@ -14,37 +14,15 @@ HOST_DB_osm=192.168.56.1
echo ">> suppression de la topologie existante" echo ">> suppression de la topologie existante"
echo "" echo ""
#psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT DropTopology('osm_roads_topo') ;" psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT DropTopology('osm_roads_topo') ;"
echo "" echo ""
# création d'un schéma qui va accueillir le réseau topologique de la couche osm_roads # création d'un schéma qui va accueillir le réseau topologique de la couche osm_roads
echo ">> création d'une nouvelle topologie" echo ">> création d'une nouvelle topologie"
echo "" echo ""
#psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT topology.CreateTopology('osm_roads_topo', 2154);" psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT topology.CreateTopology('osm_roads_topo', 2154);"
# on a donc un nouveau schéma osm_roads_topo qui contient 4 tables : edge_data, face, node, relation
# et un nouvel enregistrement dans la table topology.layer
# logiquement : c'est 1 mais on va quand même faire une requête
psql -X -h $HOST_DB_redadeg -U redadeg -d redadeg \
-c "SELECT layer_id FROM topology.layer WHERE table_name = 'osm_roads' ;" \
--single-transaction \
--set AUTOCOMMIT=off \
--set ON_ERROR_STOP=on \
--no-align \
-t \
--field-separator ' ' \
--quiet | while read -a Record ; do
layer_id=${Record[0]}
echo ""
echo "layer_id de osm_roads = $layer_id"
echo ""
done
echo ">> ajout d'un nouvel attribut sur la table osm_roads" echo ">> ajout d'un nouvel attribut sur la table osm_roads"
echo "" echo ""
psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT topology.AddTopoGeometryColumn('osm_roads_topo', 'public', 'osm_roads', 'topo_geom', 'LINESTRING');" psql -h $HOST_DB_redadeg -U redadeg -d redadeg -c "SELECT topology.AddTopoGeometryColumn('osm_roads_topo', 'public', 'osm_roads', 'topo_geom', 'LINESTRING');"
@ -52,5 +30,6 @@ echo ""
echo "fait" echo "fait"
echo "" echo ""
echo "fini >> exécuter update_osm_roads_pgr.sh " echo "fini >> exécuter update_osm_roads_pgr.sh "
echo "" echo ""

View file

@ -16,14 +16,14 @@ SELECT DropTopology('osm_roads_topo') ;
-- 1. création d'un schéma qui va accueillir le réseau topologique de la couche osm_roads -- 1. création d'un schéma qui va accueillir le réseau topologique de la couche osm_roads
SELECT topology.CreateTopology('osm_roads_topo', 2154); SELECT topology.CreateTopology('osm_roads_topo', 2154);
-- 2. ajout d'un nouvel attribut sur la table osm_roads
SELECT topology.AddTopoGeometryColumn('osm_roads_topo', 'public', 'osm_roads', 'topo_geom', 'LINESTRING');
-- on a donc un nouveau schéma osm_roads_topo qui contient 4 tables : edge_data, face, node, relation -- on a donc un nouveau schéma osm_roads_topo qui contient 4 tables : edge_data, face, node, relation
-- et un nouvel enregistrement dans la table topology.layer -- et un nouvel enregistrement dans la table topology.layer
-- logiquement : c'est 1 -- logiquement : c'est 1
-- SELECT * FROM topology.layer ORDER BY layer_id desc ; SELECT layer_id FROM topology.layer WHERE table_name = 'osm_roads' ;
-- 2. ajout d'un nouvel attribut sur la table osm_roads
SELECT topology.AddTopoGeometryColumn('osm_roads_topo', 'public', 'osm_roads', 'topo_geom', 'LINESTRING');
-- 3. on calcule le graphe topologique -- 3. on calcule le graphe topologique