Sumberdaya perikanan di Indonesia sangat berlimpah dan dapat dimanfaatkan salah satunya untuk budidaya laut. Budidaya laut perlu didukung data lokasi yang baik agar dalam melakukan budidaya lokasinya sesuai. penentuan lokasi dapat memanfaatkan data penginderaan jauh dan analisis spasial dengan Sistem Informasi Geografis.
Salah satu tool yang mempermudah pemodelan ini yaitu dengan menggunakan Google Earth Engine, dimana dengan menggunakan Google Earth Engine dapat melakukan pemrosesan langsung pada Google Earth Engine dengan area cukup luas tanpa perlu mendownload data.
Data
Data yang digunakan merupakan data yang sudah tersedia di Google Earth Engine yaitu
- Mosaik Landsat Landsat 8 Collection 1 Tier 1 TOA reflectance tahun 2015 – 2020 (USGS/Google)
- ETOPO1 is a 1 arc-minute global (NOAA) Amante, C (2009)
Lokasi
Lokasi yang akan dilakukan analisis kesesuaian budidaya ikan kerapu yaitu perairan Laut Jawa
Tahapan Pemrosesan
Langkah 1: Menambahkan Citra
langkah pertama yaitu menambahakan citra Landsat 8, dan Batimetri ETOPO, maka pada masuk ke code box seperti berikut:
Langkah 2: Menambahkan file SHP
Untuk mengimport file SHP dapat dilakukan pada bagian Assets kemudian klik NEW, pilih bagian shape files seperti gambar berikut
File SHP yang telah ditambahkan akan muncul di tab Assets, Untuk menambahkan file SHP tadi dapat diklik pada icon panah ke kanan atau import
Langkah 3: Memfilter citra
Citra yang akan digunakan perlu untuk difilter waktu perekaman sesuai keinginan disini saya menggunakan rata-rata nilai citra perekaman tahun 1 April 2015 sampai 1 April 2020 dan citra dengan tutupan awan yang sedikit, disini saya memfilter citra dengan tutupan awan 10% dengan dengan script sebagai berikut
var L8filter = L8.filterDate("2015-04-01","2020-04-01").filterMetadata("CLOUD_COVER","less_than",10).mean()
Langkah 4: Membuat masking
Masking disini digunakan untuk menghilangkan bagian yang tidak diperlukan dan menyisakan area penelitian. Masking disini terdiri dari 2 data yaitu masking untuk area kerja, disini menggunakan Polygon batas Laut Jawa dan masking untuk citra landsat yang didak tersedia atau tidak ada data.
//Masking dengan menggunakan polygon batas perairan
var datamask = ee.Image.constant(1).clip(batas).mask()
//Masking dengan data Landsat 8 untuk menghilangkan area yang tidak memiliki nilai dengan melihat salah satu nilai band
var datamask2 = L8filter.expression('b4>=0?1:0',{'b4':L8filter.select('B4')}).eq(1)
Melakukan zoom ke area kerja
zoom dapat dilakukan dengan set center dengan parameter longitude, latitude, dan nilai zoom seperti berikut
Map.setCenter(114,-5,6);
Langkah 5: Memasking citra
Citra Landsat 8 dan Batimetri dimasking dengan menggunakan data masking yang telah dibuat sebelumnya. Masking dilakukan dengan Code “updateMask()”. Masking disini dilakukan 2 kali, maka dengan cara mengulang code “updateMask()”. Nama band dapat diubah sesuai keinginan, misal untuk band batimetri dari data ETopo bernama ‘bedrock’ akan diubah menjadi nama ‘batimetri’ dengan menggunakan code “rename()”
//masking citra Landsat 8
var L8selection = L8filter.updateMask(datamask).updateMask(datamask2)
//masking batimetri
var batimetri = ETPO.select('bedrock').updateMask(datamask).updateMask(datamask2).rename('batimetri')
Langkah 6: Menghitung Klorofil-a
Ekstraksi Klorofil-a dengan menggunakan data Landsat 8 Band Merah, NIR, dan SWIR. Rumus ekstraksi Klorofil-a dengan algoritma yang dikembangkan oleh Nuriya et al. (2010)
Rumus dalam bentuk code dan hasilnya diberi nama ‘chlor_a’ sebagai berikut
var Chla = L8selection.expression(
'(0.2818*((Merah/(NIR+SWIR))**3.497))',{
//'((2.41*(NIR/Merah))+0.187)',{
'NIR':L8selection.select('B5'),
'SWIR':L8selection.select('B6'),
'Merah':L8selection.select('B4'),
'Hijau':L8selection.select('B3'),
}
).rename('chlor_a')
Langkah 7: Menghitung suhu permukaan laut
Ekstraksi suhu permukaan laut dengan menggunakan data Landsat 8 Band 10 dan 11. Rumus ekstrkasi suhu permukaan laut dengan algoritma Split window yang dikembangkan oleh Cahyono (2017)
Rumus dalam bentuk code dan hasilnya diberi nama ‘SPL’ sebagai berikut
var SPL1 = L8selection.expression(
'((BT10-273)+(2.946*((BT10-273)-(BT11-273)))-0.038)',{
'BT10':L8selection.select('B10'),
'BT11':L8selection.select('B11'),
}).rename('SPL')
Langkah 8: Menghitung muatan padatan tersuspensi
Ekstraksi muatan padatan tersuspensi dengan menggunakan data Landsat 8 Band 4. Rumus ekstrkasi muatan padatan tersuspensi dengan algoritma yang dikembangkan oleh Budhiman (2004)
Rumus dalam bentuk code dan hasilnya diberi nama ‘MPT’ sebagai berikut
var MPT = L8selection.expression('8.1429**(23.704*B4)',{
'B4':L8selection.select('B4')
}).rename('MPT')
Langkah 9: Melakukan pembobotan parameter
Pengharkatan
Melakukan pembobotan parameter yang telah dihitung sebelumnya dengan mengacu pada sebagian parameter dari Kangkan dkk. (2007). Tabel harkat setiap parameter sebagai berikut
Harkat | 5 | 3 | 1 |
---|---|---|---|
Batimetri (meter) | 15-25 | 5 – 15 atau 26 – 35 | <5 atau >35 |
Klorofil-a | >10 | 4 – 10 | <4 |
Suhu Permukaan laut (⁰C) | 28 – 30 | 25 – 27 atau 31 – 32 | <25 atau >32 |
Muatan Padatan Tersuspensi (mg/l) | <25 | 25 – 50 | >50 |
adapun rumus logika sebagai berikut:
|| ( atau )
&& ( dan )
A?B:C ( jika A maka B, jika tidak A maka C )
Adapun code untuk mengharkatkan nilai parameter dari hasil perhitungan sebelumnya, sebagai berikut:
//harkat batimetri
var harkatbati = batimetri.expression(
'batimetri>-5||batimetri<-35?1'+ //kedalama <5m atau >35mbobot 1
': batimetri<=-5&&batimetri>=-15||batimetri<=-26&&batimetri>=-35?3'+ //kedalaman 5-15m bobot 3
': batimetri<=-15&&batimetri>=-25?5'+ //kedalaman 15-25m bobot 5
': 0',
{'batimetri':batimetri.select('batimetri')}).rename('harkatbati')
//harkat klorofil-a
var harkatklorofil = Chla.expression(
'chla<4?1'+ //klorofil <4 bobot 1
': chla>=4&&chla<=10?3'+ //klorofil 4-10 bobot 3
': chla>10?5'+ //klorofil >10 bobot 5
': 0',
{'chla':Chla.select('chlor_a')}
).rename('harkatklorofil')
//harkat suhu permukaan laut
var harkatspl = SPL1.expression(
'spl<25&&spl>35?1'+ //suhu <25C atau >35c bobot 1
': spl>=25&&spl<=27||spl>=31&&spl<=32?3' + //suhu 25-27C atau 31-32C bobot 3
': spl>=28&&spl<=30?5'+ //suhu 28-30C bobot 5
': 0',
{'spl':SPL1.select('SPL')}
).rename('harkatspl')
//harkat muatan padatan tersuspensi
var harkatmpt = MPT.expression(
'mpt>50?1'+ //padatan tersuspensi >50mg/l bobot 1
': mpt>=26&&mpt<=50?3'+ //padatan tersuspensi 26-50mg/l bobot 3
': mpt<25?5'+ //padatan tersuspensi <25mg/l bobot 5
': 0', {'mpt':MPT.select('MPT')}
).rename('harkatmpt')
Pembobotan
Bobot setiap parameter mengacu pada Kangkan dkk. (2007) pada tabel berikut
Parameter | Bobot |
Batimetri (meter) | 3 |
Klorofil-a | 1 |
Suhu Permukaan laut (⁰C) | 2 |
Muatan Padatan Tersuspensi (mg/l) | 3 |
Pembobotan dilakukan dengan cara mengkalikan dan menambahkan setiap parameter. untuk mengalikan dengan code “multiply()” dan untuk menambahkan dengan code “add()”, hasil pembobotan ini diberi nama ‘bobot’. Code untuk pembobotan sebagai berikut
//pembobotan
var bobot = harkatbati.multiply(3).add(harkatklorofil.multiply(1)).add(harkatspl.multiply(2)).add(harkatmpt.multiply(3)).rename('bobot') //bobot batimetri x3, klorofil x1, suhu x2, padatan tersuspensi x3
Langkah 10: Pengkelasan
Hasil pembobotan perlu untuk dikelaskan agar lebih mudah untuk dibedakan. Pengelasan menjadi 4 kelas yaitu sangat sesuai, sesuai, cukup sesuai, dan sesuai dengan menggunakan interval pengelasan sama. Hasil pengkelasan ini akan memiliki nilai piksel 1 sampi dengan 4, dimana 1 berarti tidak sesuai dan 4 berarti sangat sesuai
Hasil pengelasan perlu dilakukan masking lagi untuk menghilangkan pixel dengan nilai yang tidak diinginkan dari hasil pengelasan karena saat menggunakan code logika, pada bagian masking yang sebelumnya akan berisi nilai sehingga perlu dihilangkan. Data masking menggunakan data yang telah dibuat sebelumnya.
//Mengkelaskan hasil pembobotan
var kesesuaian = bobot.expression(
'bobot<=11.25?1'+
': bobot<=22.5?2'+
': bobot<=33.75?3'+
': bobot<=45?4'+
': 0',{
'bobot':bobot.select('bobot')
}
).updateMask(datamask).updateMask(datamask2)
Langkah 11: Melakukan simbolisasi
Penentuan simbol warna dengan menggunakan code HEX warna yang dapat dicari dari katalog misalanya disini, dalam simbol perlu ditentukan nilai yang akan dimunculkan, berdasarkan hasil pengelasan sebelumnya menggunakan nilai 1 sampai 4 maka nilai minimum diisi 1 dan nilai maksimum diisi 4. Untuk pewarnaan diisikan sesuai urutan dari minimum ke maksimum. Urutan warna disini yaitu 1 dengan warna ff2a1f, 2 dengan warna ffbb23, 3 dengan warna e6ff1b, dan 4 dengan warna 19ff0a.
Setelah simbol dibuat maka peta dapat ditampilkan dengan menggunakan “Map.addLayer()” dengan variabel hasil pengelasan dan simbol seperti code berikut
//menentukan simbol warna
var simbol = {"min":1,"max":4,"palette":["ff2a1f","ffbb23","e6ff1b","19ff0a"]}
//menampilkan peta dengan menggunakan simbol
Map.addLayer(kesesuaian, simbol)
Langkah 12: Membuat Informasi Peta
Informasi peta ini terdiri dari Judul Peta dan Legenda. urutan script yang ditampilkan adalah script yang paling bawah akan ditampilkan di atas sehingga code legenda ditulis terlebih dahulu kemudian code untuk membuat judul peta dengan code sebagai berikut
//Membuat Legenda
//Menentukan Posisi Legenda
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});
//Membuat judul legenda
var legendTitle = ui.Label({
value: 'Kesesuaian',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});
legend.add(legendTitle);
// Membuat baris legenda yang berisi kotak warna dan nama kelas
var makeRow = function(color, name) {
// Membuat kotak simbol
var colorBox = ui.Label({
style: {
backgroundColor: '#' + color,
padding: '8px',
margin: '0 0 4px 0'
}
});
// Membuat nama kelas
var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});
// memposisikan simbol dan nama kelas
return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};
// Menentukan warna kelas
var palette =['19ff0a','e6ff1b','ffbb23', 'ff2a1f'];
// Menentukan nama kelas
var names = ['Sangat Sesuai','Sesuai','Cukup Sesuai','Tidak Sesuai'];
// Menambahkan warna dan nama kelas sesuai dengan urutan
for (var i = 0; i < 4; i++) {
legend.add(makeRow(palette[i], names[i]));
}
Map.add(legend);
//Membuat Judul Peta
//Menentukan posisi Judul Peta
var title = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});
//Membuat isi Judul Peta
var textTitle = ui.Label({
value: 'Kesesuaian Budidaya Ikan Kerapu',
style: {
fontWeight: 'bold',
fontSize: '20px',
margin: '0 0 4px 0',
padding: '0'
}
});
title.add(textTitle);
Map.add(title)
Peta Hasil Analisi Parametrik Kesesuaian Budidaya Ikan Kerapu dengan Google Earth Engine
Daftar Pustaka
- Amante, C. and B. W. Eakins, 2009. ETOPO1 1 Arc-Minute Global Relief Model: Procedures, Data Sources and Analysis. NOAA Technical Memorandum NESDIS NGDC-24, 19 pp
- Budhiman, S. 2014. Mapping TSM concentration form multisensory satellite images in turbid tropical coastal waters of Mahakam Delta-Indonesia. [tesis]. Netherlands (ND): International Institute for Geo-Information Sciebce and Earth Observasion
- Cahyono AB, Armono HD, Saptarini D. 2017. Estimation of sea surface temperature (SST) using split window methods for monitoring industrial activity in coastal area. Applied Mechanics and Materials.
- Kangkan AL, Hartoko A, Sumito. 2007. Studi penentuan lokasi untuk pengembangan budidaya laut berdasarkan parameter fisika, kimia, dan biologi di Teluk Kupang, Nusa Tenggara Timur. Jurnal Pasir Laut.
- Nuriya H, Hidayah Z, Nugraha WA. 2010. Pengukuran konsentrasi klorofil-a dengan pengolahan citra landsat ETM-7 daan uji laboratorium di Perairan Selat Madura bagian Barat. Jurnal Kelautan.
Halo untuk file shp nya boleh disharing?
Terima kasih
artikel yang bermanfaat jangan lupa untuk mampir juga ke blog kami, kami sedang mengadakan promo bonus new member depo 25 bonus 25
terimakasih sangat bermanfaat, jangan lupa untuk meramaiakan promo sedang kami adakan depo 25 bonus 25
artikel yang bermanfaat jangan lupa untuk mampir juga ke blog kami depo 25 bonus 25
Slot gacor 100 yang menyediakan Depo 25 Bonus 25 & Slot Bonus New Member 100% Depo 25 Bonus 25 To Rendah 3X 5X 7X 8X 10X 14X 18X, Situs Depo 25 Bonus 25 merupakan situs slot online terpercaya dan aman no 1 di indonesia yang bisa kamu mainkan sekarang dengan hanya melakukan Depo 25 Bonus 25 to kecil.
Terima kasih kepada situs ini atas promo depo 25 bonus 25 yang luar biasa. Saya merasa dihargai sebagai pemain.”
May I request that you elaborate on that? Your posts have been extremely helpful to me. Thank you!
What a stuff of un-ambiguity and preserveness of valuable familiarity about unpredicted feelings.
Thanks for ones marvelous posting! I really enjoyed reading
it, you can be a great author.I will remember to bookmark your blog and
may come back in the foreseeable future. I want to encourage you continue
your great writing, have a nice day!
Pretty great post. I simply stumbled upon your weblog and wished to mention that I have truly enjoyed browsing your blog posts.
In any case I’ll be subscribing on your rss feed and I’m
hoping you write once more very soon!
My partner and I stumbled over here from a different page and thought I may as
well check things out. I like what I see so now i’m following
you. Look forward to looking over your web page for a second time.
Best Private Proxies – 50 Price reduction + Absolutely free Proxies! Top-notch high quality, Limitless data transfer useage, 1000 mb/s superspeed, 99,9 uptime, Un sequent IP’s, Absolutely no utilising limitations, A variety of subnets, USA or perhaps Eu proxies – Shop for At this time – DreamProxies.com
It’s awesome in favor of me to have a web page, which is useful in support of my know-how.
thanks admin
Awsome article and straight to the point. I don’t
know if this is actually the best place to ask but do you guys have any thoughts on where to hire some professional
writers? Thanks in advance 🙂
I like this site very much, Its a very nice berth
to read and receive info..
This blog was… how do you say it? Relevant!! Finally I’ve found something which helped me. Thanks!
I really love your website.. Great colors & theme. Did you build this web site yourself? Please reply back as I’m planning to create my own blog and want to learn where you got this from or exactly what the theme is called. Thanks.
It’s hard to find well-informed people on this topic, but you seem like you know what you’re talking about! Thanks
Excellent site you have got here.. It’s hard to find good quality writing like yours nowadays. I seriously appreciate individuals like you! Take care!!
I’m amazed, I have to admit. Rarely do I come across a blog that’s equally educative and entertaining, and let me tell you, you have hit the nail on the head. The problem is something not enough men and women are speaking intelligently about. Now i’m very happy I came across this in my hunt for something regarding this.
Having read this I thought it was really enlightening. I appreciate you spending some time and energy to put this short article together. I once again find myself spending a lot of time both reading and commenting. But so what, it was still worthwhile!
A motivating discussion is worth comment. I think that you ought to write more about this subject, it may not be a taboo matter but generally people don’t speak about these subjects. To the next! Best wishes.
I quite like reading through an article that will make people think. Also, thank you for permitting me to comment.
Hello! I could have sworn I’ve visited this web site before but after browsing through some of the articles I realized it’s new to me. Anyways, I’m certainly happy I discovered it and I’ll be book-marking it and checking back often!
Hello! I could have sworn I’ve visited this website before but after looking at some of the articles I realized it’s new to me. Nonetheless, I’m certainly pleased I discovered it and I’ll be book-marking it and checking back frequently.
Excellent post! We will be linking to this particularly great content on our site. Keep up the good writing.
I really love your blog.. Very nice colors & theme. Did you build this site yourself? Please reply back as I’m wanting to create my own personal site and want to learn where you got this from or exactly what the theme is called. Many thanks!
I would like to thank you for the efforts you have put in penning this site. I am hoping to check out the same high-grade blog posts by you in the future as well. In fact, your creative writing abilities has motivated me to get my own site now 😉
I must thank you for the efforts you’ve put in writing this website. I really hope to view the same high-grade content from you later on as well. In fact, your creative writing abilities has inspired me to get my own site now 😉
Oh my goodness! Amazing article dude! Thank you, However I am having troubles with your RSS. I don’t know the reason why I can’t subscribe to it. Is there anyone else having similar RSS problems? Anybody who knows the solution will you kindly respond? Thanx.
This website truly has all the information I wanted concerning this subject and didn’t know who to ask.
Can I simply say what a comfort to discover somebody who truly understands what they are discussing on the web. You definitely understand how to bring a problem to light and make it important. A lot more people need to read this and understand this side of the story. I can’t believe you are not more popular given that you certainly possess the gift.
I was very pleased to discover this web site. I want to to thank you for your time due to this fantastic read!! I definitely really liked every little bit of it and I have you book-marked to look at new information on your website.
An intriguing discussion is worth comment. There’s no doubt that that you should publish more on this subject, it may not be a taboo subject but typically people do not talk about these issues. To the next! Best wishes.
Good answer back in return of this matter with genuine arguments and telling all on the topic of that.
Way cool! Some very valid points! I appreciate you writing this write-up and also the rest of the website is also really good.
Having read this I thought it was extremely informative. I appreciate you spending some time and effort to put this content together. I once again find myself personally spending a lot of time both reading and commenting. But so what, it was still worth it.
Way cool! Some extremely valid points! I appreciate you writing this article and also the rest of the site is also very good.
Your style is unique in comparison to other folks I have read stuff from. I appreciate you for posting when you’ve got the opportunity, Guess I will just book mark this web site.
Spot on with this write-up, I seriously feel this amazing site needs far more attention. I’ll probably be returning to read more, thanks for the info.
The next time I read a blog, Hopefully it won’t disappoint me just as much as this one. I mean, I know it was my choice to read, but I actually believed you’d have something interesting to say. All I hear is a bunch of whining about something that you can fix if you were not too busy looking for attention.
Greetings! Very helpful advice in this particular article! It is the little changes that produce the most significant changes. Thanks for sharing!
Having read this I thought it was very informative. I appreciate you spending some time and effort to put this content together. I once again find myself personally spending way too much time both reading and leaving comments. But so what, it was still worth it.
After I initially commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive 4 emails with the exact same comment. Is there a way you can remove me from that service? Many thanks.
Live Coin Watch Pretty! This has been a really wonderful post. Many thanks for providing these details.
I couldn’t refrain from commenting. Exceptionally well written!
Hello, Jack speaking. I’ve bookmarked your site and make it a habit to check in daily. The information is top-notch, and I appreciate your efforts.
Having read this I believed it was very enlightening. I appreciate you taking the time and effort to put this short article together. I once again find myself personally spending way too much time both reading and commenting. But so what, it was still worth it!
A fascinating discussion is worth comment. I think that you ought to publish more on this subject, it may not be a taboo subject but generally people do not discuss these topics. To the next! All the best!
Wonderful article! We will be linking to this particularly great post on our website. Keep up the great writing.
After I initially commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I recieve four emails with the exact same comment. Is there a way you can remove me from that service? Kudos.
I’m impressed, I have to admit. Seldom do I come across a blog that’s equally educative and interesting, and let me tell you, you have hit the nail on the head. The issue is something which not enough people are speaking intelligently about. Now i’m very happy I stumbled across this in my search for something relating to this.
allegheny county real estate I do not even understand how I ended up here, but I assumed this publish used to be great
I want to to thank you for this great read!! I absolutely loved every little bit of it. I have you book-marked to check out new things you post…
That is a great tip particularly to those fresh to the blogosphere. Simple but very accurate information… Thanks for sharing this one. A must read article.