Teknik Scraping Lokasi & POI untuk Analisis Jaringan Bank
Pendahuluan
Pada pelajaran ini, Anda akan mempelajari cara melakukan scraping data lokasi (Point of Interest / POI) seperti ATM, kantor cabang bank, mini market, pusat keramaian, hingga kompetitor—secara legal, efisien, dan siap digunakan untuk analisis geospasial.
Pelajaran ini sangat penting karena kualitas analisis jaringan bank sangat bergantung pada kelengkapan dan akurasi data lokasi. Dengan menguasai teknik scraping POI, Anda dapat menghasilkan peta persaingan, heatmap, dan model prediksi penempatan titik layanan yang jauh lebih presisi.
Prasyarat & Alat yang Dibutuhkan:
- Pengetahuan dasar koordinat (lat/long)
- Laptop & koneksi internet
- Akun Google Developer (untuk Google API, jika diperlukan)
- Tools seperti:
- Overpass Turbo (OpenStreetMap API)
- Google Places API
- Python + Requests/BeautifulSoup (opsional)
- QGIS/ArcGIS (untuk verifikasi visual)
Langkah-langkah Utama
1. Menentukan Kebutuhan Data Lokasi Secara Spesifik
Sebelum scraping dimulai, Anda harus sangat jelas tentang apa yang ingin dikumpulkan.
Instruksi Detail:
- Identifikasi kategori POI yang diperlukan:
- ATM bank sendiri
- ATM kompetitor
- Kantor cabang
- Minimarket, pom bensin, mall
- Titik keramaian (kampus, pasar, RS)
- Tentukan wilayah kajian: kota, kabupaten, radius tertentu, atau seluruh Indonesia.
- Tentukan format keluaran: CSV, GeoJSON, atau shapefile.
- Tentukan frekuensi update data (sekali saja atau rutin).
(Visual Hint: Peta Indonesia dengan area analisis disorot menggunakan polygon/boundary.)
Tip Penting:
Semakin spesifik kategori POI yang ditentukan di awal, semakin cepat Anda bisa menyusun query dan mengurangi waktu pembersihan data.
2. Mengambil Data Lokasi dengan Overpass Turbo (OpenStreetMap API)
Overpass adalah alat gratis, cepat, dan legal untuk scraping POI berbasis OSM.
Instruksi Detail:
- Buka situs overpass-turbo.eu.
(Visual Hint: Tampilan halaman pertama Overpass Turbo dengan peta besar dan panel query di kiri.) - Klik Wizard, lalu ketik kategori POI, misalnya:
"amenity=atm""bank""atm" AND "brand"="BNI"
- Pilih area peta dengan menggunakan fungsi Draw Rectangle/Polygon.
- Klik Run untuk menjalankan query.
- Setelah hasil tampil, klik Export → GeoJSON/CSV.
- Unduh file hasil scraping.
(Visual Hint: Popup Export Overpass Turbo dengan pilihan format file.)
Peringatan:
OSM tergantung kontribusi komunitas. Data ATM/cabang bank kadang tidak lengkap. Kombinasikan dengan Google Places atau data internal bank.
3. Scraping POI Menggunakan Google Places API
Cara ini lebih akurat dan cocok untuk data ATM dan POI populer.
Instruksi Detail:
- Masuk ke Google Cloud Console, buat atau pilih project.
- Aktifkan API:
- Places API
- Geocoding API
- Maps JavaScript API
- Buat API Key.
- Gunakan endpoint berikut:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-6.2000,106.8166&radius=5000&type=atm&key=API_KEY - Untuk kategori lain ganti
type=atmmenjadi:banksupermarketconvenience_storehospital
- Simpan hasil JSON dan konversi ke CSV.
(Visual Hint: Diagram alur request-response JSON dari Google Places API.)
Tip:
Gunakan metode grid-based search untuk menghindari batasan radius dan memaksimalkan coverage.
4. Scraping POI Menggunakan Python (Requests + BeautifulSoup)
Digunakan saat website kompetitor mempublikasikan “Lokasi ATM/Kantor”.
Instruksi Detail:
- Temukan halaman daftar lokasi ATM/kantor kompetitor.
- Periksa HTML menggunakan Inspect Element (Ctrl+Shift+I).
- Identifikasi elemen yang berulang (class atau tag yang sama).
- Tulis script Python sederhana:
- Request halaman
- Loop semua elemen lokasi
- Ambil alamat, nama, jam operasional
- Gunakan API Geocoding untuk mengubah alamat → koordinat
(Visual Hint: Cuplikan bagian HTML yang berulang + panah merah ke class uniknya.)
- Simpan hasil ke CSV.
Peringatan Penting:
Scraping harus mengikuti aturan legal website (robots.txt dan ToS).
Gunakan kecepatan request yang wajar.
5. Membersihkan & Menstandarkan Data Lokasi
Data dari API, OSM, dan scraping manual biasanya tidak konsisten.
Instruksi Detail:
- Gabungkan dataset menggunakan Excel atau Python.
- Normalkan nama bank/ATM (mis: BCA vs BANK CENTRAL ASIA).
- Validasi koordinat: pastikan semua berada dalam wilayah yang benar.
- Hapus duplikasi berdasarkan jarak threshold (misal: ≤10 meter).
(Visual Hint: Tabel sebelum–sesudah cleaning dengan kolom warna hijau menunjukkan data final.)
Strategi Utama:
Gunakan spatial join + proximity analysis untuk memastikan tidak ada titik yang salah letak.
6. Memetakan Data untuk Verifikasi Cepat
Sebelum data dipakai untuk analisis prediktif atau scoring lokasi, plot dulu semua titik.
Instruksi Detail:
- Buka QGIS.
- Import semua file CSV/GeoJSON.
- Atur ikon per kategori (ATM, Kompetitor, POI).
- Zoom ke beberapa area acak: pastikan lokasi sesuai real-world.
(Visual Hint: Screenshot QGIS dengan titik-titik POI warna berbeda.)
Tip:
Validasi minimal 50 titik secara manual untuk mengukur akurasi dataset.
Ringkasan & Tugas
3 Poin Kunci:
- Scraping POI adalah fondasi dari seluruh analisis geospasial perbankan.
- Kombinasikan OSM, Google Places API, dan scraping manual untuk akurasi maksimal.
- Selalu lakukan cleaning, standardization, dan visual verification sebelum analisis lanjutan.
Tugas Praktis:
Kumpulkan 100 lokasi ATM kompetitor di satu kota pilihan Anda menggunakan dua metode berbeda:
- Overpass Turbo
- Google Places API
Lalu:
- Gabungkan datanya,
- Bersihkan duplikasi,
- Plot di QGIS.
Setelah itu, catat 3 kesimpulan dari perbandingan kedua sumber data tersebut.