Anda di halaman 1dari 7

Nama : Ahmad Muyassar

NIU : 448684

Tugas SMBD database partial deng postgrid, QGIS, dan postgres

1. Mencari maps dan mengekspore pada www.openstreetmap.org

2. Membuat database pada PGAdmin postgres

3. Membuat database, contoh dengan nama “makassar”


4. Menambahkan extension postgis pada database yang telah dibuat

5. Buka QGIS, dan buat koneksi baru untuk ke database postgres (Klik kanan pada postGIS dan
pilih create new connection)
6. Selanjutnya mengimpor peta yang telah diambil dari openstreet (pilih menu vector dan
quickOSM)
7. Hasil import peta telah berhasil

8. Memberi nama setiap osm file yang didapatkan

9. Mengimport setiap file ke database postgres (Pilih menu database, pilih database tujuan,
pilih file yang akan di import sesuai gambar dibawah). Dan silahkan kembali ke database
postgres untuk melakukan query.
Query

1. Menghitung total panjang semua jalan dalam satuan ‘KM’

Query :
SELECT sum(ST_Length(geom))/1000 AS panjang FROM jalan;

2. Mengapdate isi dari field

Query :
update wilayah
set name = 'STIKES'
where wilayah.id=1;

3. Menghitung luas sebuah wilayah dalam satuan ‘Hektar’

Query :
SELECT
ST_Area(geom)/10000 AS luas_hektar
FROM wilayah
WHERE name = 'Telkom';

4. Mencari wilayah terluas dalam suatu provinsi, berdasarkan area

Query :
SELECT
name,
ST_Area(geom)/10000 AS luas_area
FROM
wilayah
ORDER BY luas_area DESC
LIMIT 1;

5. Mencari wilayah terluas dalam suatu provinsi, berdasarkan area

Query :
SELECT
m.name,
sum(ST_Length(r.geom))/1000 as jalan_km
FROM
jalan AS r,
wilayah AS m
WHERE
ST_Contains(m.geom, r.geom)
GROUP BY m.name
ORDER BY jalan_km;

6. Membuat tabel baru dengan mengambil semua jalan di wilayah “Univesitas Islam Negeri
Alauddin Makassar” yang memiliki intersect. Karena di maps ini tidak terdapat intersect area
maka row kosong.

Query :
CREATE TABLE jalan_sekitar as
SELECT
ST_Intersection(r.geom, m.geom) AS intersection_geom,
ST_Length(r.geom) AS rd_orig_length,
r.*
FROM
jalan AS r,
wilayah AS m
WHERE
m.name = 'Universitas Islam Negeri Alauddin Makassar'
AND ST_Intersects(r.geom, m.geom);

7. Menghitung panjang sebuah jalan dalam kilometer pada suatu tempat dan jalan di
depannya. Karena di maps ini tidak terdapat intersect area maka isinya null.

Query :
SELECT
sum(ST_Length(r.the_geom))/1000 AS kilometers
FROM
jalan r,
wilayah m
WHERE
r.name = 'Jalan A. Pettarani'
AND m.name = 'Ramayana'
AND ST_Intersects(m.the_geom, r.the_geom);
8. Mencari wilayah yang memiliki lubang terbesar dengan polygon?

Query :
SELECT id, name, ST_Area(the_geom) AS area
FROM wilayah
WHERE ST_NRings(the_geom) > 1
ORDER BY area DESC LIMIT 1;

9. Mencari jalan tercepat dengan menarik garis lurus antara 2 wilayah?

Query :
SELECT b.id AS id, ST_ASTEXT(ST_SHORTESTLINE(a.the_geom,
b.the_geom)) as
text, ST_SHORTESTLINE(a.the_geom, b.the_geom) AS the_geom
FROM wilayah a, wilayah b
WHERE a.name='Kampus UIN' AND b.name='Telkom';

Anda mungkin juga menyukai