chapter_01_lab.
md 2026-05-03
chapter_01_lab
LAB MANUAL - CHAPTER 1
PostGIS Initialization & Basic Spatial Operations
Lab Objective: Peserta mampu melakukan inisialisasi lingkungan kerja PostGIS di dalam PostgreSQL,
membuat tabel spasial pertama, memasukkan berbagai tipe geometri standar OGC menggunakan WKT (Well-
Known Text), dan memvisualisasikan data menggunakan Database Client.
Prerequisites:
PostgreSQL 12+ (dengan modul PostGIS terinstal di server)
Database Client yang mendukung visualisasi spasial (Direkomendasikan: DBeaver atau pgAdmin 4)
Step 1: Database Creation and Extension Activation
Sebelum bisa mengelola data spasial, kita harus menyiapkan sebuah database khusus dan mengaktifkan
engine PostGIS di dalamnya.
1. Buka DBeaver dan pastikan koneksi ke server PostgreSQL sudah berhasil.
2. Buka SQL Editor baru (Ctrl+Enter / Cmd+Enter).
3. Buat database baru khusus untuk training ini:
SQL
CREATE DATABASE gis_training;
4. PENTING: Pindah/koneksikan DBeaver Anda ke database gis_training yang baru saja dibuat. (Di
DBeaver, klik kanan pada database gis_training -> Set as active).
5. Aktifkan extension PostGIS:
SQL
CREATE EXTENSION postgis;
6. Verifikasi bahwa PostGIS sudah berjalan dengan memanggil fungsi untuk mengecek versinya:
SQL
1/4
chapter_01_lab.md 2026-05-03
SELECT PostGIS_full_version();
✅ Expected Output: Anda akan melihat string panjang yang menginformasikan versi PostGIS, versi
GEOS, dan versi PROJ yang terinstal (contoh: POSTGIS="3.3.2..." GEOS="3.11.1"...).
Step 2: Creating a Spatial Table
Kita akan membuat tabel untuk merepresentasikan infrastruktur kota sederhana. Perhatikan penggunaan tipe
data GEOMETRY.
1. Jalankan script DDL berikut di SQL Editor:
SQL
CREATE TABLE city_infrastructure (
id SERIAL PRIMARY KEY,
asset_name VARCHAR(100) NOT NULL,
asset_type VARCHAR(50),
geom GEOMETRY
);
Note: Pada pembuatan tabel di atas, kita mendefinisikan geom GEOMETRY secara generic tanpa
menentukan SRID atau tipe spesifik (Point/Polygon). Ini untuk keperluan demonstrasi. Di
production (seperti yang akan dibahas di Chapter 2), kita wajib mendefinisikannya secara spesifik,
misal: GEOMETRY(Point, 4326).
Step 3: Inserting OGC Simple Features (WKT)
PostGIS membaca perintah manusia berupa WKT (Well-Known Text) dan menyimpannya sebagai WKB (Well-
Known Binary). Mari kita masukkan tiga tipe dasar geometri: Point, LineString, dan Polygon.
1. Insert data berupa Titik (Point) — contoh: Lokasi Gardu Listrik:
SQL
INSERT INTO city_infrastructure (asset_name, asset_type, geom)
VALUES ('Gardu Induk A', 'Power Station', ST_GeomFromText('POINT(106.8272
-6.1754)'));
2. Insert data berupa Garis (LineString) — contoh: Jalur Pipa / Jalan:
SQL
2/4
chapter_01_lab.md 2026-05-03
INSERT INTO city_infrastructure (asset_name, asset_type, geom)
VALUES ('Pipa Distribusi Utama', 'Pipeline',
ST_GeomFromText('LINESTRING(106.8270 -6.1750, 106.8280 -6.1760, 106.8290
-6.1755)'));
3. Insert data berupa Area (Polygon) — contoh: Tapak Bangunan (Building Footprint):
SQL
INSERT INTO city_infrastructure (asset_name, asset_type, geom)
VALUES ('Gedung Kantor Pusat', 'Building', ST_GeomFromText('POLYGON((106.8275
-6.1752, 106.8278 -6.1752, 106.8278 -6.1756, 106.8275 -6.1756, 106.8275
-6.1752))'));
✅ Troubleshooting: Pastikan titik koordinat pertama dan terakhir pada Polygon sama persis agar
poligon tertutup sempurna. Jika tidak, PostGIS akan mengeluarkan error.
Step 4: Querying and Understanding WKB vs WKT
Sekarang kita lihat bagaimana PostGIS menyimpan data tersebut di dalam database.
1. Lakukan query select standar:
SQL
SELECT id, asset_name, asset_type, geom
FROM city_infrastructure;
✅ Expected Output: Pada kolom geom, Anda tidak akan melihat tulisan WKT seperti yang Anda ketik,
melainkan deretan karakter Hexadecimal yang panjang (contoh: 0101000000B9...). Ini adalah
representasi WKB (Well-Known Binary) yang sangat efisien untuk komputer.
2. Agar bisa dibaca kembali oleh manusia, gunakan fungsi ST_AsText:
SQL
SELECT id, asset_name, asset_type, ST_AsText(geom) AS geometry_wkt
FROM city_infrastructure;
✅ Expected Output: Kolom geometry_wkt akan kembali menampilkan format teks POINT(...),
LINESTRING(...), dsb.
Step 5: Spatial Visualization in DBeaver
3/4
chapter_01_lab.md 2026-05-03
Selain melihat format teks, kita bisa melihat bentuk asli geometrinya menggunakan fitur bawaan DBeaver.
1. Jalankan kembali query Select:
SQL
SELECT * FROM city_infrastructure;
2. Di panel Result Grid DBeaver (bagian bawah), klik di sembarang tempat pada hasil query.
3. Perhatikan panel di sebelah kanan layar, akan ada beberapa tab seperti Value, Record, dan Spatial.
4. Klik tab Spatial.
✅ Expected Output: Anda akan melihat sebuah peta (berdasarkan basemap OpenStreetMap) dan
terdapat plot geometri Point, Line, dan Rectangle (Polygon) yang tadi kita buat.
5. Coba lakukan zoom in / zoom out dan klik salah satu objek geometri tersebut untuk melihat pop-up
datanya.
[End of Lab 1]
4/4