TUGAS
PRAKTIKUM BASIS DATA SPASIAL
Dosen : Ir. Rochmad Muryamto, M.Eng.Sc.
oleh :
ROMI FADLY
(11/326527/PTK/07933)
Halaman: 2
Tujuan Praktikum
Praktikum ini bertujuan agar mahasiswa dapat membuat basis data dengan
menggunakan program PostgreSQL dan PostGIS sesuai model konseptual yang sudah
dibuat pada awal pelaksanaan praktek. Selanjutnya mahasiswa dapat mencoba
melakukan beberapa perintah query atribut menggunakan bahasa SQL.
Tahapan Praktikum
Praktikum kali ini adalah membuat basis data dengan Postgres dan PostGIS secara
umum tahapan yang dilakukan adalah sebagai berikut.
1. Jalankan program pgAdmin III dengan memilih start All Program
PostgreeSQL 8.3 pgAdmin III.
2. Membuat basis data baru
Pada tahapan ini dapat dilakukan dengan cara klik kanan opsi Database New
Database pada jendela New Database isikan seperti gambar 1a. Setelah
database Latihan dibuat maka akan tampak seperti gambar 1b yang didalam data
base tersebut jika di-expand pada tabel akan terdapat dua tabel , yaitu tabel
Geometry_columns dan Spatial_ref_sys.
(1a
)
(1b
)
Pada
latihan ini pendefinisian tabel menggunakan SQL, yang dapat dilihat pada tabel 1.
Tabel 1. Perintah SQL Membuat Tabel Basis Data
Halaman: 3
nama_jalan character varying(35),
lebar_jalan numeric(4,2),
konstruksi character varying(10),
kondisi character varying(10),
kelas character varying(15),
arah character varying(10),
CONSTRAINT pk_jalan PRIMARY KEY (id_jalan)
)
WITH (OIDS=FALSE);
ALTER TABLE jalan OWNER TO postgres;
tinggi numeric(5,2),
luas_tapak numeric(5,2),
konstruksi character varying(15),
tahun_pembuatan character varying(4),
pt_pembuat character varying(25),
id_provider integer NOT NULL,
CONSTRAINT pk_tower PRIMARY KEY
(id_tower),
CONSTRAINT fk_tower FOREIGN KEY
(id_provider)
REFERENCES provider (id_provider)
MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO
ACTION
)
WITH (OIDS=FALSE);
ALTER TABLE tower OWNER TO postgres;
Perintah SQL pada tabel diatas setelah di RUN maka akan menghasilkan 5 tabel
yaitu tabel Jalan, Tower, Provider, Landuse, dan Wilayah (seperti gambar 2).
Halaman: 4
Halaman: 5
Perintah SQL pada tabel diatas setelah di RUN maka akan mengisi record pada
masing-masing tabel Jalan, Tower, Provider, Landuse, dan Wilayah (seperti gambar
3). Tabel yang telah dibuat dapat dilihat isinya dengan cara Klik kanan pada
tabel yang akan dibuka View data View All Rows (contoh pada gambar
3 menampilkan isi tabel tower)
Halaman: 6
Halaman: 7
Halaman: 8
Tujuan Praktikum
Praktikum ini bertujuan agar mahasiswa dapat membuat suatu obyek spasial bertipe
geometry (titik, garis dan luasan) pada basis data yang telah dibuat, dan
memanggilnya kembali (retrieval) menggunakan bahasa SQL.
Tahapan Praktikum
1. Jalankan program pgAdmin III dengan memilih start All Program
PostgreeSQL 8.3 pgAdmin III.
2. Membuka basis data yang sudah dibuat
Basis data yang sudah dibuat adalah sebagai berikut.
SELECT AddGeometryColumn
('jalan', 'jalan_geom',
4326,'GEOMETRY', 2);
SELECT AddGeometryColumn
('tower', 'tower_geom',
4326,'GEOMETRY', 2);
Menambah
kolom
spasial
Halaman: 9
wilayah
SELECT AddGeometryColumn
('landuse', 'landuse_geom',
4326,'GEOMETRY', 2);
SELECT AddGeometryColumn
('wilayah', 'wilayah_geom',
4326,'GEOMETRY', 2);
Maka pada tabel Geometri_columns akan terisi definisi kolom spasial masingmasing tabel spasial (lihat gambar 2), dan pada tabel data spasial akan terdapat
kolom baru yaitu kolom geometri (lihat gambar 3).
Gambar 2. Hasil SQL penambahan kolom geometri tiap tabel data spasial
Halaman: 10
UPDATE tower SET
id_tower = '13';
UPDATE tower SET
id_tower = '14';
UPDATE tower SET
id_tower = '15';
UPDATE tower SET
id_tower = '16';
UPDATE tower SET
id_tower = '17';
UPDATE tower SET
id_tower = '18';
Halaman: 11
-4.481018839,104.632164 -4.232487679,104.9161224 -4.19863224,104.9439333 -4.536999378,104.6239095
-4.817085939,104.5701723 -4.941024989,104.4887677495 -4.912084172,104.3396454 -4.859068394))', 4326) Where id_wilayah = '10';
UPDATE wilayah SET wilayah_geom = GeomFromText ('POLYGON ((104.9161224 -4.19863224,105.0345778
-4.142380253,105.1746483 -4.244659234,105.1485906 -4.580132868,105.1196707 -4.757351754,104.9994385
-4.669526361,104.9439333 -4.536999378,104.9161224 -4.19863224))', 4326) Where id_wilayah = '11';
UPDATE wilayah SET wilayah_geom = GeomFromText ('POLYGON ((105.0345778 -4.142380253,105.2013168
-3.892014027,105.3226547 -3.729402542,105.5425491 -3.882907124,105.7709428 -4.113846353,105.6766245
-4.186956582,105.3598872 -4.126701642,105.1746483 -4.244659234,105.0345778 -4.142380253))', 4326) Where id_wilayah = '12';
UPDATE wilayah SET wilayah_geom = GeomFromText ('POLYGON ((105.1746483 -4.244659234,105.3598872
-4.126701642,105.6766245 -4.186956582,105.7709428 -4.113846353,105.8182614 -4.30737743,105.8511138
-4.401260935,105.8971369 -4.522956692,105.7886707 -4.549995328,105.4810659 -4.488715322,105.2517585
-4.637867933,105.1196707 -4.757351754,105.1485906 -4.580132868,105.1746483 -4.244659234))', 4326) Where id_wilayah = '13';
UPDATE wilayah SET wilayah_geom = GeomFromText ('POLYGON ((105.1196707 -4.757351754,105.2517585
-4.637867933,105.4810659 -4.488715322,105.7886707 -4.549995328,105.7861222 -4.743673464,105.4086757
-4.934950248,105.2632408 -5.160358942,105.0133319 -5.214472635,104.8733401 -5.255804747,104.5778423
-5.069090409,104.7858149 -5.011509145,105.05194 -4.89781,105.1196707 -4.757351754))', 4326) Where id_wilayah = '14';
UPDATE wilayah SET wilayah_geom = GeomFromText ('POLYGON ((104.4887677495 -4.912084172,104.5701723
-4.941024989,104.6239095 -4.817085939,104.9439333 -4.536999378,104.9994385 -4.669526361,105.1196707
-4.757351754,105.05194 -4.89781,104.7858149 -5.011509145,104.5778423 -5.069090409,104.4599842 -4.999190225,104.4887677495
-4.912084172))', 4326) Where id_wilayah = '15';
Hasil dari penambahan isi kolom geometri berupa enskrip dari data koordinat
yang dimasukan, sehingga yang terlihat hanya kode-kode kombinasi hurup dan
angka, hasilnya dapat di lihat pada gambar 4.
Halaman: 12
Halaman: 13
SQL AsEWKT maka data yang ditampilkan adalah dengan tipe datanya
beserta SRID dari data spasialnya.
d. Apabila nilai dari dari kolom spasial dijadikan sebagai suatu kondisi dalam
suatu query dengan menggunakan perintah SQL AsText ternyata tidak bisa
memunculkan informasi, agar informasi dapat muncul maka SRID perlu
dilibatkan. Penggunaan operator =, ~= dan && hasilnya sama.
SRID
dilibatkan
Gambar 8. Hasil Query 4 (kolom spasial sebagai kondisi)
TUJUAN PRAKTIKUM
Praktikum ini bertujuan agar mahasiswa dapat melaksanakan koneksi basisdata spasial
yang telah dibuat dalam suatu SDBMS, dalam hal ini PostGIS dengan perangkat lunak SIG
ArcView, sekaligus memvisualkannya.
TAHAPAN
1. Melakukan instalasi Extensi Avpgcon (avpgcon-setup-1.13.1) yang merupakan
Extensi dari software ArcView.
Halaman: 14
2. Setelah instalasi avpgcon selesai, selanjutnya mengaktifkan extensi avpgcon
tersebut di software ArcView dengan cara:
a. Buka Arcview 3.3 kemudian pilih menu File-Extensions maka akan muncul
jendela Extensions, kemudian aktifkan extensi AV PostGIS Connect dengan
cara check list ekstensi tersebut (lihat Gambar 2)
Halaman: 15
Username di
Postgres
Password di
Postgres
Nama
database
Nama tabel
spasial
Kolom geometri
Halaman: 16
maka
dapat
Dari jendela ArcView Projection Utility klik Next Next Yes- pilih Sistem
koordinat yang diinginkan Next simpan dengan nama file baru (.shp), dan
ok/yes, maka file baru akan ditambahkan ke layer arcview.
Halaman: 17
Halaman: 18
Agar fungsi Identify for PostGIS DB Themes dapat digunakan maka harus ada
kolom dengan nama oid, karena kalo tidak ada maka Identify for PostGIS DB
Themes tidak berfungsi dan jika digunakan akan muncul pesan error seperti
gambar 12.
Melakukan QUERY
1. Mencari kabupaten yang seluruh sisinya berbatasan dengan kabupaten lain
Proses yang dilakukan melalui beberapa tahapan, yaitu:
a. Membuat file baru hasil penggabungan seluruh objek wilayah sehingga
diperoleh objek baru dengan isi satu poligon hasil penggabungan objek-objek
kabupaten, Caranya: Klik Menu View GeoProcessing Wizard akan
muncul jenela GeoProcessing pilih Dissolve Next Pilih theme
wilayah dengan no sebagai kolom kondisi untuk penggabungan
Next Finish maka akan diperoleh Theme baru hasil dissolve seluruh
kabupaten (gambar 14)
Halaman: 19
Halaman: 20
Gambar 16. Hasil buffer
Klik
Halaman: 21
Gambar 18. Hasil seleksi
d. Setelah terpilih maka hasil seleksi ini di balik dengan Switch Selection
sehingga objek yang tidak terpilih menjadi terpilih dan sebaliknya objek yang
tadinya terpilih menjadi tidak terpilih (lihat gambar 19)
Klik
Halaman: 22
c. Mencari kabupaten yang berbatasan dengan kabupaten tersebut, hal ini dapat
dilakukan dengan perintah Select By Theme (kondisi intersect), sehingga
diperoleh hasil seperti gambar 22.
Halaman: 23
b. Untuk menghitung jarak dari masing-masing tower ke
jalan terdekat dilakukan dengan memenfaatkan Edit Tools
3.1.
Klik Geoprocessing , maka akan muncul jendela ET
Geoprocessing , pada bagian bawah terdapat fasilitas
Point Distance yaitu untuk menghitung jarak dari satu
theme point ke theme lainnya. Caranya: Klik Point Distance pilih
Tower_point.shp pilih Jalan_arc.shp , maka pada tabel tower akan ada
kolom baru dengan nama ET_Dist yang merupakan hasil perhitungan jarak
tower ke jalan terdekat.