osm2pgsql

Pada bab sebelumnya kita melihat bagaimana melakukan pengaturan Postgresql dengan PostGIS di Windows dan bagaimana melakukan pengaturan database dan memasukkan data shapefile ke dalam database. Untuk mendapatkan data OpenStreetMap di dalam database, Anda dapat mendapatkan data dalam format shapefile dan menggunakan pemuat shapefile, namun ini mungkin meninggalkan Anda tanpa semua data yang Anda inginkan. Pada bab ini kita akan mempelajari bagaimana menggunakan osm2pgsql, program command-line untuk memuat data mentah OSM ke dalam database PostGIS.

Kita akan melihat langkah-langkah melakukan pengaturan osm2pgsql di Windows, meskipun langkah-langkah yang harus dilakukan sama pada sistem operasi yang lain, dengan asumsi Anda telah melakukan pengaturan database PostGIS dengan benar.

Mendapatkan osm2pgsql

windows binary

  • Download file bernama osm2pgsql.zip
  • Unzip file pada sistem Anda. Anda harus memindahkan folder unzip ke lokasi dimana Anda tidak akan memindahkannya lagi nantinya, karena kita harus menambahkan lokasi ini ke path sistem.

unzip it

  • Pada direktori osm2pgsql bahwa Anda telah meng-unzip sebuah file bernama osm2pqsql.exe. Ini adalah program yang akan kita jalankan untuk mengimport data, tetapi agar Windows menemukannya, kita perlu menambahkan lokasi ini ke path sistem. Klik pada Menu Start dan ketik “system path”.

system path

  • Anda harus melihat sebuah pilihan bernama “Edit the system environment variables” kemudian klik.

edit variables

  • Klik pada tombol bernama “Environment Variables.”

env variables

  • Pada bagian bawah cari variabel bernama “path” dan klik “Edit…”

find path

  • Anda harus menambahkan direktori dimana osm2pgsql.exe berada ke variabel Path.

edit path

  • Tambahkan tanda titik koma di akhir direktori sebelumnya dan kemudian ketikan di path direktori osm2pgsql.exe. Misalnya, jika Anda menempatkan folder osm2pgsql secara langsung di direktori path C:\ akan seperti ini:

    C:\osm2pgsql\Win32
    
  • Klik OK beberapa kali untuk menyimpan pengaturan baru.
  • osm2pgsql harus berfungsi sekarang. Mari memeriksanya.
  • Buka Command Prompt Windows. Anda dapat melakukan ini dengan mengklik pada Menu Start dan ketika “cmd”. Aplikasi Command Prompt akan muncul dan Anda dapat menekan Enter atau mengkliknya.

cmd

  • Pada jendela command hitam terbuka, ketik:

    osm2pgsql
    
  • Jika semuanya berjalan dengan baik, Anda seharusnya mendapatkan pesan seperti ini:

osm2pgsql test

  • Jika Anda tidak melihat pesan kesalahan seperti ini, dan berkata bahwa ini tidak dapat menemukan aplikasi osm2pgsql, kemungkinan Anda salah memasukkan variabel Path.

Mendapatkan Data Mentah OSM

Sebelum kita menjalankan osm2pgsql kita harus memiliki beberapa data mentah OSM untuk mengimport ke dalam database. jika Anda belum memiliki file .osm yang Anda dapat gunakan, cobalah mendownload sebuah file dari http://metro.teczno.com/. Situs ini menyediakan banyak ekstrak OSM untuk kot-kota yang berbeda. Carilah kota untuk mengimport dan mendownload file PBF untuk itu. File PBF adalah versi yang dikompres pada file .osm normal. Anda dapat menggunakan salah satu layanan ekstrak yang tercantum pada bab mendapatkan data, jika Anda ingin data mentah untuk daerah lainnya.

Mendapatkan File Style

  • osm2pgsql membuthkan penggunaan file style kustom dimana tag dimasukkan pada database selama proses import. Anda dapat mendownload file style standar disini.

Mengimport Data

  • Buka PgAdmin III dan buat database baru bernama osm, sama seperti Anda melakukannya di bab sebelumnya.
  • Untuk mengimport data, kita akan menjalankan program osm2pgsql melalui command line. Klik pada Menu Start dan ketik “cmd” dan Enter untuk membuka Command Prompt.

command prompt

Disini kita akan menjalankan aplikasi osm2pgsql dengan beberapa pilihan. Kita butuh menyediakan:

  • Lokasi file data OSM
  • Nama database, dan nama pengguna database
  • File style dimana tag OSM akan diimport ke database

Kita telah menempatkan file OSM kita ke dalam direktori C:\ agar lebih mudah.

  • Ketik =an command berikut, mengganti lokasi file OSM dan file style oleh Anda sendiri.

    osm2pgsql -c -d osm -U postgres -H localhost
    -S C:\default.style C:\bangkok.osm.pbf
    
  • Tekan Enter. Jika semuanya berjalan dengan baik, proses seharusnya mulai berjalan. Ini mungkin membutuhkan waktu beberapa menit untuk memuat semua data ke dalam database.

osm2pgsql output

  • Jika file mentah OSM Anda besar, Anda mungkin perlu menambahkan memori tambahan ke proses import osm2pgsql. Untuk melakukan ini, tambahkan command berikut: –cache 600

Uji coba

Kita dapat menguji apakah import berhasil atau tidak dan melihat data pada database kita menggunakan QGIS.

  • Buka QGIS dan klik pada tombol “Add PostGIS Layers”.

qgis add postgis button

  • Di bawah “Connection” di bagian atas, klik “New”.
  • Beri sebuah nama pada koneksi baru. Di bawah database ketik osm (nama database Anda). Masukkan nama pengguna postgres dan kata sandi Anda di bawah.

connection settings

  • Klik OK untuk menyimpan pengaturan koneksi. Kemudian klik “Connect” untuk menghubungkan ke server PostgreSQL Anda.
  • Klik selanjutnya ke “publik” untuk melihat semua layer (tabel) di database Anda. Perhatikan bahwa osm2pgsql membuat tabel terpisah untuk jenis obejek yang berbeda - titik, garis, dan poligon. Ini juga membuat tabel jalan, yang berisi hanya jalan utama saja.

postgis layers

  • Pilihlah satau atau lebih layer dan klik “Add”. Jika ditanya, pilih WGS 84 sebagai CRS.
  • Jika semuanya berjalan sukses, Anda akan melihat layer yang Anda pilih ditampilkan di QGIS.

osm in qgis

Jika Anda melihat pada tabel atribut layer, Anda akan melhat bahwa atribut yang dipetakan untuk tag OSM. Tag tertentu yang diimport didefinisikan selama proses import osm2pgsql. Untuk menambahkan tag tertentu yang tidak disertakan secara standar, Anda dapat mengedit file style yang osm2pgsql referensi untuk mendefinisikan skema data.

Ringkasan

Ketika Anda ingin mengimport data OpenStreetMap ke dalam database Anda sendiri, osm2pgsql adalah tool yang sangat baik. Hal tersebut dapat sangat berguna ketika Anda harus mendapatkan data OSM yang paling terbaru dan megkostumisasi atribut yang Anda inginkan, atau ketika bekerja pada proyek yang lebih kompleks.

Tool penting lainnya telah dikembangkan baru-baru ini, bernama imposm, dan menawarkan beberapa kecepatan dan perbaikan lainnya atas osm2pgsql, walaupun tulisan ini kurang memiliki fungsi kunci lain yang dijanjikan pada imposm versi 3.

Untuk informasi lebih lanjut mengenai osm2pgsql, mengacu pada Wiki OSM - http://wiki.openstreetmap.org/wiki/Osm2pgsql.