|
|
(Není zobrazeno 147 mezilehlých verzí od stejného uživatele.) |
Řádek 1: |
Řádek 1: |
| {{Upravit}} | | {{freegiswiki|PgRouting}} |
| | |
| [http://pgrouting.postlbs.org pgRouting] je rozšíření pro [[PostGIS]] určené pro síťové analýzy.
| |
| | |
| * Vyhledání nejkratší cesty
| |
| * Problém obchodního cestujícího
| |
| * Dojezdová vzdálenost
| |
| | |
| == Poznámky ==
| |
| | |
| Nahrání funkcí pgRouting to existující databáze.
| |
| | |
| psql pgis_student -f /usr/share/postlbs/routing_core.sql
| |
| psql pgis_student -f /usr/share/postlbs/routing_core_wrappers.sql
| |
| psql pgis_student -f /usr/share/postlbs/routing_topology.sql
| |
| <!-- psql pgis_student -f /usr/share/postlbs/matching.sql -->
| |
| | |
| == Nahrání testovacích dat ==
| |
| | |
| Testovací data jsou dostupná z
| |
| | |
| svn checkout http://pgrouting.postlbs.org/svn/pgrouting/branches/workshop/FOSS4G2008/ workshop
| |
| | |
| Nahrajeme testovací data.
| |
| | |
| cd workshop
| |
| psql pgis_student -f Data/ways_without_topology.sql
| |
| | |
| <pre>
| |
| \d ways
| |
| Table "public.ways"
| |
| Column | Type | Modifiers
| |
| ----------+------------------+-----------
| |
| gid | integer | not null
| |
| length | double precision |
| |
| name | character(200) |
| |
| the_geom | geometry |
| |
| Indexes:
| |
| "ways_pkey" PRIMARY KEY, btree (gid)
| |
| Check constraints:
| |
| "enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
| |
| "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL)
| |
| "enforce_srid_the_geom" CHECK (srid(the_geom) = 4326)
| |
| </pre>
| |
| | |
| Dále vytvoříme topologii sítě.
| |
| | |
| <source lang="sql">
| |
| ALTER TABLE ways ADD COLUMN source integer;
| |
| ALTER TABLE ways ADD COLUMN target integer;
| |
| SELECT assign_vertex_id('ways', 0.00001, 'the_geom', 'gid');
| |
| </source>
| |
| | |
| Doplníme indexy.
| |
| | |
| <source lang="sql">
| |
| CREATE INDEX source_idx ON ways(source);
| |
| CREATE INDEX target_idx ON ways(target);
| |
| CREATE INDEX geom_idx ON ways USING GIST(the_geom GIST_GEOMETRY_OPS);
| |
| </source>
| |
| | |
| <pre>
| |
| \d ways
| |
| Table "public.ways"
| |
| Column | Type | Modifiers
| |
| ----------+------------------+-----------
| |
| gid | integer | not null
| |
| length | double precision |
| |
| name | character(200) |
| |
| the_geom | geometry |
| |
| source | integer |
| |
| target | integer |
| |
| Indexes:
| |
| "ways_pkey" PRIMARY KEY, btree (gid)
| |
| "geom_idx" gist (the_geom)
| |
| "source_idx" btree (source)
| |
| "target_idx" btree (target)
| |
| Check constraints:
| |
| "enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
| |
| "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL)
| |
| "enforce_srid_the_geom" CHECK (srid(the_geom) = 4326)
| |
| </pre>
| |
| | |
| == Vyhledání nejkratší cesty (Dijkstra) ==
| |
| | |
| == Externí odkazy ==
| |
| | |
| * [http://pgrouting.postlbs.org pgRouting]
| |
| | |
| {{Databáze}}
| |
| {{GIS}}
| |
| {{GFOSS}}
| |