Professional Documents
Culture Documents
Magister Teknik Geomatika Fakultas Teknik Universitas Gadjah Mada
Magister Teknik Geomatika Fakultas Teknik Universitas Gadjah Mada
TUJUAN
MATERI
PERALATAN
Final project mata ini adalah sebagai digunakan pada
kuliah Basis Data berikut : kegiatan ini meliputi :
Spasial Lanjut ini 1. Membuat berbagai • Laptop
membahas materi kasus dalam SIG. • Perangkat lunak
tentang query spasial 2. Dapat PostgreSQL 9.3
yang diterapkan pada menyelesaikan kasus- berekstensi PostGIS
kasus tertentu. Kasus kasus tersebut sebagai 2.1
yang dibuat berjumlah query-query spasial • Perangkat lunak
lima buah kasus dengan bahasa SQL. QGIS
dengan penyelesaian
yang berbeda.
Data Yang Digunakan
• Data
yang digunakan pada final project kali ini adalah data Geospasial Kota Semarang
Kecamatan Semarang Barat berupa data raster dan data vector antara lain yaitu :
1. Data Batas Administrasi Kecamatan
Query
Merencanakan berapa jumlah bangunan yang terkena dampak bencana banjir
dengan kriteria sebagai berikut:
Kriteria:
• Bangunan terletak dengan radius 50 meter dari Sungai
• Bangunan terletak pada kelerengan <= 8 %
Diagram Alir
Script SQL
CREATE TABLE slope as
SELECT ST_Slope(rast,1,'32BF','PERCENT',1.0, FALSE) as kelerengan
FROM data1;
create table slope_class as
select ST_Reclass(kelerengan,1,'[0-8]:1,[8-15]:2,[15-25]:3,[25-45]:4,[45-75]:5','4BUI',0) as slope_class
from slope;
select count(*) from
(select (st_intersection(a.kriteria,b.sungaibangunan)).geom as bangunantergenang
from
(select st_reclass(slope_class,1,'1:1','4BUI',0) as kriteria
from slope_class
) a,
(select st_intersection (st_buffer (st_union(sungai_geom),50),bangunan_geom) sungaibangunan from
bangunan, sungai
where st_intersects (bangunan_geom, st_buffer(sungai_geom, 50))
group by bangunan_geom) b
where st_intersects(a.kriteria,b.sungaibangunan)
Query
Merencanakan proses pencarian rute ruas jalan yang dilalui jika pergi dari fasilitas
kesehatan ke salah satu fasilitas pendidikan sekolah taman kanak-kanak.
Diagram Alir
Script SQL
select seq, id1 as node, id2 as edge, jalur.cost, jalan2_geom
from
(select *
from pgr_dijkstra('select jalan2_id as id, source, target, st_length(jalan2_geom) as cost from jalan2',
(select source as source
from jalan2,posyandu
where nama_posyandu = 'Klinik Nayaka Husada'
and st_distance(jalan2_geom, posyandu_geom) = (select(min(st_distance(jalan2_geom,
posyandu_geom)))
from jalan2,posyandu
where nama_posyandu = 'Klinik Nayaka Husada')),
(select target
from jalan2, taman_kanak
where nama_tk = 'TK Bina Putra'
and st_distance(jalan2_geom, tk_geom) = (select(min(st_distance(jalan2_geom,
tk_geom)))
from jalan2, taman_kanak
where nama_tk = 'TK Bina Putra')),
false, false) as rute1
)jalur
inner join jalan2
on jalur.id2 = jalan2_id
Hasil
TERIMA KASIH