PostGIS Routing (bag.2)

Filed Under MapServer, PostGIS

Lanjutan tutorial sebelumnya…..

Ketujuh, mapfile dengan menggunakan fungsi
shortest_path_as_geometry(’nama_table’,source_oid,target_oid):

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=roads user=routing password=password"
DATA "the_geom from (
         SELECT gid, the_geom from shortest_path_as_geometry('route', 1, 4552)
         ) as route using unique gid using srid=-1"

Catatan: untuk menampilkan hasil routingnya, hanya dengan memanggil fungsi shortest_path_as_geometry() dengan parameter nama_tabel (dalam hal ini tabel ‘route’) [koma] source_id sebagai titik awal berangkat routing dilihat pada kolom source_id di tabel ‘route’ dan [koma] target_id sebagai titik akhir atau tujuan routing dilihat pada kolom target_id di tabel ‘route’.

Hasilnya seperti di bawah ini:
Routing01

Dengan hasil zooming untuk melihat lebih detail rute terpendek yang ditempuh:
Routing02

Kedelapan,, rangkuman perintah sql yang dapat dibuat menjadi satu bentuk file (misalkan routing_full) setelah postgis, dijkstra dan data sql telah Anda masukkan berisi:

CREATE TABLE route (gid int UNIQUE, source_id int, target_id int, edge_id int) WITH OIDS;
SELECT AddGeometryColumn('route', 'the_geom', -1, 'MULTILINESTRING', 2 );
INSERT INTO route (gid, the_geom) (SELECT gid, the_geom FROM jalanbandung);
SELECT assign_vertex_id('route', 1);
SELECT create_graph_tables('route', 'int4');
SELECT update_cost_from_distance('route');

dan jalankan dengan perintah:

C:\PgSQL > psql -U routing -d roads -f routing_full.sql

tunggu dan database routing siap digunakan ;)

Kesembilan, untuk tampilan yang dinamis, Anda dapat merubah source_id dan target_id pada script .map sesuai dengan masukan dari web. Caranya dapat dilihat pada tutorial sebelumnya

Kesepuluh, Selamat Mencoba.

Comments

4 Responses to “PostGIS Routing (bag.2)”

  1. solikin on January 23rd, 2008 10:03:18 |

    salam
    untuk install pgRouting/pgDijkstra di Windows gmn? apa cukup dengan menggunakan windows instaleer?kemarena q nginstall pgRouting-1.0.0.a-0_win32, tapi koq g bisa ya?

  2. Eric on January 26th, 2008 06:06:36 |

    Kalau saya sih gak pakai installer.
    Download yang .zip trus file *.dll nya dipindahin ke folder lib postgresql. Kalau mau aman sih dimasukin ke \Windows\sysem32.
    Selebihnyanya tinggal eksekusi file *.sql-nya deh ;)

  3. aRfian on April 26th, 2008 11:01:30 |

    mas, untuk rute terpendeknya itu (yang warna kuning itu) gimana bikinnya?
    tambah layer lagi?
    teknisnya gimana? 1 layer per jalan apa gimana?

  4. Eric on June 5th, 2008 06:23:13 |

    teknisnya:
    pertama masukin data layer jalan secara keseluruhan (digabung) ke dalam satu database.
    Selanjutnya tinggal ikutin langkah ke tujuh aja dengan 1 = gid asal (source)
    dan 4552 = gid tujuan.

    Untuk langkah komplitnya, bisa aja parsing dulu lonlat awal itu memiliki gid berapa, sama juga dengan destination (tujuan) trus dimasukin menjadi parameter layer baru sebagai layer bergaris kuning itu