Jurusan Fisika FMIPA UNTAD Email : [email protected]
89
Implementasi Universal Krigging 3 Dimensi Berbasis World Wind Nasa SDK
Dedy Farhamsa
Abstrak: Universal Krigging sebagai salah satu metode standar dalam geostastik diimplementasikan secara luas dalam sistem informasi geografis. Penyajian hasil kontur baik segi performa, grafis 2D/3D, user-friendly dan sebagainya adalah tantangan tersendiri bagi bidang komputasi. Dalam penelitian ini, universal Krigging diimplementasikan dalam globe virtual menggunakan World Wind Nasa SDK dan menghasilkan layer 3-dimensi diatas topografi bumi. Secara visualisasi, hasil penelitian dapat memberikan informasi yang lebih baik kepada user sedangkan dari segi keakuratan analisis, metode ini menghasilkan korelasi diatas 90% untuk jumlah data pengukuran minimal 7 titik.
Kata Kunci: Universal Krigging, Topografi 3D, World Wind Nasa SDK
PENDAHULUAN
Krigging adalah salah satu metode geostatistik yang menjembatani antara statistik dan GIS. Analisis geostatistik merupakan teknik geostatistik yang terfokus pada variable spasial, yaitu hubungan antara variable yang diukur pada titik tertentu dengan variable yang tak terukur pada titik dengan jarak tertentu dari titik terukur.
Analisis geostatistika digunakan secara luas baik dalam bidang geologi, planotologi maupun meteorologi
Universal Krigging
Keunggulan prosedur ini dibandingkan algoritma kontur yang lain adalah penggunaan optimalisasi secara statistik sekaligus menyediakan error
pengukuran atau ketidakpastian kontur.
Kriging menggunakan informasi dari semivariogram untuk menemukan nilai optimal bobot yang akan digunakan dalam estimasi suatu nilai dari lokasi yang tidak diobservasi. Karena semivariogram adalah fungsi dari jarak, nilai bobot berubah berdasarkan letak geografis observasi.
Nilai dari lokasi yang tidak diobservasi dinyatakan dalam rata-rata bobot nilai dari lokasi terobservasi.
𝑌 𝑝 = 𝑊𝑖𝑌𝑖 …… 1) Untuk daerah stabil (stasionary) atau mengikuti trend tertentu, prosedur Krigging untuk mencari nilai 𝑌 pada titik p dari tiga titik observasi yang ketahui adalah
𝑊1𝛾 ℎ11 + 𝑊2𝛾 ℎ12 + 𝑊3𝛾 ℎ13 = 𝛾 ℎ1𝑝
𝑊1𝛾 ℎ21 + 𝑊2𝛾 ℎ22 + 𝑊3𝛾 ℎ23 = 𝛾 ℎ2𝑝 𝑊1𝛾 ℎ31 + 𝑊2𝛾 ℎ32 + 𝑊3𝛾 ℎ33 = 𝛾 ℎ3𝑝 Untuk menyelesaikannya harus diketahui
Bentuk Krigging sederhana diatas disebut Punctual Krigging. Namun untuk daerah nonstasionary, ada dua komponen yang perlu diperhitungkan yaitu kehadiran Drift dan Residual. Drift adalah rata-rata nilai variabel regional disekitar observasi sedangkan residual
disini 𝑋1𝑖 dan 𝑋2𝑖 adalah kordinat geografis ke-I terhadap titik kontrol tetangganya.
bentuk Krigging ini disebut Universal Krigging [3].
Kode Program Java : Class Krigging public class Kriging {
LinkedList<DataKriging> listData;
Matrix matrix = new Matrix();
Matrix alpha;
bobot 𝑊𝑖 terlebih dahulu dengan membentuk matrix yang disisipi pengali-Lagrange λ sebagai derajat kebebasan tambahan.
adalah perbedaan antara pengukuran sebenarnya terhadap nilai drift. Nilai drift (M) itu sendiri untuk titik p dapat didefenisikan sebagai polynomial orde-1 atau orde-2.
𝑀𝑝 = 𝛼1𝑋1𝑖+ 𝛼2𝑋2𝑖 ………..(3) atau
Matrix (II.26) apabila disisipkan dengan komponen drift menjadi:
double[][] parameter, matrixAlpha, matrixBeta,
matrixDrift;
double[][] location;
int numObserver, numMatrixAlpha;
double xP, yP;
double weight=1;
boolean isMatrixSetted = false;
𝛾 ℎ11 𝛾 ℎ12
𝛾 ℎ21 𝛾 ℎ22 𝛾 ℎ13 1 𝛾 ℎ23 1 𝛾 ℎ31 𝛾 ℎ32
1 1
𝛾 ℎ33 1 1 0
𝑊1 𝑊2 𝑊3 𝜆
= 𝛾 ℎ1𝑝 𝛾 ℎ1𝑝 𝛾 ℎ1𝑝 1
……..(2)
𝑀𝑝 = 𝛼1𝑋1𝑖 + 𝛼2𝑋2𝑖 + 𝛼1𝑋1𝑖2 + 𝛼1𝑋1𝑖𝑋2𝑖 + 𝛼1𝑋2𝑖2
𝛾 ℎ11 𝛾 ℎ12
𝛾 ℎ21 𝛾 ℎ22 𝛾 ℎ13 1 𝑋11 𝑋21 𝛾 ℎ23 1 𝑋12 𝑋22 𝛾 ℎ31 𝛾 ℎ32
1 𝑋11 𝑋21
1 𝑋12 𝑋22
𝛾 ℎ33 1 𝑋13 𝑋23 1
𝑋13 𝑋23
0 0 0
0 0 0
0 0 0
𝑊1 𝑊2 𝑊3 𝜆 𝛼1 𝛼2
= 𝛾 ℎ1𝑝 𝛾 ℎ1𝑝 𝛾 ℎ1𝑝 1 𝑋1𝑝 𝑋2𝑝
……..(4)
public Kriging() {this.listData = new
LinkedList<DataKriging>();}
public void setData(double lat, double lon, double value) {
isMatrixSetted = false;
listData.add(new
DataKriging(lat,lon,value));
}
public void setMatrix() { isMatrixSetted = true;
numObserver = listData.size();
location = new
double[numObserver][2];
extract();
alpha = buildMatrixAlpha();
}
private Matrix buildMatrixAlpha() {
numMatrixAlpha = numObserver + 1;
matrixAlpha = new
double[numMatrixAlpha][numMatrixAl pha];
for(int i=0; i<numObserver;
i++)
for(int j=0; j<numObserver;
j++)
matrixAlpha[i][j] = setDistance(location[i][0], location[i][1],
location[j][0], location[j][1]);
for(int i=0; i<numObserver;
i++)
matrixAlpha[i][numObserver]
=
matrixAlpha[numObserver][i] = 1.0;
alpha = new Matrix(matrixAlpha);
return (alpha);
}
private Matrix buildMatrixBeta() {
int i;
matrixBeta = new
double[numObserver+1][1];
for(i=0; i<numObserver; i++) matrixBeta[i][0] =
setDistance(location[i][0],
location[i][1],xP,yP);
matrixBeta[i][0] = 1.0;
return (new Matrix(matrixBeta));
}
private double setDistance(double x0, double y0, double x, double y) {
double temp = Math.pow(x0-x,2)+
Math.pow(y0-y,2);
return Math.sqrt(temp)*weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
/* menampung lokasi observasi dlm array*/
private void extract() {
int i = 0;
for(DataKriging memo : listData) { location[i][0] =
memo.getXLocation();
location[i][1] = memo.getYLocation();
i++;
Farhamsa, D.,Implementasi Universal Kriging……..
91
} }
/*operasi nilai dr lokasi tak observasi*/
public double getValue(double xP, double yP){
if(!isMatrixSetted) setMatrix();
int i = 0;
double krigValue = 0,obvValue;
this.xP = xP;
this.yP = yP;
double[] paramKriging =
matrix.gaussElimination(alpha, buildMatrixBeta());
for(DataKriging memo : listData) { obvValue = memo.getValue();
krigValue +=
paramKriging[i]*obvValue;
i++;
}
return krigValue;
} }
Visualisasi 3 Dimensi
Visualisasi tiga dimensi adalah salah satu cara yang populer untuk mengilustrasikan topografi kepada masyarakat umum. Medan topografi digambarkan dalam bentuk relief sehingga sangat baik untuk mendukung imaginasi manusia. Hal ini dapat membantu pemahaman tentang topografi lebih baik dari pemetaan dua- dimensi biasa.
Tradisional pemodelan relief dulunya berupa kerajinan tangan yang berbiaya tinggi, namun saat ini kebanyakan visualisasi medan tiga- dimensi hanya berupa model virtual.
Semenjak perangkat keras komputer berteknologi tinggi tersedia untuk komputer pribadi, aplikasi visualisasi tiga-dimensi juga meningkat pada aktivitas perorangan atau perusahaan kecil.
Satu contoh aplikasi yang digunakan secara luas adalah Google Earth Software (Google,2005). Semenjak Google meluncurkan aplikasi Google Earth, publik secara luas menyambut representasi tiga-dimensi dari data geografis. Data ini tidak hanya disediakan untuk bisnis saja, tetapi tersedia juga untuk personal. Hanya beberapa tahun setelah peluncuran pertama, banyak aplikasi muncul dengan basis Google Earth. Saat ini Google Earth sudah memiliki banyak pengguna yang sudah familiar dengan navigasi explorasi diatas permukaan bumi virtual dan kebanyakan dari mereka tidak ingin kehilangan tool ini sama sekali.
Alternatif aplikasi interaktif peta bumi tiga dimensi adalah aplikasi open source World Wind, yang dikembangkan oleh staff NASA dan komunitas pengembang (WorldWInd, 2008). NASA memperkenalkan aplikasi desktop siap
install pertama World Wind dipertengahan 2004. Versi terakhir 1.4 diluncurkan pada February 2007.
Aplikasi desktop ini bisa disamakan dengan software Google Earth, namun lebih fokus pada tujuan pendidikan.
NASA mengisi data image World Wind dengan satelit Blue Marble da Lansat 7, model elevasi SRTM, nama kota, batas negara dan sebagainya. Selain mengisi data, pengguna dapat mengimpor data sendir dan, sebagai aplikasi open source, membuat kode add-on sebagai fungsi tambahan yg diperlukan.
Aplikasi desktop World Wind
dikembangkan menggunakan
Framework Microsoft .NET. Framework ini adalah bagian dari operasi sisten Microsoft Windows dan oleh karena itu aplikasi desktop Word Wind hanya bisa
dijalankan pada Windows
(WorldWindCentral,2008). Karena kenyataannya aplikasi ini bukan cross platform (tidak bisa berpindah ke operasi sistem lain), staf NASA kemudian mulai mengembangkan World Wind menggunakan Java, yang cross platform, dan meluncurkan open Java software development kit (SDK). Tidak seperti aplikasi yang siap guna (installable), standar development kid adalah sebuah library, yang mana membolehkan para pengembang perangkat lunak untuk membuat aplikasi sendiri menggunakan
library ini. Dengan peluncuran awal World Wind Java SDK, disingkat WWJ, pengembang dapat memasukan peta bumi virtual kedalam aplikasi Java dan menjalankannya kesembarang platform.
Meskipun, NASA tidak berencana membuat aplikasi desktop World Wind Java ini seperti software .NET yang dijelaskan diatas, namun tetap melanjutkan dan mengembangkan SDK dalam library [2]Dengan peluncuran awal World Wind Java SDK, disingkat WWJ, pengembang dapat memasukan peta bumi virtual kedalam aplikasi Java dan menjalankannya kesembarang platform.
Meskipun, NASA tidak berencana membuat aplikasi desktop World Wind Java ini seperti software .NET yang dijelaskan diatas, namun tetap melanjutkan dan mengembangkan SDK dalam library [2]. Gambar 2. Menunjukkan gambaran ketergantungan library dan dukungan format pada prototype [7]
Gambar 1. Gambaran ketergantungan library dan dukungan format pada prototype [7]
Farhamsa, D.,Implementasi Universal Kriging……..
93
Visualisasi Topografi 3D dan Layer Kontur Hasil Kriging
Data penelitian menggunakan lokasi kota Palu Barat, Sulawesi Tengah, tepatnya disektor lat -0.942°LS, lon 119.817°BT hingga lat -0.902°LS lon 119.855°BT. Sektor yang diambil mewakili daerah landai dibagian timur dan pegunungan dibagian barat. Seperti nampak pada gambar.2 layer diletakkan diatas permukaan bumi virtual (overlay) mengikuti topografi bumi. Gambar.2 adalah visualisasi layer kontur topografi sebenarnya dengan grid 500x500 seluas 13,4 km2.
Gambar 3. Layer topografi sebenarnya
Ukuran keakuratan atau korelasi kontur hasil kriging diambil dari rasio jumlah
selisih kuadrat antara hasil interpolasi data dengan topografi sebenarnya terhadap rata-rata ketinggiannya [6].
𝐾𝑜𝑟𝑒𝑙𝑎𝑠𝑖 𝑅𝑆𝑞𝑢𝑎𝑟𝑒 = 𝑤𝑖 𝑦 − 𝑦𝑖 𝑖 2 𝑤𝑖 𝑦𝑖 − 𝑦 𝑖 2
𝑛
𝑖=1
Gambar 3 memperlihatkan kontur hasil interpolasi data dengan jumlah data pengukuran 4 , 9, 25 dan 50 titik dengan nilai korelasinya. Walaupun besar rasio antar korelasi terhadap jumlah titik pengukuran tergantung pada ketepatan pengambilan lokasi pengukuran, dalam penelitian ini lokasi yang digunakan adalah data yang menghasilkan rasio paling efesien.
Gambar 4. Layer hasil interpolasi data menggunakan metode kriging dengan berbagai jumlah titik data pengukuran
ketinggian permukaan tanah.
Gambar 5. Grafik hubungan jumlah titik data pengukuran terhadap korelasinya
dengan topografi sebenarnya
KESIMPULAN
Penelitian ini berhasil membuat layer kontur interpolasi data diatas permukaan bumi virtual menggunakan metode krigging dalam visualisasi 3- Dimensi sehingga dapat memberikan informasi topografi yang lebih baik kepada user. Keakuratan analisis dalam penelitian ini menghasilkan korelasi terhadap topografi sebenarnya diatas 90% untuk jumlah data pengukuran minimal 7 titik.
DAFTAR PUSTAKA
[1]. _______, 1992, Numerical Recipes in C: The Art of Scientific Computing, Cambridge University Press.
[2]. Weber A, Heinimann A, Messerli P, Use of NASA World Wind Java SDK for Tree Dimensional Accessibility Visualization of
Remote Areas in Lao P.D.R, 6th ICA Mountain Cartography Workshop. USA
[3]. Davis.C.J, 1986, Statistics and Data Analysis in Geologi 2nd, John Willey & Son. Inc, Canada
[4]. Howison, Sam; Crighton (Deceased), C. G.; Ablowitz, M. J.;
Davis, S. H.; Hinch, E. J.; Iserles, A.; Ockendon, J.; Olver, P. J., 2005, Practical Applied Mathematics:
Modelling, Analysis, Approximation, Cambridge University Press.
[5]. Jacobson, 1993, Object Oriented Software Engineering, Addison Wesley, USA.
[6]. MathWork Group, 2007, MatlabR 7th Documentation- Data Analisys, Mathwork, Inc.
[7]. Telea A.C, van Overveld C.W.A.M, 2005, An Object-Oriented Interactive System for Scientific Simulations: Design and Applications. Eindhoven University of Technology, Department of Mathematics and Computing Science, The Netherlands.
Farhamsa, D.,Implementasi Universal Kriging……..