Membangun Kontainer PostGIS dengan Docker
Dalam artikel ini, saya akan memperkenalkan cara mengatur PostGIS menggunakan Docker. Dengan menggunakan citra Docker resmi yang disediakan di bawah ini, Anda dapat dengan mudah meluncurkan kontainer Docker PostgreSQL dengan PostGIS sudah terpasang.
Untuk memulai kontainer PostGIS, jalankan perintah berikut:
$ docker run --name my-postgis -e POSTGRES_PASSWORD=mysecretpassword -d postgis/postgis
Untuk masuk ke dalam kontainer dan terhubung ke PostgreSQL, gunakan perintah berikut:
$ docker exec -it my-postgis psql -U postgres
postgres=#
Sekarang, Anda telah berhasil terhubung ke PostgreSQL.
Operasi PostGIS
Mari kita lakukan beberapa operasi dasar dengan PostGIS. Pertama, kita akan membuat tabel airports
.
postgres=# create table airports
( id serial primary key,
name text,
iata_code text,
location geography(POINT, 4326)
);
CREATE TABLE
Selanjutnya, masukkan data ke dalam tabel airports
.
postgres=# insert into airports (name, iata_code, location)
values ( 'Haneda Airport' , 'HND' , ST_GeogFromText('SRID=4326;POINT(139.7776446 35.5493975)') );
INSERT 0 1
Sekarang, mari kita periksa tabel airports
.
postgres=# select * from airports;
id | name | iata_code | location
----+----------------+-----------+----------------------------------------------------
1 | Haneda Airport | HND | 0101000020E6100000279DED76E2786140888043A852C64140
(1 row)
Mari coba mengonversi kolom location
menjadi tipe POINT.
postgres=# select id, name, iata_code, ST_AsText(location) from airports;
id | name | iata_code | st_astext
----+----------------+-----------+-------------------------------
1 | Haneda Airport | HND | POINT(139.7776446 35.5493975)
(1 row)
Terakhir, mari kita hitung jarak dari titik (139.00 35.00)
.
postgres=# select ST_Distance(
location,
ST_GeogFromText('SRID=4326;POINT(139.00 35.00)')
) as distance from airports;
distance
----------------
93386.17699288
(1 row)
Referensi