· 8 years ago · Feb 22, 2018, 01:42 PM
1-- When the plug-in H2-network is installed, it is necessary to reboot
2orbisgis and then run the following commands:
3create alias if not exists h2gis_network for
4"org.h2gis.network.functions.NetworkFunctions.load"; call H2GIS_NETWORK();
5
6-- On sélectionne sur la carte la zone d'intérêt pour ne récupérer que
7cette partie du territoire (on créé un fence)
8
9-- Note : aucun SIG ne conserve le SRID après une opération géographique
10sur la couche résultante. Il faut donc le refixer sur la table de sortie
11si on veut effectuer un changement de SRID.
12--create spatial index on "GIS.OSM_ROADS_FREE_1"(the_geom);
13--create table route_vannes as select
14ST_TRANSFORM(ST_SETSRID(ST_INTERSECTION(a.the_geom, b.the_geom), 4326),
152154) as the_geom, a.maxspeed, a.pk, a.fclass from
16"GIS.OSM_ROADS_FREE_1" as a, fence b where a.the_geom && b.the_geom and
17st_intersects(a.the_geom, b.the_geom);
18
19-- Certaines lignes sont des multilines (données OSM foireuses). Pour
20faire de l'analyse de réseau il faut donc exploser ces géométries
21--create table routes_vannes_expl as select * from
22st_explode('ROUTE_VANNES');
23
24
25--alter table ROUTES_VANNES_EXPL add column id serial;
26--alter table ROUTES_VANNES_EXPL add primary key (ID);
27
28-- Il est nécessaire de modifier le type de la colonne géométrie car
29pour faire des graphes il faut un type de colonne "linestring"
30--alter table ROUTES_VANNES_EXPL alter column the_geom linestring;
31
32-- On veut transformer notre table en graphe:
33-- - On peut ajouter une tolérance pour raccorder deux points proches
34avec la variable tolérance
35-- - également indiquer qu'on veut un graphe orienté (dans le cas
36d'analyses hydrographiques) avec la variable orientBySlope
37-- - un booléen pour supprimer le graphe déjà créé s'il a déjà été créé.
38--select st_graph('ROUTES_VANNES_EXPL');
39
40-- Note : Il n'est pas nécessaire de mettre "create table..." car la
41fonction st_graphe créé le graphe et l'enregistre dans des tables
42qu'OrbisGIS charge dans le géocatalogue. 3 fichiers sont calculés :
43-- - un fichier où est stocké la localisation de chaque noeud :
44NOM_TABLE_NODES
45-- - un fichier où sont stockées les relations entre les noeuds :
46NOM_TABLES_EDGES (aucune notion spatiale n'est stockée ici)
47-- - COORD et PTS sont des tables intermédiaires qui peuvent être
48utilisées pour d'autres types de traitements (on ne s'en servira pas ici)
49
50--
51select st_connectedcomponents('ROUTES_VANNES_EXPL_EDGES', 'undirected');