Mengenal Oracle Spatial

Oracle Spatial menyediakan SQL schema dan functions untuk storage, retrieval, update, dan query collections dari spatial data.

Oracle Spatial terdiri atas 4 komponen :
1. Schema (MDSYS) untuk menentukan the storage, syntax, dan suport geometric data tipe
2. Mekanisme spatial indexing
3. Fungsi untuk melakukan queries, spatial join queries dan operasi spatial analysis.
4. Administrative utilities

Oracle Spatial menyediakan manajemen data spasial yang lebih mudah bagi pemakai aplikasi berbasis Sistem Informasi Geografis. Sekali data ini disimpan di Oracle database dapat dengan mudah untuk di update dan digunakan.

Tipe data geometry yang didukung oleh Oracle Spatial adalah :
1. Points and point clusters
2. Line strings
3. n-point polygons
4. Arc line strings (All arcs are generated as circular arcs.)
5. Arc polygons
6. Compound polygons
7. Compound line strings
8. Circles
9. Optimized rectangles

Untuk lebih jelasnya langsung kita mulai tahapan tutorial dasar oracle spatial :

1. Masuk ke sqlplus user scott

C:\>sqlplus scott/tiger

2. Membuat table COLA_MARKETS

CREATE TABLE cola_markets (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape MDSYS.SDO_GEOMETRY);

3. Inserts ke table Cola _Markets (cola_a, cola_b, cola_c, cola_d)

INSERT INTO cola_markets VALUES(
1,
’cola_a’,
MDSYS.SDO_GEOMETRY(
2003,
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),
MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7)
)
);

INSERT INTO cola_markets VALUES(
2,
’cola_b’,
MDSYS.SDO_GEOMETRY(2003,
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
)
);

INSERT INTO cola_markets VALUES(
3,
’cola_c’,
MDSYS.SDO_GEOMETRY(
2003,
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
MDSYS.SDO_ORDINATE_ARRAY(3,3, 6,3, 6,5, 4,5, 3,3)
)
);

INSERT INTO cola_markets VALUES(
4,
’cola_d’,
MDSYS.SDO_GEOMETRY(
2003,
NULL,
NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,4),
MDSYS.SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11)
)
);

4. Updates Table USER_SDO_GEOM_METADATA di schema MDSYS

INSERT INTO USER_SDO_GEOM_METADATA
VALUES (’cola_markets’,
’shape’,
MDSYS.SDO_DIM_ARRAY( — 20X20 grid
MDSYS.SDO_DIM_ELEMENT(’X’, 0, 20, 0.005),
MDSYS.SDO_DIM_ELEMENT(’Y’, 0, 20, 0.005)
),
NULL
);

5. Membuat spatial index (COLA_SPATIAL_IDX)

CREATE INDEX cola_spatial_idx
ON cola_markets(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;

6. Mencoba spatial queries

SELECT SDO_GEOM.SDO_INTERSECTION(c_a.shape, c_c.shape, 0.005)
FROM cola_markets c_a, cola_markets c_c
WHERE c_a.name = ‘cola_a’ AND c_c.name = ‘cola_c’;

– Do two geometries have any spatial relationship?
SELECT SDO_GEOM.RELATE(c_b.shape, ‘anyinteract’, c_d.shape, 0.005)
FROM cola_markets c_b, cola_markets c_d
WHERE c_b.name = ‘cola_b’ AND c_d.name = ‘cola_d’;

– Return the areas of all cola markets.
SELECT name, SDO_GEOM.SDO_AREA(shape, 0.005) FROM cola_markets;
– Return the area of just cola_a.
SELECT c.name, SDO_GEOM.SDO_AREA(c.shape, 0.005) FROM cola_markets c
WHERE c.name = ‘cola_a’;

– Return the distance between two geometries.
SELECT SDO_GEOM.SDO_DISTANCE(c_b.shape, c_d.shape, 0.005)
FROM cola_markets c_b, cola_markets c_d
WHERE c_b.name = ‘cola_b’ AND c_d.name = ‘cola_d’;

Untuk melihat dalam bentuk visual bisa menggunakan MapViewer dan Mapserver .

9 Comments

  1. Agus said,

    July 3, 2007 at 10:50 am

    Mas sekalian tutorial untuk mapserver dengan menggunakan oracle spatial

  2. maskuri said,

    July 3, 2007 at 11:07 am

    Lagi dibikin Mas. Nanti segera diposting. Mudah-mudahan cepat selesai
    Untuk sementara ini Mas Agus bisa mengunjungi ke link ini MapServer untuk Pemetaan Online tentang MapServer
    Terima Kasih

  3. July 17, 2007 at 9:16 am

    mas, terbantu banget nih.. makasih yah…

  4. July 17, 2007 at 9:19 am

    tutorial komplit mengenai mapserver php ada ga masa yg berbahasa indonesia?

  5. Budi said,

    February 16, 2008 at 9:57 pm

    Mas, saya sedang belajar menggunakan Oracle Spatial. Database sudah saya susun dan didesain bisa diakses multi user. Nah selain itu saya kembangkan juga aplikasi dengan ArcGIS yang menghasilkan feature class baru yang harus diupdate ke feature class di dalam database oracle spatal tsb. Masalahnya ketika saya berusaha mereplace feature class di dalam oracle spatal yang sedang diakses oleh orang, sistem ga mau jalan. Gimana mensiasati hal ini ya? Thanx a lot n salam kenal

  6. maskuri said,

    March 3, 2008 at 5:01 am

    Buat Mas Budi.

    Untuk melakukan multiuser editing Oracle Spatial dengan ArcGis harus melalui versioning. Versioning akan mengatur editing simultan multiuser. Masing-masing user akan diatur haknya dengan DBMS permision. Tiap user akan mengedit sesuai dengan haknya biasanya user create project. Kemudian untuk melakukan update dari master geodatabasenya melalui proses reconsiliasi dari masing-masing usernya/projectnya

    Coba baca ini Mas

    http://cartesia.org/geodoc/isprs2004/comm2/papers/186.pdf

    .

  7. Robert said,

    February 22, 2009 at 5:20 am

    utk pembuatan data aset pertanahan menggunakan oracle spatial berapa lama dan biayanya berapa?????

  8. maskuri said,

    February 23, 2009 at 6:15 am

    Untuk Pembuat data aset pertanahan perlu watu +- 6 bulan
    Kalau dari segi biaya biaya paling mahal berada pada sofware harus brwosing ke vendor oracle dan resellernya di indonesia. tapi kalau tenaga ahli by project untuk Admin database oracle 10 jt per month.

  9. Robert said,

    March 9, 2009 at 12:40 pm

    Untuk menghubungi pak Maskuri bgm…?, saya perlu info yg lebih ttg oracle spatial…


Post a Comment