Kuliah 2 Sistem Database Spasial Aktual Oleh : Baba Barus Bagian Inderaja dan Penginderaan Jauh, Departemen Ilmu Tanah dan Sumberdaya Lahan, Faperta, IPB Bogor, Maret 2012
@baba barus, 2012
Tipe-tipe database spasial • Berbasis spasial : ArcInfo/ArcGIS, ArcView, MapInfo, MapGuide, Atlas, TNT, ILWIS, IDRISI, SmallWorld, AutoCad Map, SPANS, GRASS, PcRaster, GlobalMapper; Multispec, f-GIS, PostGIS Berkembang sistem berbasis publik / open source Perintah dari geometri dan atribut, bekerja eksplist
• Berbasis atribut: Oracle, Informix, PostGres, Sybase, DB Berkembang sistem berbasis publik / open source Perintah dari atribut, dan bekerja implisit @baba barus, 2012
Produk ESRI (ArcInfo, ArcView, ArcGIS) ArcEdit ArcPlot Network Overlay
Info
ArcView 3.2/3.3 Many extentions
(PC ver 4.0) (Unix ver 7.00) •Spatial •Network •Grid •TIN •dll
ArcGIS ver 8.0 – 9.0 ArcCatalog ArcTools ArcMap ArcEditor Extentions Workstation – unix ver 7.0
ArcView 8 - 9 ArcCatalog ArcTools ArcMap
@baba barus, 2012
Architecture of Arc/Info
@baba barus, 2012
Arctools ArcEdit
ArcPlot
arc
Network
ArcScan
Overlay
info
TIN
GRID
AML Oracle, Informix Arc is dedicated for spatial data Info is the relational component in charge of thematic information
To link : through common ID
• Data spasial didisain bersifat topologi dimana hubungan antara suatu objek dengan yang lainnya diikat, Konsekuensinya ‘beban’ memori lebih berat. • Standard data spasial bersifat terikat; tetapi dengan serangkaian ‘program’ primitif; sehingga diperlukan ketrampilan secara teknis yang lebih tinggi • Format data spasial standar adalah workspace • The loose couple between the two subsystem allows us to easily replace Info with another relational database such as Oracle or Informix
Struktur berkas geometri dan atribut Arc/Info • • • • • • • • • • • • • • •
AAT - Arc Attribute Table MSK – edit area mask PAL – Polygon Topology PAT – Polygon/Point Attribute Table PFF – Polygon Filter File ARC – Arc Coodinates and Topology ARF – Arc Cross Reference file BND – Coverage Minimum and Maximum coordinate CNT – Polygon Sentroid Table LAB – Label Point Coordinates and Topology LOG – Coverage or Workspace history file PRF – Polygon/point cross refrence file TIC – Tic coodinates and ID’s TOL – Coverage processing tolerances TXT – Coverage annotation features
geometry Arc Node Polygon Point
ARC PAL, CNT, LAB LAB
Istilah file spasial: coverage Merupakan data standar; yang terdiri dari berbagai file Data ekspor standar : E00 Yang dirangkaikan dalam satu file Istilah file atribut : info
topology and description AAT NAT PAT PAT
Relevant files in ArcInfo coverages @baba barus, 2012
Isi dalam Arc/Info • Table AAT
• Table NAT
Fnode : integer Tnode : integer Lpoly : integer Rpoly : integer Length : real Adm# : integer Adm-ID : integer
• Table PAT
ARC# : integer Adm# : integer Adm-ID : integer
Area# : real Perimeter: real Adm# : integer Adm-ID : integer
Querying with ArcInfo Arcedit Editcoverage adm Editfeature polygon Arcedit : select nom = ‘mulhouse’ Arcedit : list population Arcedit Arcedit Arcedit Arcedir Arcedit Arcedit Arcedit
: : : : : :
editcoverage Highway mapextent default drawe arc ef select road-number=‘n66’ drawselect
@baba barus, 2012
Architecture of ArcView
@baba barus, 2012
Desktop GIS: provides tools for querying, displaying, editing maps and data acces dan spatial analysis Key feature : easy integration with applications, text editors, and database • Tampilan geometri (view) • Table • Chart • Layout • Script – melalui Avenue (merupakan bahasa C++; pada ArcInfo ; aml atau sml ; dalam ArcInfo no high-level query language to interact with the system
Data spasial ArcView dibangun tidak terikat sesamanya (format data spageti), tetapi hubungan dengan tabel dibuat Istilah file data spasial : Shape file (.shp) Istilah data attribut : database (.dbf - bentuk data atribut dalam bentuk file database standar)
Architexture of ArcGIS • ArcGIS ArcCatalog ArcTools ArcMap ArcEditor Workstation
@baba barus, 2012
Architexture of MapInfo
@baba barus, 2012
Fasilitas: Fungsi standar Draw Menu
Dalamnya: Fungsi Pemasukan Edit Query tabel Display
Bentuk data geometry: spageti, istilah : .tab Bentuk data atribut : .dat ---- sangat mudah diakses dengan data dbf
Architexure SmallWorld
@baba barus, 2012
• Dikenal topology antar objek • Geometri primitif: points, chains dan areas (istilah yang paralel: point, arc dan polygon atau nodes, links and polygons) • Data atribut: text • A theme : object type • Themes are displayed by selecting a view in the graphic windows. By probing one piece of an object geometry, one gets the descriptive attributes of the objects. Objects are also manipulated through an object editor, and queried through an object browser.
Querying with Smallworld Object Browser Selection: > Source where condition and/or condition ……. > Kabupaten where nama-kabupaten = “Bogor” Spatial selection > Kabupaten where geometry surrounds selected-geometry > Kabupaten where geometry crosses clipboard.coverage > LU where tipe= ‘hutan’ and geometry inside kota.geometry
In contrast to ArcInfo and ArcView, Smallworld provides to a user a high-level query language, thereby hiding implementation details. ---- still procedurals
DB Oracle • • • • • •
@baba barus, 2012
Kebanyakan DBMS komersil menyediakan ekstensi untuk mengatur dan mengkueri data multidimensi Beberapa sistem dibuat terlepas dan dapat dihubungkan dengan SIG Ciri utama ekstensi spasial DBMS adalah menyediakan bahasa kueri level tinggi, yang dapat menyajikan kueri kompleks campuran kriteria spasial dan deskripsi Target Oracle Spasial adalah pengelolaan lahan di pemerintahan, utilitas, ditribusi dan eksplorasi energi, dan data pergudangan Dimulai pada veri Oracle8i Disediakan melalui fasilitas SDO_GEOMETRY
Spatial data model Suatu tabel terdiri dari standar relasi atribut dan atribut spasial : MDSYS.SDO_GEOMETRY Contoh membuat tabel section CREATE TABLE section (section-code varchar (64) section-name varchar (64) section-lanes integer city-start varchar (64) city-end varchar (64) geometry MDSYS.SDO_GEOMETRY)
Contoh Operasi spasial - Oracle •
@baba barus, 2012
Index-aware operators
Terdapat 3 kategori: SDO_RELATE; SDO_FILTER; SDO_WITHIN_DISTANCE SDO_RELATE al : contains, coveredby, covers, disjoint, equal, inside, overlap and touch dapat dicek melalui argumen mask Contoh: kueri yang terkait dengan kabupaten yang berdampingan dengan Bogor Select k1.nama-kabupaten From kabupaten k1, kabupaten k2 Where k2.nama-kabupaten = ‘Bogor’ And MDSYS.SDO_RELATE(k1.geometry,k2.geometry, ‘mask = TOUCH’) = ‘true’;
Operator yang lain SDO_GEOM.SDO_BUFFER: Union, Difference, Intersection Contoh: menyajikan wilayah ramai di Bogor Select From Where And And
INTERSECTION (penggunaan_lahan.geometry, kabupaten.geometry) kabupaten, penggunaan_lahan Kabupaten.nama-kabupaten = ‘Bogor’ penggunaan_lahan.tipe-penggunaan-lahan = ‘daerah-ramai’ MDSYS.SDO_RELATE(kabupaten.geometry, penggunaan_lahan.geometry, ‘mask = OVERLAP’) = TRUE
• Pengolahan query dan indeks spasial • Join spasial
Perangkat Lunak PostGIS-PostGreSql
@baba barus, 2012
• Berbasis atribut • Data spasial diletakkan secara atribut – dengan simbol binari • Beberapa sistem database membuat kode geometri secara khusus • Dalam kolom spesifik seperti query dalam atribut • Sangat cepat dalam menarik data • Pengolahan spatial dilakukan dari atribut
Geoprocessing with PostgreSQL/PostGIS •
PostGIS functions (~330) are available through SQL – Coordinate transformation – Identify – Buffer – Touches – Crosses – Within – Overlaps – Contains – Area – Length – Point on surface – Return geometry as SVG – Many, more 14
@baba barus, 2012
@baba barus, 2012
Simple Features for SQL (SFSQL) SQL for Geographic data
• ST_distance
1 SELECT avg(ST_distance(w.the_geom,'POINT(702169 9317061)'))/1000 as Jarak_Monas_Bogor 2 FROM wil_jabodtbk as w WHERE w.kabupaten ='KOD.BOGOR' 3 4 Keterangan baris 1 'POINT(702169 9317061) merupakan koordinat Tugus Monas dalam system UTM. Database relasional wil_jabodtbk mempunyai atribut nama kabupaten, kecamatan, dan desa di wilayah Jabodetabek. Kabupaten ‘KOD.BOGOR’ sendiri terdiri dari 68 desa, sehingga mempunyai 68 poligon.Perhitungan jarak dengan menggunakan ST_distance akan menghitung jarak Tugu Monas ke masing-masing polygon tersebut. Dengan demikian diperlukan operator aritmatika ‘avg’ untuk memperoleh jarak rata-rata. Sumber : Tarigan dan Barus, 2011