Basis Data Spasial

28
Sistem Basis Data Lanjut BASIS DATA SPASIAL

Transcript of Basis Data Spasial

Page 1: Basis Data Spasial

Sistem Basis Data Lanjut

BASIS DATASPASIAL

Page 2: Basis Data Spasial

Basis Data Spasial 2

Sistem Basis Data Lanjut

Outline

• Data Spasial : Data Geografis• Representasi Data Geografis• Basis Data Spasial• Sistem Manajemen Basis Data

Spasial• Tipe Queri Spasial• Bahasa Queri Spasial• Contoh Queri Spasial• Pengindeksan Data Spasial

Page 3: Basis Data Spasial

Basis Data Spasial 3

Sistem Basis Data Lanjut

Data Spasial• Dua tipe data spasial :

– Data geografis (2D): peta jalan, peta penggunaan tanah, petakepemilikan tanah, peta politis ygmenunjukkan perbatasan, citramedis, cuaca dll.

– Data Computer-aided Design(CAD) (2D/3D): informasi spasialmengenai konstruksi dari sebuahobjek, seperti bangunan, mobil, pesawat terbang.

Page 4: Basis Data Spasial

Basis Data Spasial 4

Sistem Basis Data Lanjut

Data Geografis2 tipe data geografis :

1. Data raster, terdiri atas data peta piksel (2/3D). Cth, citrasatelit mengenai awan (2D), citra mengenai suhu padawilayah dgn ketinggianberbeda.

2. Data vektor, data ini ter-bentuk berdasarkan objekgeometris dasar seperti garis, titik, segitiga atau bentukpoligon lainnya dalam 2D. Atau bentuk silinder, bola, kubus & bentuk lainnyadalam 3D.

Page 5: Basis Data Spasial

Basis Data Spasial 5

Sistem Basis Data Lanjut

Representasi Data Geometris• Sebuah segmen garis dapat

direpresentasikan dgn koordinatdari titik2 akhirnya.

Objek Representasi

• Segmen garis2 {(x1,y1),(x2,y2)}

1

• Segitiga3

{(x1,y1),(x2,y2),(x3,y3)}

1 2

Page 6: Basis Data Spasial

Basis Data Spasial 6

Sistem Basis Data Lanjut

Representasi Data GeometrisObjek Representasi

• Poligon2 {(x1,y1),(x2,y2),(x3,y3),

1 3 (x4,y4),(x5,y5)}

5 4

• Poligon2 {(x1,y1),(x2,y2),(x3,y3),ID1}

1 3 {(x1,y1),(x2,y2),(x3,y3),ID2}{(x1,y1),(x2,y2),(x3,y3),ID3}

5 4

Page 7: Basis Data Spasial

Basis Data Spasial 7

Sistem Basis Data Lanjut

Basis Data Spasial• Basis data spasial merupakan kumpulan

dari tipe data spasial, operator, indice, strategi pemrosesan dll. Dapat bekerjapada bahasa pemrograman Java, Visual Basic dll.

• Basis data spasial yg khusus menyimpandata geografis terdapat pada Geographic Information System (GIS).

• Objek spasial– Mempunyai bentuk geometris, ukuran

& lokasi (koordinat)– Berubah menurut waktu, cth

penggunaan tanah, wilayah penduduk

Page 8: Basis Data Spasial

Basis Data Spasial 8

Sistem Basis Data Lanjut

Basis Data Spasial (lanj.)• Isu

– Representasi; bagaimanamerepresentasikan gunung, danau?

– Bahasa queri; bagaimanamenspesifikasikan queri spasial?

• Temukan semua danau di dekatgunung ?

– Indeksing; bagaimanameningkatkan metode peng-aksesan spasial?

– Pengumpulan data; bagaimanamendigitasi citra satelit, petapada kertas, dll

Page 9: Basis Data Spasial

Basis Data Spasial 9

Sistem Basis Data Lanjut

Sistem Manajemen Basis Data Spasial (SMBDS)

• SMBDS merupakan suatuperangkat lunak :– Dapat bekerja seperti DBMS yg ada– Mendukung model data spasial, tipe

data abstrak spasial (ADT/Abstract Data Type) & bahasa queri yg dapatmemanggil ADT

– Mendukung indeksing spasial, algoritma pemrosesan operasi spasialyg efisien, & aturan domain yg khususutk optimasi queri.

– Digunakan pada GIS ataupun aplikasilainnya.

Page 10: Basis Data Spasial

Basis Data Spasial 10

Sistem Basis Data Lanjut

Sistem Manajemen Basis Data Spasial (SMBDS)

• Contoh: Oracle Spatial data cartridge, ESRI SDE– Dapat bekerja dgn Oracle 8i DBMS– Mempunyai tipe data spasial (mis.

poligon), operasi (cth. overlap) yg dptdikerjakan dgn SQL3

– Mempunyai indeksing spasial, mis. R-trees

Page 11: Basis Data Spasial

Basis Data Spasial 11

Sistem Basis Data Lanjut

Arsitektur SMBDS

•Line PolygonPoint

Visualization

Interface to Spatial Application

Spatial Database

Core

Spatial QueryLanguages

Spatial IndexAccess Methods(with ConcurrencyControl)

Abstract DataTypes

Data Model

Data Volume

ViewsDerived Data

Bulk LoadingConcurrency ControlRecovery/Backup

Cost FunctionsSelectivity Evaluation

Spatial Join

Index Structures

Spatial Data Typesand Operations

Algorithms for SpatialOperations with CostModels

Space Taxonomy

Networks

Interface to DBMS

DBMS

MMIS

CAD

GIS

Spatial Application

Object-RelationalDatabaseServers

Interpretation,Discretization,Scale/ResolutionConsistency

Page 12: Basis Data Spasial

Basis Data Spasial 12

Sistem Basis Data Lanjut

Tipe Queri Spasial• Nearess queries

Meminta objek yg berada dekat lokasitertentu. Cth, queri utk mencari semuarestoran yg berada dlm jarak ttt dari suatutitik ttt.

• Region queriesMeminta objek yg berada sebagian ataukeseluruhan pada area ttt. Cth, queri utkmencari semua toko eceran di dalam suatukota.

Page 13: Basis Data Spasial

Basis Data Spasial 13

Sistem Basis Data Lanjut

Tipe Queri Spasial• Queries that request intersections

and unions of regionsMeminta objek yg berada pada area ygberirisan atau gabungan dari beberapaarea. Cth, dari informasi tahunan mengenaicurah hujan & kepadatan penduduk, diajukan queri utk mendapatkan semuaarea dengan curah hujan rendah & kepadatan penduduk tinggi.Perhitungan queri ini dgn melakukan join dari 2 relasi spasial.

Page 14: Basis Data Spasial

Basis Data Spasial 14

Sistem Basis Data Lanjut

Bahasa Queri Spasial• Bahasa Queri Spasial

– Tipe data spasial, mis poin, linestring, poligon

– Operasi spasial, cth. overlap, distance, nearest neighbor.

– Dapat dipanggil dari bahasa queri,cth. SQL3

SELECT SnameFROM Senator SWHERE S.district.Area() > 300

• Standar– Bahasa queri standar : SQL3 – OGIS (Open Geodata Interchange

Standar) : standar utk tipe data spasial& operator

Page 15: Basis Data Spasial

Basis Data Spasial 15

Sistem Basis Data Lanjut

Contoh Queri Spasial• Contoh Join Spasial

SELECT S.name FROM Senator S, Business B WHERE S.district.Area() > 300 AND Within(B.location, S.district)

• Contoh Join Non-SpasialSELECT S.name FROM Senator S, Business BWHERE S.soc-sec = B.soc-sec AND S.gender = ‘Female’

Page 16: Basis Data Spasial

Basis Data Spasial 16

Sistem Basis Data Lanjut

Contoh Queri Spasial (lanj.)

SOC.-SEC

Join

GENDER

SENATOR

BUSINESS

DISTRICT (POLYGON)

Spatial Join

NAME

OWNER SOC-SEC LOCATION (POINT)B-NAME

Page 17: Basis Data Spasial

Basis Data Spasial 17

Sistem Basis Data Lanjut

Pengindeksan Data Spasial

• Untuk mengindeks data spasial(poligon, persegipjg) digunakanR-tree (perluasan B-tree)

• R-tree merupakan hirarki darikumpulan persegipjg.

Cd

e

fg

B

A

h

f g h i jei

j

d

B CA

Page 18: Basis Data Spasial

Basis Data Spasial 18

Sistem Basis Data Lanjut

Data Spasial OGIS• Terdiri atas klas geometri & 4

subklas :Point, Curve, Surface & Geometry Collection

• 3 kategori operasi :– Diaplikasikan utk semua tipe geometri

SpatialReference, Envelope, Export,IsSimple, Boundary

– Predikat utk relationship topologisEqual, Disjoint, Intersect, Touch, Cross, Within, Contains

– Analisis data spasialDistance,Buffer,Union, Intersection, ConvexHull, SymDiff

Page 19: Basis Data Spasial

Basis Data Spasial 19

Sistem Basis Data Lanjut

Contoh SQL SederhanaSELECT_FROM_WHERE

• Operasi analisis spasialOperator Unary : AreaOperator Binary : Distance

• Operasi spasial topologis boolean –clause WHERE

TouchCross

• Menggunakan analisis spasial & operasitopologis

Buffer, overlap• Contoh SQL kompleks

Aggreagate SQL queriesNested queries

Page 20: Basis Data Spasial

Basis Data Spasial 20

Sistem Basis Data Lanjut

Operasi Spasial padaclause SELECT

• Queri: tampilkan nama, populasi & area untuk setiap tabel Country.

SELECT C.Name,C.Pop,Area(C.Shape)AS "Area“FROM Country C

– Cat: Area() : operasi spasial

Page 21: Basis Data Spasial

Basis Data Spasial 21

Sistem Basis Data Lanjut

Operator Spasial Distance

• Queri: tampilkan GDP & jarakibukota negara ke ekuator darisemua negara.SELECT Co.GDP, Distance(Point(0,Ci.Shape.y),Ci.Shape) AS "Distance"FROM Country Co,City CiWHERE Co.Name = Ci.CountryAND Ci.Capital =‘Y ’

Page 22: Basis Data Spasial

Basis Data Spasial 22

Sistem Basis Data Lanjut

Operasi Spasial padaclause WHERE

• Queri: Cari nama semua ibukotanegara yg bertetangga dgn United States (USA) pada tabel Country.

SELECT C1.Name AS "Neighbors of USA“ FROM Country C1,Country C2WHERE Touch(C1.Shape,C2.Shape)=1AND C2.Name =‘USA ’

• Cat: Operator spasial Touch() digunakan utkmen-join tabel Country table dengan dirinyasendiri (rekursif).

Page 23: Basis Data Spasial

Basis Data Spasial 23

Sistem Basis Data Lanjut

Queri Spasial denganTabel Multipel

• Queri: untuk semua sungai yang terdapat pada tabel River, caridaerah yg dilalui oleh sungai tsb.

SELECT R.Name, C.NameFROM River R, Country CWHERE Cross(R.Shape,C.Shape)=1

• Cat: Operasi spasial Cross utk men-join tabel River & Country.

Page 24: Basis Data Spasial

Basis Data Spasial 24

Sistem Basis Data Lanjut

Contoh Queri SpasialBuffer & Overlap

• Queri: sungai St. Lawrence dapatmemasok air ke kota2 dalam jarak300 km. Tampilkan kota2 yg dapatmenggunakan air dr sungai tsb.

SELECT Ci.NameFROM City Ci, River R WHERE Overlap(Ci.Shape, Buffer(R.Shape,300)) = 1 AND R.Name =‘St.Lawrence ’

Page 25: Basis Data Spasial

Basis Data Spasial 25

Sistem Basis Data Lanjut

Operasi Spasial padaaggregate query

• Queri: Tampilkan semua daerah, susun berdasarkan jumlah daerahtetangganya.

SELECT Co.Name, Count(Co1.Name)FROM Country Co, Country Co1 WHERE Touch(Co.Shape,Co1.Shape)GROUP BY Co.NameORDER BY Count(Co1.Name)

Page 26: Basis Data Spasial

Basis Data Spasial 26

Sistem Basis Data Lanjut

Using Spatial Operation in Nested Queries

• Queri: Untuk setiap sungai, identifikasikan kota terdekat.

SELECT C1.Name, R1.NameFROM City C1, River R1WHERE Distance (C1.Shape,R1.Shape) <= ALL ( SELECT Distance(C2.Shape)FROM City C2WHERE C1.Name <> C2.Name)

• Cat: Operasi spasial Distance digunakandalam konteks nested query.

Page 27: Basis Data Spasial

Basis Data Spasial 27

Sistem Basis Data Lanjut

Nested Spatial Query• Queri: Tampilkan daerah yg hanya

mempunyai satu tetangga saja. Suatudaerah merupakan tetangga daerahlainnya jika tanah mereka salingberbatasan. Berarti, daerahkepulauan tidak mempunyaitetangga, seperti Iceland.SELECT Co.Name FROM Country Co WHERE Co.Name IN (SELECT Co.NameFROM Country Co,Country Co1 WHERE Touch(Co.Shape,Co1.Shape) GROUP BY Co.NameHAVING Count(*)=1)

Page 28: Basis Data Spasial

Basis Data Spasial 28

Sistem Basis Data Lanjut

Referensi

1. Korth, H.; Database System Concept, Mc Graw Hill, 4th edition, New York, 2002