WebGIS Sistem Informasi Geografis (SPBU & Analisis Kemiskinan)

Sebuah aplikasi Sistem Informasi Geografis (WebGIS) interaktif berbasis web untuk pemetaan data spasial secara komprehensif. Aplikasi ini memiliki fitur utama untuk mengelola lokasi Stasiun Pengisian Bahan Bakar Umum (SPBU), Jaringan Jalan, Parsil Tanah, serta analisis radius Rumah Ibadah terhadap sebaran Penduduk Miskin.

🌟 Fitur Utama

1. 🗺️ Multi-Layer Spatial Data

Mendukung berbagai jenis tipe geometri data spasial:

  • Titik (Points): Lokasi SPBU, Rumah Ibadah, dan tempat tinggal Penduduk Miskin.
  • Garis (Polylines): Jaringan Jalan (Nasional, Provinsi, Kabupaten).
  • Poligon (Polygons): Parsil Tanah beserta status kepemilikannya (SHM, HGB, HGU).

2. 📊 Dashboard Administrator (CRUD Spasial)

Sistem backend aman dengan autentikasi ganda untuk admin. Memungkinkan pengelola data untuk:

  • Menggambar Langsung (Digitasi): Menambahkan titik lokasi, menggambar rute jalan, dan memetakan poligon area langsung di atas peta (menggunakan Leaflet-Geoman).
  • Pencarian Universal: Pencarian cerdas (autocomplete) lintas data dengan auto-zoom (terbang/fokus) ke lokasi geometri (titik, jalan, atau lahan) yang dipilih.
  • Routing & Radius: Mencari SPBU terdekat dari posisi pengguna dan melakukan pencarian fasilitas menggunakan slider radius.
  • Manajemen Data Realtime: Menghapus atau memperbarui informasi properti langsung dari tabel atau popup peta.

3. Portal Publik (Peta SPBU)

Halaman interaktif publik (spbu.html) bagi pengguna umum untuk melihat sebaran SPBU:

  • Filter SPBU 24 Jam atau tidak.
  • Pencarian SPBU (Nama / Nomor).
  • Fitur mendapatkan rute terdekat ke SPBU dari lokasi pengguna.

4. 🏘️ Peta Analisis Kemiskinan

Sistem analitik terproteksi (poverty.html) untuk melihat persebaran kesejahteraan penduduk:

  • Visualisasi cerdas radius menggunakan algoritma Turf.js.
  • Pengguna dapat mengatur radius jangkauan dari setiap titik Rumah Ibadah secara mandiri (misal: 500m).
  • Indikator warna otomatis: Penduduk miskin di dalam area radius akan berwarna merah, sedangkan di luar berwarna hitam.

🛠️ Teknologi yang Digunakan

Frontend:

  • HTML5, CSS3 (Vanilla Native Styling untuk performa & kontrol penuh).
  • JavaScript (ES6+).
  • Leaflet.js - Library pemetaan utama.
  • Leaflet-Geoman - Alat untuk digitasi (menggambar, memodifikasi geometri di peta).
  • Turf.js - Analisis spasial client-side (perhitungan jarak & radius batas).

Backend & Database:

  • PHP 8+ - Pemrosesan API RESTful.
  • MySQL / MariaDB - Database relasional dengan penyimpanan JSON untuk struktur GeoJSON.

🚀 Cara Instalasi & Penggunaan

Prasyarat

Pastikan server atau lingkungan lokal Anda memiliki:

  • Web Server (Apache / Nginx)
  • PHP (Versi 8.0 atau lebih baru)
  • MySQL / MariaDB Database

Langkah-langkah

  1. Clone atau salin repositori ini ke dalam direktori root server web Anda (contoh: htdocs untuk XAMPP, www untuk WAMP, atau /var/www/html di Linux).
    git clone https://github.com/username/webgis-sig.git
    
  2. Pastikan servis Web Server dan Database Server Anda sudah menyala.
  3. Buka browser dan jalankan script inisialisasi database melalui URL proyek Anda (sesuaikan path URL jika berbeda):
    http://localhost/webgis-sig/backend/create_users_table.php
    
    (Script ini akan secara otomatis membuat tabel yang dibutuhkan dan menginjeksi akun Admin default).
  4. Setelah database terinisialisasi, akses halaman utama aplikasi di browser Anda:
    http://localhost/webgis-sig/
    

Akun Default Admin

Secara bawaan setelah script di atas dijalankan, kredensial untuk Administrator adalah:

  • Username: admin
  • Password: admin123

📂 Struktur Direktori

📁 webgis-sig/
├── 📄 index.html        # Halaman Portal Landing
├── 📄 login.html        # Sistem Autentikasi
├── 📄 admin.html        # Dashboard Administrator
├── 📄 spbu.html         # Portal Publik SPBU
├── 📄 poverty.html      # Portal Analisis Kemiskinan
├── 📁 js/
│   └── 📄 app.js        # Logika sistem pemetaan dan manajemen data
└── 📁 backend/          # Kumpulan skrip PHP (REST API Endpoint)
    ├── 📄 koneksi.php   # Konfigurasi Database
    ├── 📄 login.php / register.php / check_auth.php
    └── 📄 read_*.php / create_*.php / update_*.php / delete_*.php

🔐 Keamanan Tambahan

Aplikasi ini sudah dilengkapi dengan sistem validasi role-based. Halaman admin.html didesain eksklusif hanya untuk Administrator dan akan memblokir pengguna biasa yang mencoba memaksa akses. Pengguna biasa hanya diizinkan untuk mengakses halaman Peta Kemiskinan.


Dibuat dengan ❤️ untuk kebutuhan Sistem Informasi Geografis Terpadu.

S
Description
No description provided
Readme 317 KiB
Languages
HTML 49.9%
JavaScript 31.4%
PHP 15.1%
Hack 3%
Dockerfile 0.5%