Home > Linux, Programming > Menghitung Jarak Antara Dua Titik Koordinat Dengan PostGIS

Menghitung Jarak Antara Dua Titik Koordinat Dengan PostGIS

September 8th, 2009 Leave a comment Go to comments

postgresql Menghitung Jarak Antara Dua Titik Koordinat Dengan PostGISAnda tentu pernah mengecek keberadaan sebuah tempat dengan menggunakan peta bukan?Nah di dalam peta tersebut atau bisa juga atlas terdapat sistem koordinat yang memetakan tempat tersebut. Ada banyak sistem koordinat yang sudah didefinisikan. Di sini kita menggunakan sistem koordinat yang digunakan oleh peta pada umumnya, yaitu lintang dan bujur, alias latitude dan longitude. Keduanya tersimpan dalam bentuk bilangan desimal, bisa positif atau negatif.

Misalnya koordinat Margonda, Depok yaitu Latitude -6,369368 berarti lintang selatan ( karena negatif ), dan longitude 106,832986 berarti bujur timur (karena positif). Kemudian koordinat kedua adalah Senen, Jakarta Pusat, yaitu:  Latitude -6.179036 dan longitude 106.843870.

Namun bagaimanakah cara Anda mengukur jarak antara kedua tempat atau koordinat tersebut?Salah satunya dengan menggunakan PostGIS sebuah fitur tambahan pada Database PostgreSQL yang dirancang khusus untuk masalah pemetaan.

Instalasi

Kita bisa gunakan distro Ubuntu atau distro berbasis Debian lainnya. Pertama kita perbaharui dulu daftar paket Debian, mulailah sebagai superuser:

$ sudo su

# apt-get update

Kemudian pasang database server dan paket PostGIS:

# apt-get install postgresql-8.3 postgresql-8.3-postgis

Lanjutkan dengan pembuatan user database, katakanlah bernama tespeta. Anda perlu sebagai user postgres untuk melakukan itu:

# su postgres

$ createuser -P tespeta

Password: ****

Kemudian buatkan tespeta database map:

$ createdb -O tespeta map

Berikutnya pasang PostGIS dalam database map. Ingat, Anda harus tetap sebagai user postgres untuk memasang PostGIS dalam database, karena ada pembuatan function yang mengacu ke C library.

$ createlang plpgsql map

$ psql map -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql

$ psql map -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql

Login-lah ke database map:

$ psql map

Berikan hak akses untuk grup public agar dapat membaca tabel-tabel PostGIS:

GRANT SELECT ON geometry_columns TO public;

GRANT SELECT ON spatial_ref_sys TO public;

Logout dari psql dengan menekan tombol Ctrl-D, dan login-lah sebagai user tespeta:

psql -U tespeta map

Saatnya mencari jarak:

SELECT st_distance(

st_transform(st_pointfromtext(‘POINT(106.832986 -6.369368)’,4269),32661),

st_transform(st_pointfromtext(‘POINT(106.843870 -6.179036)’,4269),32661)

);

st_distance

——————

46861.5191828321 (1 row)

Jawaban di atas berarti juga 46,86km.

Tentu dengan menggunakan PHP Anda dapat mengembangkannya menjadi web tool penghitung jarak.

Selamat mencoba dan untuk lebih jelasnya bisa membaca referensinya di http://www.postgis.org/

  1. September 9th, 2009 at 02:02 | #1

    Wah ga mudheng saya mas, kayaknya nie untuk yang sudah expert aja yah, danbiasanya yang membutuhkan hal seperti ini, orang2 geografi :D

  2. September 9th, 2009 at 08:23 | #2

    Podo ra mudhenge mas, wis lah sing penting komeng

  3. September 9th, 2009 at 15:59 | #3

    @adirossi hehehe sy jg msh belajar juga mas adirossi, setidaknya lumayan gk perlu garisan ma itung2 skala :D

    @hadi thx byk komengnya mas hadi :D

  4. September 10th, 2009 at 20:21 | #4

    wah saya gak mudeng yang kaya gini..
    kalo saya mo ukur jara ya pake manual aja..hehehe
    salam kenal..
    salam rimba raya lestari..

  5. September 11th, 2009 at 02:21 | #5

    hehehehe selalu byk cara kok menuju roma :D
    salam kenal juga mbak lestari :)

  6. September 11th, 2009 at 07:35 | #6

    walah mas namaku bukan mbak lestari..
    kalo manggilnya mbak…cukup nia aja..
    kalo manggilnya mas…cukup adhi aja..hehehe
    jangan bingung mas..
    salam rimba raya lestari..
    ups, kalo pengen tau maknanya ada postingannya koq judulnya makna di balik salam rimba raya lestari..
    monggo dibaca…hehehe (promosi)

  7. September 13th, 2009 at 23:23 | #7

    waduh maap klo gitu, byk sekali namanya hehehe :D

  8. October 19th, 2009 at 11:38 | #8

    postgree emang lebih baek drpada mysql…

  1. No trackbacks yet.

CommentLuv badge