Danau-Danau di Kota Bandung

Saya baru lihat postingan Pak T.Bachtiar yang akan membahas mengenai Danau-danau yang Hilang di Bandung, hari Senin 2 November 2020, nanti. Topik ini menarik karena saya pernah mendigitasi Peta Kota Bandung tahun 1931, untuk bisa menampalkan danau-danau yang dulu ada, ke keadaan sekarang. Kita tahu bahwa hampir seluruh danau di Bandung itu telah diurug, dijadikan perumahan. Mungkin yang paling terkenal adalah Situ Aksan, yang letaknya di sekitar Jalan Aksan, dekat Jalan Jamika dan Jalan Sudirman. Kini Situ Aksan sudah hilang, berganti menjadi perumahan.

https://www.instagram.com/tbachtiargeo/

Tak perlu kita bahas lebih panjang mengenai sejarah, asal muasal, dan kondisi danau-danau ini sekarang, karena saya yakin akan dibahas dengan sangat renyah oleh Pak Bachtiar nanti. Yang akan saya bahas adalah mengenai hasil digitasi saya, serta hasil penampalan kepada kondisi sekarang. Seberapa banyak tubuh air yang hilang? Berapa luasannya?

Sumber peta yang digunakan adalah Peta Topografi Lembar Bandung Nord dan Bandung Zuid skala 1:25.000 yang diterbitkan oleh Dinas Perpetaan Hindia Belanda tahun 1931. Peta ini bisa didapatkan di https://digitalcollections.universiteitleiden.nl/ secara cuma-cuma.

Penting untuk saya sampaikan, bahwa cakupan peta ini tidak besar. Luas yang dicakup masing-masing peta sekitar 10×10 km. Pada lembar Bandung Zuid, batas selatannya adalah Dayeuhkolot, sementara pada lembar Bandung Nord, batas utaranya adalah Cihideung dan Ciumbeuleuit. Batas barat dari peta ini adalah di Cimindi, sementara batas timurnya adalah Kiara Condong. Total luas yang tercakup dalam kedua peta yang berjejer utara selatan ini sekitar 20×10 km, atau 200 km2.

Sebagai peta skala 1:25.000, informasi yang ada di dalam peta ini cukup lengkap dan detil. Dalam kaitannya dengan data danau-danau yang ada di Bandung ketika itu, kita bisa bedakan dengan jelas, yang mana tubuh air, sehingga bisa kita digitasi dengan mudah.

contoh Tubuh Air yang ada di sekitar Cihampelas. Sekarang sudah diurug menjadi Apartemen Jardin
Contoh lain tubuh air di Leuwipanjang ke arah selatan, kita bisa lihat ada sangat banyak tubuh air, dengan yang paling luas adalah Situ Tarate di selatan Cibaduyut.

Kedua peta ini kemudian akan kita georeferensi. Cara menggeoreferensinya sama dengan cara menggeoreferensi Peta Geologi yang pernah saya bahas di tulisan saya yang lalu:

Setelah kita cek, ternyata peta ini menampal dengan sempurna di atas peta topografi Openstreetmap yang kita punya. Selanjutnya adalah mendigitasi poligon-poligon danaunya.

Setelah kita plot, ternyata sangat banyak danau yang hilang. Saya akan tunjukkan beberapa lokasi yang familiar:

Di sekitar Sekeloa, dekat Rumah Sakit Gigi dan Mulut Unpad, kita lihat ada danau yang sekarang sudah hilang. Tak heran di sana ada danau, karena Seke berarti mata air. Maka besar kemungkinan, mata air itu begitu berlimpah hingga membentuk danau.
Situ Aksan di sekitar Pagarsih
Danau besar di antara Jalan Galot Subroto dengan Rel Kereta Api
Situ di sekitar Babakan Ciparay sekitar Jalan Caringin, antara Jalan Kopo dan Jalan Soekarno-Hatta

Serta banyak lagi tubuh air yang ada. Secara total, saya berhasil mendigitasi 73 tubuh air, dengan luas total 50.053 hektar. Sebagai perbandingan komplek Tegalega mulai dari Jalan Inggit Garnasih hingga ke BKR dan Jalan Otista hingga ke Jalan Moh Toha adalah sekitar 20 hektar. Maka luas danau di 2 lembar peta Bandung Nord dan Bandung Zuid pada tahun 1931 adalah 2.5 kali Komplek Tegalega.

Ada >15 danau yang memiliki luas lebih dari 1 hektar. Beberapa danau telah dinamai pada peta tersebut, antara lain Situ Aksan (2,57 ha), Situ Tarate (2,32 ha), Situ Hiang (1,84 ha), dan Situ Goenting (1,54 ha).

Danau paling besar berada di antara Jalan Gatot Subroto – Rel Kereta Api, yang kini sebagian ditempati oleh Trans Studio, luasnya mencapai 6,57 ha.

Danau-danau ini jika kita anggap memiliki kedalaman rata-rata 2 meter, maka seluruh tubuh air ini mampu menyimpan air sebanyak 1 juta meter kubik. Sebanyak itulah air yang harus kita carikan jalur parkirnya, jika kita mengurug seluruh danau, yang mana sudah kita lakukan sejak lama. Jumlah air sebanyak ini bisa mengisi 300 kolam standar olympic yang berukuran 50x25x3 m.

Keseluruhan peta ini kemudian saya buat dalam suatu webmap yang bisa diakses pada halaman berikut:

http://malikarrahiem.com/qgis2web/index.html#16/-6.9568/107.5947

Webmap ini juga bisa dibuka di website saya, di header > Peta.

Demikian, semoga tulisan ini bermanfaat dan menjadi suplemen dari presentasi bernas Pak Bachtiar, hari senin nanti.

Salam sehat

Menggeoreferensi Peta Van Bemmelen

R.W. van Bemmelen adalah geologist paling popular di Indonesia. Karya terutamanya, kitab the Geology of Indonesia adalah bacaan wajib seluruh mahasiswa geologi di Indonesia, sejak almarhum Katili, hingga sekarang. Selain buku ini, van Bemmelen juga aktif melakukan pemetaan. Salah satu karyanya adalah Peta Geologi Lembar Bandung skala 1:100.000 yang diterbitkan pada tahun 1934.

Sejak memahami tentang teknik menggeoreferensi, saya ingin mengetahui apakah saya bisa menggeoreferensi peta van Bemmelen ini, sehingga kita tahu bagaimana sebaran batuan menurut van Bemmelen pada kondisi yang sekarang. Tidak terlalu penting sebenarnya, tapi kalau bisa ya kenapa tidak.

Ok pertama kita akan mengunduh peta geologi Lembar Bandung tahun 1934. Kita bisa mengunduh data ini di website koleksi digital Universitas Leiden https://digitalcollections.universiteitleiden.nl/ gunakan kata kunci “Bandoeng” dan cari di bagian “Maps (KITLV) (under construction)“. Kalau sulit, bisa pakai tautan ini.

Di tautan tersebut, Anda akan dapat 11 peta geologi jadul, keluaran tahun 1930an. Kita akan pilih nomor D E 14,3 yang merupakan kode Peta Geologi Lembar Bandung. Di bagian bawah peta, terdapat ikon untuk menguduh. Bentuk ikonnya seperti kardus pipih dengan mata panah mengarah ke kardus tersebut. Letaknya di samping ikon rantai, di atas tulisan In Collections. Silakan mengunduh Original Master dengan ukuran file 121 MB.

Untuk menggeoreferensi, kita akan menggunakan piranti lunak QGIS 3.10.5. Jika tidak punya software ini, maka bisa mengunduh dan menginstalnya di komputer masing-masing. Dalam tulisan ini, saya berasumsi bahwa pembaca sudah paham prinsip dasar menggeoreferensi.

Hal pertama yang harus dilakukan sebelum menggeoreferensi adalah mengetahui sistem koordinat. Bagaimana caranya? Yaitu dengan melihat pojok-pojok peta. Pada Peta Geologi Lembar Bandung ini kita melihat terdapat sistem koordinat, terutama pada bagian pojok kiri bawah di mana terdapat informasi sebagai berikut:

Di dalam peta ini kita dapat melihat bahwa Van Bemmelen sudah meletakkan sistem koordinat. Informasi di atas berarti bahwa titik pojok kiri bawah pada peta ini berjarak 0 derajat 40 menit ke arah timur dari Meridian Batavia, dan 7 derajat ke arah selatan dari ekuator. Meridian dari Batavia sendiri didefinisikan berjarak 106 derajat 48 menit 27.8 detik ke arah timur dari Greenwich. Informasi ini sangat penting, karena akan kita bandingkan dengan informasi yang kita miliki di QGIS.

Sekarang kita akan membuka QGIS. Ketika kita membuka QGIS, di bagian pojok kanan bawah, terdapat tulisan EPSG:XXXX yang merupakan sistem koordinat projek kita. Kita bisa klik gambar globe di samping tulisan EPSG untuk tahu sistem koordinat apa saja yang tersedia.

Selanjutnya, karena kita akan menggeoreferensi peta lama Indonesia, maka kita gunakan kata kunci “Batavia”. Maka akan ditemukan beberapa sistem koordinat (lihat baris Predefined Coordinate Reference Systems), yaitu sistem koordinat geografis dan terproyeksi (Geographic Coordinate Systems dan Projected Coordinate Systems).

Karena data kita menggunakan sistem koordinat geografis, maka kita cari di bagian Geographic Coordinate Systems. Perhatikan bahwa ada dua sistem, yaitu EPSG:4211 dan EPSG:4813. Apa bedanya? Kita akan tinjau.

Perbedaannya adalah EPSG:4211 berprime-meridien di Greenwich, artinya titik nol garis bujur berada di Greenwich. Sementara EPSG:4813 berprime-meridien di Batavia, artinya titik nol garis bujur pada sistem koordinat ini berada di Batavia. Namun terdapat keterangan bahwa Jakarta(Batavia) berjarak 106.807719 derajat dari Greenwich. Angka ini jika diubah menjadi derajat menit detik akan sama dengan 106 derajat 48 menit 27.8 detik. Artinya sistem koordinat ini akan sesuai dengan peta kita. Berikut adalah informasi geografis dari sistem koordinat EPSG:4813:

GEOGCRS["Batavia (Jakarta)",
    DATUM["Batavia (Jakarta)",
        ELLIPSOID["Bessel 1841",6377397.155,299.1528128,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Jakarta",106.807719444444,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["unknown"],
        AREA["Indonesia - Bali, Java and western Sumatra onshore"],
        BBOX[-8.91,95.16,5.97,115.77]],
    ID["EPSG",4813]]

Oleh karena itu kita akan pilih sistem koordinat ini di peta kita.

Setelah itu kita akan masuk di bagian georeferensi.

Pada toolbar, klik Raster, kemudian pilih Georeferencer.

Di pojok kiri atas windows Georeferencer, pilih Open Raster. Pilih Raster yang ingin digeoreferensi. Dalam hal ini, raster yang sudah kita download, yaitu raster Peta Geologi Lembar Bandung. Hasilnya kurang lebih akan seperti gambar di bawah ini.

Di bawah tulisan settings, agak ke kanan sedikit, terdapat ikon berwarna kuning yang berbentuk seperti gerigi, yaitu ikon Transformation Settings. Kita akan mengatur Transformation pada pengaturan ini.

Pada pengaturan ini, pilih tipe transformasi menjadi Helmert. Metode Resampel menjadi Nearest neightbour dan Target SRS menjadi Project CRS, yaitu EPSG:4813. Atur output raster, sisanya tinggalkan sebagaimana default.

Pilih empat titik di pojok kiri atas, kanan atas, kanan bawah, dan kiri bawah sebagai titik ikat. Pastikan bahwa Anda menggunakan bagian dalam dari frame sebagai lokasi koordinat. Sebagai contoh saya menggeoreferensi pojok kiri atas peta, maka saya mengisi X/East sebagai 0 dan 40, artinya 0 derajat dan 40 menit. QGIS secara otomatis membacanya demikian. Sementara pada Y/North Anda akan mengisikan sebagai -6 dan 40 karena kita berada di selatan ekuator. Lakukan hal yang sama untuk sudut-sudut peta lainnya.

Setelah empat sudut terpilih sebagai GCP, maka kita bisa mulai menggeoreferensi dengan mengeklik ikon segitiga miring berwarna hijau, yang mirip dengan ikon play. Setelah itu kita bisa mengecek hasil georeferensi kita. Caranya dengan membuka file raster yang kita buat ke dalam QGIS.

Untuk mengecek apakah peta kita tergeoreferensi dengan benar, kita bisa bandingkan dengan peta OSM. Kita atur transparansi dari layer OSM untuk kita bandingkan bagaimana kedua layer ini. Saya pikir layer ini tergeoreferensi dengan baik sekali.

Kesesuaian peta OSM dengan peta hasil georeferensi. Perhatikan daerah Jalan Cagak di atas.
Di sekitar Ci Tarum terlihat ada sedikit distorsi. Tapi masih bisa ditoleransi.
Sangat memuaskan melihat bagaimana sungai-sungai berada di lokasi yang tepat. Gambar ini dioverlay dengan layer ESRI World Hillshade

Demikian tutorial singkat menggeoreferensi Peta Geologi Van Bemmelen tahun 1934.

Making 3D Maps of Sentinel-2 Imagery with Rayshader

I am inspired by Tyler Morgan-Wall tutorial on Rayshader with satellite imagery overlay published few days ago. I have been trying this for some times, but somehow I always fail. So when Tyler shares his code, I immediately follow and try it on my own.

The code is so elegant, one can simply follow and have their own beautiful rendered 3d images with satellite imagery overlies. I really suggest that you visit Tyler’s blog. There are plenty of amazing tutorials there.

In this post, I would like to add something that I believe is useful when anyone wants to create a 3d images with satellite imagery overlies with rayshader.

I add two things that a little bit different than Tyler’s step to create the images, which are: 1) download sentinel-2 images from Sentinel-Hub apps , and 2) download SRTM images from R . These two steps are crucial and can save some time and avoiding us to download a huge data of satellite images.

First we will download the images of Sentinel-2. The regions that I want to share is Karangetang Volcano in North Sulawesi, Indonesia. This volcano is interesting because it has been erupting for the past few years and we can see the trace of the eruption finely from Sentinel-2 images.

Sentinel-2 is a satellite program by European Space Agency. It has been acquiring images from the orbit since 2015 with spatial resolution of 10m. We can access Sentinel-2 images through this apps https://apps.sentinel-hub.com/eo-browser/ . You can register to it. It is a free and a very user-friendly apps.

User interface of the EO Browser

Above is the interface of EO Browser after you sign-in. On the left side is the menu for selecting the satellite, cloud coverage, and time range. You can select Sentinel-2 and pick L2A as this images is already processed. Set the cloud coverage to the lowest so you can get a free cloud image.

On the right side, there is a marker symbol. This is a pin to select point of interest. It also allows us to make an area of interest. So I make a rectangle. Afterward you can click “Search” and EO Browser will find you list of available data set.

After selecting an images, EO Browser will show you available image processing method, which can be used for many purpose. You can also develop your own custom script if you will. You can check for available script here: https://custom-scripts.sentinel-hub.com/ .

For our purpose, lets just do True Color image. You can download the image on the right side, just two symbol below the marker symbol, called “Download image”. Unlike Earth Explorer that force us to download all the data in bulk, EO Browser offers us the chance to download only the data we need, and we can crop it to the area we made earlier. You can select the Image format to Tiff 8 bit, image resolution high, and coordinate system to WGS84. Select layer True Color.

Afterward you can immediately download the file, and the size will not be huge (still in the order of tens of MB). Now we can call it in R.

 library(raster)
 library(sp)
 library(rayshader)
 library(elevatr)
 library(leaflet)  

 satellite_images <- raster::brick("Sentinel-2 L2A from 2019-09-22.tiff")
 plotRGB(satellite_images)

So our data consist of one tiff file. We call it using brick. To be honest I am not really sure the reason why raster::brick work, and raster::raster doesn’t. So just use raster::brick for this purpose.

Plot of sentinel-2 image

Second, we will create our Area of Interest. We will create a simple AoI, a rectangle with 4 edges. For that I make a function, so you just need to add xleft, ytop, xright, and ybot, or two coordinates of top left and bottom right edges.

AOI <- function(p, q, r, s) {
   xleft <- p
   ytop <- q
   xright <- r
   ybot <- s
   x_coord <- c(xleft,xleft,xright,xright)
   y_coord <- c(ytop,ybot, ybot, ytop)
   xym <- cbind(x_coord, y_coord)
   p <- Polygon(xym)
   ps = Polygons(list(p),1)
   sps = SpatialPolygons(list(ps))
   proj4string(sps) = CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")
   return(sps)
 }

You can call your AoI and then afterward check it on leaflet to see where it lies. If it is ok then you can continue to the next step. Also make sure that your Sentinel-2 images are completely within your study area.

mask <- AOI(xleft, ytop, xright, ybot)
leaflet(mask) %>% 
   addTiles() %>% 
   addPolygons() 

Afterward we will find our digital elevation model from SRTM using elevatr developed by Jeffrey Hollister from US EPA (https://github.com/jhollist/elevatr ). This packages allows us to download elev_point and elev_raster provided by USGS and USNOAA. The DEM needs to be projected so it the projection system will be the same as our satellite image. We can plot it on the map using leaflet package (https://rstudio.github.io/leaflet/ ).

 Elevation_File <- get_elev_raster(AOI1, z=11)
 projectRaster(Elevation_File, 
               crs= "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")

 leaflet(mask) %>% 
   addTiles() %>% 
   addPolygons() %>% 
   addRasterImage(Elevation_File)
Downloaded elevation raster and mask area

I cropped my file using crop function. I clipped it using AoI which I named “mask”. Afterward I plotted it.

elevation_mask <- crop(Elevation_File, mask)
 satellite_imagery_mask <- crop(satellite_imagery, mask)
 plot1 <- leaflet() %>% 
   addTiles() %>% 
   addRasterImage(elevation_mask, opacity =0.5)
 plot1
Cropped elevation raster

From here and after I just follow Tyler’s tutorial. So I make my data to be matrix. Satellite data has to be differentiate as r,g,b because that is how color has to be treated (color is combination of red, green, and blue bands).

Because it is too complicated for me to explain, so I will just quote Tyler Morgan-Wall himself for this section:

“Now we’ll crop our datasets to the same region, and create an 3-layer RGB array of the image intensities. This is what rayshader needs as input to drape over the elevation values. We also need to transpose the array, since rasters and arrays are oriented differently in R, because of course they are🙄. We do that with the aperm() function, which performs a multi-dimensional transpose. We’ll also convert our elevation data to a base R matrix, which is what rayshader expects for elevation data.”

Tyler Morgan-Wall
names(satellite_imagery_mask) = c("r","g","b")
 satellite_imagery_mask_r = rayshader::raster_to_matrix(satellite_imagery_mask$r)
 satellite_imagery_mask_g = rayshader::raster_to_matrix(satellite_imagery_mask$g)
 satellite_imagery_mask_b = rayshader::raster_to_matrix(satellite_imagery_mask$b)
 satellite_imagery_mask
 elevation_matrix = rayshader::raster_to_matrix(elevation_mask)
 elevation_mask
 sentinel_mask_array = array(0,dim=c(nrow(satellite_imagery_mask_r),ncol(satellite_imagery_mask_r),3))
 sentinel_mask_array[,,1] = satellite_imagery_mask_r/255 #Red layer
 sentinel_mask_array[,,2] = satellite_imagery_mask_g/255 #Blue layer
 sentinel_mask_array[,,3] = satellite_imagery_mask_b/255 #Green layer
 sentinel_mask_array = aperm(sentinel_mask_array, c(2,1,3))
 plot_3d(sentinel_mask_array, elevation_matrix, windowsize = c(1100,900), zscale = 30, shadowdepth = -50,
         zoom=0.5, phi=45,theta=-45,fov=70, background = "#F2E1D0", shadowcolor = "#523E2B")
 render_snapshot(title_text = "Karangetang Volcano, Indonesia | Imagery: Sentinel-2 | DEM: 30m SRTM",
                   title_bar_color = "#1f5214", title_color = "white", title_bar_alpha = 1)
Render_snapshot result of Karangetang Volcano, North Sulawesi, Indonesia
render_highquality result gives more dramatic effect

Voilla, a beautiful 3D image are made, easily. Thanks to amazing Rayshader package! In his tutorial, Tyler Morgan-Wall can make a gif, however it is not possible for me due to my laptop limitation. Rendering process is painful and unbearable for her. But you can try.

You can check the code of this work here.

Have fun with Rayshader!

Memvisualisasikan DEM Menggunakan Rayshader

Sudah lama saya gak menulis di blog saya, mungkin lebih 6 bulan sejak saya pulang dari Jerman, September lalu. Banyak yang dikerjakan di Indonesia, membuat saya gak sempat menulis. Jadi ingat dulu pernah ngobrol dengan Pak Erwin tentang rindu saat menganggur jadi bisa banyak menulis.

Di tulisan kali ini saya ingin berbagi tentang membuat visualisasi model elevasi digital menggunakan R, tepatnya menggunakan Rayshader. Bagi yang belum tahu apa itu Rayshader, saya sarankan mampir di https://www.rayshader.com/, atau di blognya pencipta Rayshader, Tyler Morgan, https://www.tylermw.com/posts/. Saya super salut sama developer R yang satu ini. Super duper jenius.

Rayshader bikinan Tyler ini membuat semua orang bisa bikin visualisasi model elevasi yang bagus, indah, eyecatchy. Contohnya misal gambar ini:

Visualisasi DEM Cekungan Bandung menggunakan Rayshader. Cekungan Bandung dilihat dari selatan ke utara. Gunung di tengah merupakan kaldera raksasa Gunung Sunda Purba.

yang mana bikinan saya. Gambar di atas adalah model 2.5D Cekungan Bandung yang saya bikin menggunakan Rayshader. Gambar ini diambil dari selatan, Gunung yang terlihat besar di belakang adalah Gunung Sunda Purba dengan kaldera raksasanya. Gunung Tangkuban Perahu terlihat sebagai puncak di sebelah kanan dengan lubang kawah di tengahnya, Gunung Burangrang di sebelah kiri tebing kaldera raksasa. Dataran di tengahnya adalah Dataran Cekungan Bandung, di mana lebih dari 8 juta orang hidup di atasnya.

Untuk membuat ini, saya cuma nulis sekitar 20 baris kode. Apakah Anda tertarik untuk bisa membuatnya juga?

Kalau misalkan tertarik untuk bikin gambar sejenis dari data DEM, bisa lanjutkan membaca, kalau nggak juga gak apa-apa. Akan ada sedikit bahasa-bahasa teknis R setelah paragraf ini.

Pertama Anda perlu R untuk membuat visualisasi ini. Jika Anda belum familiar dengan R, tenang ada super banyak tutorial dan kelas-kelas online yang bisa membantu Anda untuk mempelajari bahasa super yang bisa memudahkan pekerjaan ini.

Ada 5 tahap dalam tutorial ini:

  1. Membuat batas area of interest (AOI)
  2. Mendownload data DEM
  3. Memotong data DEM ke AOI
  4. Membuat visualisasi Rayshader
  5. Menyimpan data Render

Package yang digunakan dalam tutorial ini adalah: raster, sp, rayshader, dan elevatr. Kegunaan dari package ini akan saya jelaskan belakangan.

Membuat Area of Interest (AOI)

Ada beberapa cara untuk membuat AOI, bisa menggunakan shapefile yang sudah Anda punya, atau dengan membuat polygon biasa. Kali ini saya akan membuat dengan polygon biasa.

Saya membuat fungsi, namanya Fungsi AOI. Dengan fungsi ini kita cuma perlu masukkan nilai minimum dan maksimum longitude dan latitude. Urutannya searah jarum jam: kiri, atas, kanan, bawah, atau min long, max lat, max long, min lat.

Mendowload Data DEM

Setelah memasukkan AOI, kita ingin mendownload data DEM. Jika Anda punya data DEM sendiri, maka itu bisa dipakai. Tapi di tutorial ini saya memanfaatkan package Elevatr yang dikembangkan oleh Hollister dan Shah (2017). Package ini memungkinkan kita mengakses data DEM yang free, misal SRTM, 3DEP, GMTED2010, dan ETOPO1 data-data ini milik U.S. Geological Survey dan U.S. National Oceanic and Atmospheric Administration. Lembaga ini harus kita attribute kalau kita memanfaatkan data mereka.

Rumus mendownload data mudah saja, pakai fungsi get_elev_raster, masukkan AOI, dan z. Nilai z ini memengaruhi kualitas DEM yg kita download. Kalau z kecil, DEM kasar tapi size data kecil, berlaku sebaliknya. Saya pakai z=11. Selanjutnya saya pastikan projectionnya pakai longlat.

Memotong Data DEM ke AOI

Kode kita mendownload semua DEM yang AOI kita masuk di dalamnya. Sebagai contoh AOI saya ada di perbatasan 2 DEM, utara selatan. Jadi kepotong gitu. Setelahnya kita bisa potong DEM besar kita secukupnya di AOI, agar tidak terlalu besar dan berat.

Bermain dengan Rayshader

Barulah kita masuk ke Rayshader. Agak susah juga sebenarnya saya menjelaskan tentang Rayshader karena banyak hal teknisnya. Tapi ada beberapa input yang penting kita masukkan untuk membuat gambar kita jadi bagus:

  1. sunangle –> pilih berdasarkan arah mata angin (menggunakan derajat) ingin dari mana matahari datang
  2. texture –> ada imhof (favorit saya), desert, bw, dan unicorn. Imhof sendiri ada 4 jenis. Silakan cba sendiri.
  3. zscale –> menentukan exxageration, 1 exxageration tinggi, makin besar angkanya makin rendah.
  4. theta –> arah pengambilan gambar. 0 berarti gambar diambil dari selatan menghadap ke utara
  5. zoom –> perbesaran gambar, makin kecil angkanya makin zoom in
  6. phi –> sudut pengambilan gambar, 0 derajat searah horison, 90 derajat tegak lurus dari atas

Silakan bermain-main dengan pengaturan ini. Tapi saya sarankan betul untuk ikuti tutorialnya Tyler Morgan untuk lebih detil tentang setting Rayshader ini.

Berikut Script R untuk bikin Rayshader Cekungan Bandung

library(raster)
 library(sp)
 library(rayshader)
 library(elevatr)

#Fungsi untuk menentukan poligon Area of Interest
AOI <- function(p, q, r, s) {   
xleft <- p   
ytop <- q   
xright <- r   
ybot <- s   
x_coord <- c(xleft,xleft,xright,xright)   
y_coord <- c(ytop,ybot, ybot, ytop)   
xym <- cbind(x_coord, y_coord)   
p <- Polygon(xym)   
ps = Polygons(list(p),1)   
sps = SpatialPolygons(list(ps))   
proj4string(sps) = CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")   
return(sps) } 

mask <- AOI(107.4, -6.6, 107.9, -7.2) #Ubah koordinat di bagian ini jika ingin bikin di daerah lain

#Mendownload DEM menggunakan fungsi dari package Elevatr
Elevation_File <- get_elev_raster(mask, z=11) 

projectRaster(Elevation_File,               
crs= "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0") 

#Memotong DEM sesuai dengan AOI
localtif_mask <- crop(Elevation_File, mask) 

#Memulai Rayshader, buka tutorialnya Tyler Morgan kalau mau lebih jelas 
elmat2 <- matrix(raster::extract(localtif_mask,
raster::extent(localtif_mask),
buffer=1000),nrow=ncol(localtif_mask),
ncol=nrow(localtif_mask)) 

raymat2 <- ray_shade(elmat2) 
ambmat2 <- ambient_shade(elmat2) 

elmat2 %>%
   sphere_shade(sunangle = 225 ,texture = "imhof1") %>%
   add_water(detect_water(elmat2, min_area = 100), color="imhof1") %>%
   add_shadow(ray_shade(elmat2,zscale=3,maxsearch = 300),0.5) %>%
   add_shadow(ambmat2,0.5)%>%
   plot_3d(elmat2, zscale = 20, theta = 0, zoom = 0.3, 
           phi = 25, water = TRUE, windowsize = c(1366,768))
 render_snapshot("bandungbasin", clear = FALSE)

Jadi deh plot kita. Sama persis kaya yang di atas, sedikit digocek ke kiri saja. Sebenarnya dia bisa tampil sebagai window, interaktif, tapi saya gak tahu caranya mengembed di web kaya gimana. Jadi cukup kita tampilkan apa adanya saja.

Tampilan Rayshader

Yang baru dari tulisan ini sebenarnya adalah teknik mendownload DEM menggunakan Elevatr. Saya lihat tutorial dari Tyler dll masih menggunakan data pribadi. Mungkin karena di kampung mereka, data sudah canggih-canggih. Hi-resolution. Sementara kita ya bersyukur saja dengan SRTM yang ada. Alhamdulillah.

Silakan mencoba ganti koordinatnya dengan titik-titik yang Anda ingin buat visualisasinya! Tag saya di twitter @malikarrahiem jika sudah berhasil . Letsgoo!

Belajar Mineralogi Lewat Mineral Cup!

Ada banyak cara belajar mineral. Kita bisa lihat dan baca buku Rock and Mineral, kita bisa mampir ke museum geologi, kita bisa nonton Youtube, kita bisa pergi ke lapangan dan mengeksplorasi sendiri. Tapi cara yang satu ini saya kira jenius dan super seru, lewat Twitter dan lewat kompetisi. Mineral Cup namanya.

Hah? Gimana-gimana?

Mineral Cup adalah kompetisi voting mineral terfavorit yang diadakan di Twitter. Pencetusnya adalah Dr. Eddie Dempsey dari Uni Hull @tectonictweets. Jadi idenya adalah Dr. Dempsey membuat bagan turnamen yang isinya 32 mineral. Setiap hari 2 mineral ditandingkan, dan divoting. Para geologist, mineralogist, dan semua yang senang mineral ngetweet tentang mineral jagoannya. Isi twitnya adalah fakta-fakta tentang mineral jagoannya. Serunya orang-orang yang ngetwit ini banyak yang jago-jago mineralogi dan mereka memberi fakta-fakta baru yang belum kita tahu. (baca cerita tentang MinCup 2017 menurut Dr. Dempsey di sini)

Setiap hari ada mineral yang maju dan ada mineral yang tersingkir. Pendukung mineral-mineral makin rajin ngetwit dan mencantumkan tagar mineralnya, misal #TeamOlivine, #TeamTourmaline, dll. Ada juga yang mengetwit foto-foto mineral yang cantik-cantik; berbentuk sampel, sayatan tipis, singkapan, atau bahkan sudah jadi perhiasan.

Meskipun cuma lomba voting mineral terfavorit, MinCup ini seru banget. Idenya original. Hebatnya Mineral Cup adalah bahwa sesuatu yang awalnya seru-seruan, ternyata kemudian menjadi satu contoh konkrit komunikasi sains dan bagaimana suatu komunitas periset di seluruh dunia bersatu, saling berbagi pengetahuan. MinCup pertama tahun 2017 divoting lebih dari 17 ribu orang. MinCup kedua tahun 2018 divoting lebih banyak lagi, lebih dari 31 ribu orang.

Kehebatan lainnya adalah bahwa Mineral Cup bisa jadi bahan pembelajaran mahasiswa. Seorang dosen geologi @Geol_Greenhead membawa Mineral Cup ke kelasnya. Mahasiswa disuruh berdebat tentang mineral-mineral.

Mineral Cup sudah masuk tahun ke-tiga. Dimulai sejak tahun 2017, yang dijuarai oleh Olivine, dan tahun 2018 yang dijuarai oleh Garnet, yang kala itu bersaing hebat dengan penantang tak terduga, Ice.

Saya pertama ikut tahun lalu. Dan saya belajar banyaaaak banget tentang mineralogi dari Mineral Cup ini. Jadi saya gak sabar lagi mau ikut MinCup 2019, 1 September nanti.

Olivine – Pemenang #MinCup2017. Sketsa oleh Hazel Gibson @IamHazelGibson
Klasemen akhir Mineral Cup 2018. Source

Mineral Cup 2019 akan dimulai tanggal 1 September 2019 nanti. Kita bisa ikutan dengan mengikuti akun Twitter @MineralCup. Setiap hari kita ikut vote mineral mana yang harus lanjut, atau yang mana yang akan tersingkir. Kalau kita punya foto singkapan, sampel, atau sayatan tipis boleh banget ikutan ngepost di Twitter. Saya jamin banyak keseruan yang bisa didapat.

Di atas adalah bagan turnamen #MinCup2019. Jadi apa mineral jagoanmu? Kalau saya #TeamTourmaline

Liddicoatite Tourmaline – Mineralogy Museum Marburg

Source:
1. MinCup: Elevating humble minerals to new heights
2. #Mincup2017 – how Olivine became the greatest mineral of all (for one year at least)

Urun Daya dalam Sains

Salah satu masalah yang paling sulit diselesaikan oleh para saintis adalah kekurangan data. Masalah ini umumnya berasal dari kurangnya dana, ketiadaan alat, atau lokasi penelitian yang sulit dijangkau sehingga tidak memungkinkan kunjungan yang rutin.

Seringkali para peneliti berandai-andai, bila saja masyarakat lokal bisa membantu melaporkan temuan-temuan, atau perubahan-perubahan yang mungkin bermanfaat untuk penelitiannya. Namun tentu saja masyarakat juga punya kesibukan lain, sehingga enggan direpotkan oleh hal demikian. Kecuali misal mereka mendapat insentif. Yang mana kembali ke permasalahan pertama, yaitu ketiadaan dana.

Salah satu upaya yang kemudian dilakukan oleh para peneliti adalah melakukan Urun Daya atau crowdsourcing. Dalam istilah sains sebenarnya lebih dikenal sebagai Citizen Science, tapi entah kenapa saya lebih senang istilah Crowdsourcing Science. Bagi saya Citizen Science itu masyarakat sebagai pelaku risetnya, semacam peneliti amatir. Sementara Crowdsourcing Science itu masyarakat dengan sadar atau boleh jadi juga tidak sadar membantu peneliti mengambil data.

Dalam Urun Daya Sains, peneliti mengajak masyarakat untuk berpartisipasi dalam pengambilan data penelitian. Bedanya, masyarakat benar-benar berpartisipasi dengan kehendaknya sendiri. Peneliti hanya perlu memastikan metode pengambilan data yang tidak merepotkan, tapi datanya cukup baik untuk digunakan sebagai data penelitian.

Gambar di atas adalah satu contoh Urun Daya Sains yang diinisiasi oleh The National Trust dari Inggris. Mereka mengajak masyarakat untuk mengambil gambar dari anjungan yang telah disediakan, kemudian meminta pengambil gambar untuk mengunggah gambar mereka dengan tagar #NTshiftingshores di media sosial. Dengan adanya tagar, National Trust bisa mengakses gambar dengan mudah, memasukkannya ke dalam basis data, menganalisisnya dengan bantuan mesin (menggeoreferensi, dll), sehingga yayasan ini bisa mengetahui perubahan garis pantai.

Bayangkan misal dalam satu minggu kita dapat 10 gambar, maka dalam satu tahun kita punya 520 gambar, dan dalam 10 tahun kita punya lebih dari 5000 gambar. Cukup hanya dengan bermodalkan papan informasi seperti ini. Mungkin modal lainnya yang harus dikeluarkan adalah setiap tahun kita harus kunjungi, bersihkan, kemudian pasang suatu benchmark di pantai yang bisa kita gunakan untuk pembanding.

Crowdhydrology – Crowdsourcing data hidrologi
Salah satu projek urun daya sains lain yang saya suka adalah Crowdhydrology dari Amerika Serikat. Projek mereka adalah mengumpulkan data hidrologi di Amerika Serikat.

Yang mereka lakukan adalah mereka memasang tongkat pengukur ketinggian air dan di sekitarnya terdapat papan informasi yang berisi nomor stasiun dan kontak. Citizen scientist kemudian melihat dan mengirim sms ke nomor kontak. Data yang diberikan kemudian bisa diakses semua orang.

Tidak ada insentif apa-apa. Para kontributor data diberikan apresiasi setinggi-tingginya untuk bisa menyebut diri mereka sendiri sebagai citizen scientist karena mereka telah berkontribusi terhadap perkembangan sains.

Lokasi titik pengamatan CrowdHydrology di seluruh Amerika Serikat

GlobalXplorer – Urun Daya Bidang Arkeologi
Salah satu projek urun daya yang saya pernah ikuti adalah projek menarik dari Dr. Sarah Parcak, pemenang Ted Prize tahun 2016. Projeknya, GlobalXplorer, mengajak orang-orang untuk menganalisis data citra satelit untuk bisa melihat jejak arkeologi, misal bentukan kanal purba, penggalian-penggalian, dll.

Projeknya Dr. Parcak ini keren banget. Dengan bantuan masyarakat yang mengidentifikasi secara visual, kemudian data identifikasi ini dikombinasikan dengan pemelajaran mesin machine learning, Dr. Parcak dan tim bisa mengidentifikasi potensi keberadaan 17 piramida, 3100 pemukiman, dan sekitar 1000 makam di Mesir.

GlobalXplorer ini didesain seperti permainan. Kita diberi medali, kemudian ada jalan ceritanya mengikuti kisah arkeologi. Misal cerita Suku Inca, Suku Maya, dan lain sebagainya. Keren!

Contoh petualangan di GlobalXplorer

Bagaimana di Indonesia?
Saya sudah terpikir banyak hal yang bisa kita kerjakan di Indonesia terkait hal ini. Bangsa kita sangat murah hati dalam media sosial. Mereka akan dengan senang hati membantu apabila ada penghargaan yang mereka terima, misal sebuah pengakuan akan kontribusi.

Misal di Stone Garden, Padalarang. Kita pasang satu papan seperti punya National Trust. Kita arahkan ke daerah yang ditambang. Jika kita lakukan cukup lama, misal 5 tahun atau 10 tahun, kita bisa dapat gambar timelapse perubahan bentang alam di sana.

Lainnya, misal di Karangsambung, lokasi primadona mahasiswa geologi Indonesia. Sebagai tempat yang terus dikunjungi, kita pasang beberapa titik pantau. Mahasiswa yang melihat papan informasi di titik pantau ini kemudian bisa melaporkan fotonya sehingga kita bisa memantau titik tersebut setiap tahun, misal di Kekar Kolom Diabas Gunung Parang yang terakhir saya ke sana sedang berpacu melawan linggis para penambang.

Lainnya lagi misal pasang satu titik di Jakarta sehingga kita bisa lihat perkembangan pertambahan gedung-gedung pencakar langit di ibukota. Dan lain sebagainya.

Kalau bisa jadi, wah mantap! Semoga sepulang ke Indonesia nanti ada waktu dan energi untuk kerjakan hal-hal ini. Insyaallah.

Contoh proyek Citizen Science dari NOOA Amerika Serikat

Memantau Kebocoran Minyak di Laut Jawa

Minyak bocor di Laut Jawa! Kasus ini diungkap oleh Direktur Hulu PT Pertamina Persero Dharmawan Samsu bahwa insiden ini telah terjadi sejak 2 minggu lalu, 12 Juli 2019 dini hari. Ketika itu muncul gelembung gas, yang menyebabkan operasi pengeboran berhenti dan tanggal 14 Juli Pertamina memutuskan evakuasi pegawai.

Pertamina pertama membuka rilis insiden ini pada tanggal 18 Juli dan mengatakan telah melakukan upaya maksimum untuk menghentikan kebocoran gas dan minyak.

Menurut rilis CNCB Indonesia, per tanggal 22 Juli, bocoran minyak telah meyebar hingga ke pantai di pesisir Karawang. Pertamina juga telah mengerahkan 27 kapal yang dilengkapi dengan oil boom dan dispersant ke sekitar anjungan dan titik-titik yang terindikasi terdapat tumpahan minyak di laut.

Yang menarik peristiwa kebocoran minyak ini bisa kita amati jelas dari citra satelit dengan teknik penginderaan jauh.

Dengan menggunakan citra satelit Sentinel 2 dari European Satelite Agency (ESA), kita bisa jelas perkirakan kebocorannya. Saya sebenarnya tidak tahu pasti di mana titik kebocoran dan titik anjungan. Jadi titik ini hanya dugaan, berdasarkan fakta-fakta visual yang jelas.

Dengan piranti lunak Sentinel Hub, Saya mengarahkan pencarian saya ke Laut Jawa di pesisir Karawang. Kemudian mengatur tanggal antara awal Juli hingga sekarang. Dari hasil ini, saya menduga-duga di mana titik anjungan berada. Hasilnya adalah titik dugaan kebocoran ini berada sekitar 10 kilometer arah utara dari Muara Cilamaya. Kemudian saya membuat gambar selang waktunya.

Perhatikan bagian tengah kanan gambar. Sebaran minyak mulai terlihat pada tanggal 14 Juli 2019, kemudian kita lihat banyak titik-titik yang kemungkinan besar adalah kapal-kapal pembersih minyak. Bagian pojok kiri bawah peta adalah pantai di Karawang.
Perbesaran gambar sebelumnya. Kita bisa amati lebih jelas kebocoran minyak dan upaya pembersihan minyak pada tanggal 24 Juli 2019.

Dengan menggunakan citra Sentinel 1 yang berbasis radar, kita bisa perkirakan luas penyebaran tumpahan minyak. Ini memungkinkan karena minyak memiliki respon berbeda terhadap gelombang radar dibandingkan air.

Citra Sentinel 1 Ground Range Detected mode IW tanggal 18 Juli 2019. Mohon maaf tidak ada skala.
Citra Sentinel 1 Ground Range Detected mode IW tanggal 30 Juli 2019. Skala tidak sama dengan gambar tanggal 18 Juli.
Timelapse sebelum kebocoran dan sesudah kebocoran. Perhatikan warna gelap yang merupakan refleksi dari minyak.

Di gambar kita bisa lihat minyak kemungkinan besar yang berwarna gelap, sementara air laut bertekstur kasar. Titik awal warna gelap berasal adalah sama dengan titik di gambar selang waktu sebelumnya. Titik-titik terang kemungkinan besar adalah kapal-kapal yang berseliweran membersihkan tumpahan minyak.

Dengan memanfaatkan citra satelit, kita bisa menghitung seberapa luas pelamparan minyak. Kita juga bisa menggunakan data ini untuk merencanakan strategi penanganan dampak sehingga upaya kita bisa maksimal.

Semoga tulisan ini mampu memberikan informasi yang mencerahkan. Tulisan ini tidak saya maksudkan untuk menyudutkan siapa-siapa. Hanya semata-mata keinginan untuk berbagi cara melihat bumi dari sudut pandang yang lain. Untuk itu, informasi ini mohon untuk tidak dikutip dan mari kita menunggu rilis resmi dari LAPAN sebagai pihak yang berkepentingan di bidang ini.

Saya mendoakan yang terbaik untuk segenap jajaran Pertamina dan kru yang bertugas. Semoga kejadian ini yang terakhir dan tidak terulang lagi.

Semoga penanganan kebocoran dan pembersihan laut terlaksana sebaik-baiknya.

Gambar terbaru dari Sentinel 2 tanggal 29 Juli 2019!

Memahami Urban Heat Island di Bandung Menggunakan Google Earth Engine

Hari Rabu nanti, 17 Juli 2019, kakak saya, Muhamad Riza Fakhlevi, akan mempresentasikan makalah kami yang berjudul “Analisis Fenomena Pulau Panas Perkotaan di Kota Bandung Menggunakan Google Earth Engine”. Makalah ini kami daftarkan ke Seminar Nasional Penginderaan Jauh 2019 (Sinasinderaja), yang akan diselenggarakan di Margo Hotel, Depok.

Saya pernah membahas mengenai apa yang kami tuliskan dalam makalah ini dalam tulisan Bandung Hareudang. Tulisan ini adalah kelanjutan dari tulisan tersebut, juga merupakan rangkuman dari apa yang akan kami presentasikan nanti di Depok.

Kenapa Harus Riset Urban Heat Island (UHI)?
UHI ini isu penting perkotaan. Menurut Bank Dunia 52% penduduk Indonesia tinggal di perkotaan. Tahun 2025, diperkirakan persentasenya akan meningkat hingga 68%. Kota sebagaimana yang kita tahu, suhunya lebih panas karena ketiadaan pepohonan. Selain itu dengan ancaman perubahan iklim, kota semakin terancam tidak mampu menanggulangi panas ekstrim, yang di beberapa tempat terbukti mematikan.

Di Eropa misal, pada tahun 2003 terjadi gelombang panas mematikan yang menewaskan hingga 70 ribu orang! (Jean Marie Robin dkk, 2008)

Oleh karena itu, penting bagi setiap kota untuk memahami karakteristik daerahnya. Penting untuk setiap kota memahami variasi spasial dan temporal suhu di daerahnya, sehingga bisa mengantisipasi segala macam kemungkinan.

Urban Heat Island di Bandung
Penelitian UHI di Bandung sudah sangat banyak. Misal penelitian dari Tursilowati (2005) yang menyatakan bahwa perubahan suhu di Bandung terjadi akibat perubahan peruntukan lahan. Penelitian lain misal dari Paramita dan Fukuda (2014) yang menyatakan bahwa terjadi perubahan panas yang signifikan di daerah urban di Bandung. Penelitian lain misal adalah makalah tesis dari Inu Kusuma Wardana dari ITC, Twente (2015) yang menggunakan data satelit untuk membandingkan suhu dan tutupan lahan di Kota Bandung sejak tahun 1994 hingga tahun 2014. Widya Ningrum dan Narulita (2018) menyatakan bahwa suhu rata-rata Kota Bandung meningkat sebesar 1,3 derajat Celcius antara tahun 2005-2016.

Dari sekian banyak penelitian ini, lantas apa yang berbeda dari makalah kami?

Kami mencoba cara baru mengolah data citra satelit. Biasanya untuk meneliti suhu permukaan, orang membandingkan citra satelit dari tahun-tahun tertentu. Misal satu gambar dari 2005, satu gambar dari 2010, kemudian satu gambar dari 2015, lalu dibuat perubahannya, kecenderungannya, dan lain sebagainya. Orang harus mengunduh citra satelit, kemudian menggunakan piranti lunak pengolah data citra satelit, seperti ArcGIS, Erdas, SNAP, QGIS, dll.

Cara ini tentu valid dan sudah mapan. Sudah sangat banyak penelitian suhu permukaan dilakukan dengan cara ini. Tapi cara ini punya kelemahan, yaitu tidak bisa menganalisis data yang sangat banyak, karena keterbatasan kemampuan komputer memproses data.

Apalagi di zaman sekarang, ketika data citra satelit semakin tinggi resolusi spasial dan resolusi temporalnya. Di zaman sekarang, di era Big Data yang semua serba cepat dan serba internet. Cara yang saya sebut di atas semakin tertinggal sehingga kita harus pindah ke cara baru, yaitu dengan memanfaatkan komputasi awan.

Apa itu komputasi awan?

Komputasi awan adalah sebuah teknik menggunakan jaringan internet untuk menyimpan, mengatur, dan memproses data, alih-alih menggunakan jaringan lokal atau komputer pribadi kita.

Di bidang inderaja, ada Google Earth Engine (GEE) yang memberikan layanan gratis pemanfaatan komputasi awan untuk mengolah data citra satelit. Komputasi awan ini sangat powerful. Komputer super google mampu mengolah data ratusan bahkan ribuan gigabyte dengan cepat. Kita hanya tinggal menulis naskah pemrograman yang berisikan perintah-perintah yang ingin dikerjakan, lalu komputer GEE akan melakukannya dan kita akan diberikan hasilnya.

Dengan menggunakan komputasi awan GEE, kami bisa menganalisis 125 citra satelit Landsat 8 di daerah Cekungan Bandung dari tahun 2013 hingga sekarang. Semuanya dilakukan dengan GEE.

Data dan Metodologi
Hebatnya GEE adalah berbasis kode. Para pengembang GEE atau mereka yang sudah mempublikasikan makalahnya tentang GEE, biasanya membagikan kode mereka. Karena kode ini dibagikan, orang bisa melihat dan mempelajari kode ini.

Kami mengadaptasi kode yang dikembangkan seorang peneliti dari Amerika bernama Anthony Cak. Ia melakukan penelitian Land Surface Temperature di Amazon. Kodenya ia bagikan di githubnya. Saya mengirim surel kepada Pak Cak ini untuk meminta izin menggunakan dan memodifikasi kodenya. Beliau mengizinkan.

Kode dari Cak, kami modifikasi dan kode ini bisa diakses pada tautan berikut. Di dalam kode ini terdapat banyak fungsi, misal fungsi menentukan area penelitian, fungsi menghitung nilai Normalized Difference Vegetation Index (NDVI), fungsi memilih jenis satelit, interval penelitian, filter awan, dll. Kode ini juga kami terjemahkan sebisa mungkin agar bisa dipahami oleh semua orang. Data-data dan kode kami simpan di dalam repositori yang bisa diakses semua orang di tautan berikut: https://github.com/malikarrahiem/urbanheatislandbandung.git

Hasil dan Diskusi
Tak banyak hal baru yang kami temukan dalam penelitian ini. Hampir semua hasil merupakan hal yang lumrah dipahami semua orang. Suhu di Bandung lebih panas daripada daerah di sekitarnya. Suhu di kota lebih panas daripada suhu di hutan kota, dan suhu di hutan kota lebih panas daripada suhu di hutan.

peta persebaran suhu permukaan tanah Kota Bandung tahun 2013-2018

Hal baru yang kami tunjukan adalah bahwa hal ini bisa diperoleh dengan waktu waktu singkat saja. Sekali klik Ctrl+Enter menggunakan Google Earth Engine. Hebatnya lagi data ini dapat dengan mudah dimodifikasi dan jika Anda berminat, Anda bisa praktikkan di mana saja di seluruh dunia.

Prasyaratnya tentu adalah kemampuan memahami cara bahasa pemrograman Java bekerja. Tapi sebenarnya itu juga bukan hal yang sulit karena sudah begitu banyak tutorial dan panduan tersedia.

Dengan menggunakan GEE, kami bisa memangkas waktu sangat banyak, tanpa perlu komputer yang hebat atau kapasitas harddisk yang besar. Kami tidak perlu mengunduh apa pun. Kami hanya perlu akses internet agar bisa mengakses Google Earth Engine dan voilaa, skrip kami berjalan seperti sihir.

Hal lain yang kami temukan adalah bagaimana pentingnya replikabilitas dari suatu penelitian ilmiah. Kami belajar dan mengulik bagaimana naskah Java Anthony Cak bekerja, bagaimana teori yang melandasinya, dan kami bisa membuat makalah ini dengan begitu mudahnya. Dan Anda pun pasti bisa. Kami sadar pentingnya keterbukaan data dan pentingnya memberi kemudahan orang mengakses dan mereplikasi penelitian kita. Ini mempercepat perkembangan sains dan akan memberi keuntungan bagi semua orang.

Big Data Remote Sensing dan Sustainable Development Goal
Melalui penelitian ini, kami ingin menunjukkan bahwa komputasi awan bisa merevolusi teknik pengolahan data citra satelit. Kita tidak lagi terbelenggu oleh kapasitas komputer. Kita bisa mengolah data yang begitu besar, asal kita tahu data kita mau diapakan dan kita mampu menerjemahkan keinginan kita itu ke dalam bahasa yang dimengerti oleh GEE, yaitu bahasa pemrograman Java.

Kita bisa membuat satu naskah yang sama, tapi misal untuk seluruh Indonesia. Kita bisa membuatnya untuk menganalisis data dengan interval panjang bertahun-tahun. Batasan kita hanyalah imajinasi. Ketika kita mampu berimajinasi cara mengolah data, maka kita bisa melakukannya. Kita hanya perlu berkreasi dan berinovasi.

Dalam dunia yang penuh tantangan dan kewajiban kita untuk mewujudkan Tujuan Pembangungan Berkelanjutan 2030, kita harus memanfaatkan segala fasilitas yang ada. Kita harus memanfaatkan big data inderaja yang luar biasa besar. Tapi kita begitu terbatas dalam memanfaatkan big data jika kita masih menggunakan cara-cara lama yang konvensional.

Kita perlu cara-cara baru. Kita perlu teknik-teknik mutakhir, dan makalah kami ini bertujuan untuk menunjukkan itu.

Semoga bermanfaat.

Salam

Silakan mampir di repositori makalah ini di:

https://github.com/malikarrahiem/urbanheatislandbandung.git

Apakah Tuna Netra Bisa Jadi Geolog?

Beberapa bulan lalu ada perdebatan seru di Twitter, tentang apakah seorang buta warna bisa berkuliah di jurusan geologi di Indonesia. Di kampus saya dulu, Insitut Teknologi Bandung, memang ada aturan ini. Bahwa salah satu pra-syarat masuk jurusan geologi adalah mampu menunjukkan surat bebas buta warna. Entah apakah sekarang masih ada atau tidak.

Sebelumnya saya tidak pernah benar-benar memikirkan hal ini, tapi saya kemudian sadar bahwa ini adalah aturan diskriminatif yang harus dihapuskan. Geologi adalah ilmu yang harus bisa dipelajari oleh siapa saja. Lebih umum lagi, pendidikan harus bisa diakses siapa pun, terlepas dari kondisi fisiknya. Jadi siapa saja bisa belajar apa saja yang dikehendakinya.

Apa hak kampus untuk melarang seorang buta warna belajar geologi? Apakah seorang buta warna tidak bisa menjadi geolog? Jika buta warna saja tidak bisa, apalagi tuna netra. Lalu muncul pertanyaan lain, apakah seorang tuna netra tidak bisa menjadi geolog?

Tuna netra jadi geolog? Jawabannya bisa!

Ini adalah cerita yang menjungkirbalikkan semua asumsi-asumsi keliru, yang membuktikan bahwa ketika kesempatannya ada, semua orang bisa, mampu, dan bahkan menjadi yang terbaik. Bahkan seorang tuna netra bisa menjadi nomor satu di dunia dalam bidangnya.

Ini cerita tentang Dr. Geerat Vermeij, seorang ahli moluska, profesor di bidang Paleobiologi di Universitas California Davis (UC Davis), Amerika Serikat. Ia bukanlah seorang buta warna. Ia adalah seorang tuna netra. Ia kehilangan pandangan sejak umurnya 3 tahun.

Profesor Vermeij membuktikan bahwa ketidakmampuan untuk melihat bukanlah hambatan untuk berkarya. Dalam puluhan tahun karirnya ia mempublikasikan lebih dari 200 publikasi, termasuk 5 buku. Publikasinya tersebar di jurnal ternama, Paleobiology, Science, American Naturalist, dll.

Contoh publikasi Vermeij

Buku terbarunya, Nature an Economic History, membahas mengenai ekonomi dan evolusi. Ia membandingkan antara prinsip dasar evolusi dengan prinsip dasar ekonomi, kemudian mengorelasikannya dengan tren sejarah kehidupan dan sejarah kemanusiaan.

Profesor Vermeij adalah seorang tuna netra. Tapi itu tak mencegah ia menjadi yang terbaik di bidangnya. Tahun 2001, ia dianugerahi Medali Daniel Giraud Elliot. Penghargaan ini diberikan oleh U.S. National Academy of Sciences bagi mereka yang memberikan dampak besar di bidang zoologi atau paleontologi.

Pada tahun 2017, ia dianugerahi Fellow Medalist dari Fellows of the California Academy of Sciences. Ini adalah penghargaan tertinggi di California untuk ilmuwan yang memberikan kontribusi ilmiah di bidang ilmu alam.

Kedua penghargaan prestisius ini tentu tidak diberikan karena Dr. Vermeij adalah seorang tuna netra. Kedua penghargaan ini diberikan karena karya-karya Vermeij memang eksepsional dan memberikan dampak yang luar biasa.

Tidak mudah tapi mungkin
Perjalanan Profesor Vermeij hingga di posisinya sekarang itu sama sekali tidak mudah. Tapi ia membuktikan bahwa ia bisa. Sejak kecil ia dibimbing oleh orang tuanya untuk menyukai ilmu pengetahuan. Pada umur 10 tahun, mereka pindah ke Amerika Serikat, dan Vermeij mulai tertarik pada kerang-kerangan. Ia mulai mengoleksi kerang. Orang tua dan saudara-saudaranya sangat senang dan antusias dengan kegemarannya. Mereka membacakan, mentranskrip, dan mendiktekan setiap buku ilmu pengetahuan yang mereka bisa dapat.

Sejak kecil, ia selalu mendapat dukungan yang ia perlukan. Semua guru-gurunya menerima dengan hangat dan mendengarkan dengan antusias ketika Vermeij muda menceritakan keinginannya untuk menjadi ahli kerang atau biologi. Bidang yang sama sekali visual. Tak pernah sekalipun mereka menyatakan bahwa bidang yang ingin ia geluti ini tidak cocok dengan kondisinya. Mungkin dalam hatinya mereka berpikir bahwa tuna netra janganlah belajar biologi karena itu akan merepotkan, tapi tak pernah sekalipun pikiran-pikiran itu mereka sampaikan.

Vermeij muda kemudian diterima masuk Universitas Princeton di jurusan Biologi dan Geologi. Profesor-profesornya di sana memberikan dukungan penuh.

Selepas dari Princeton, tahun 1971 Vermeij melanjutkan studi doktoral di Yale. Ketika ia diwawancara oleh kepala departemen, ia dites. Ia diberikan dua buah cangkang dan ditanya apakah ia mengenali cangkang itu. Vermeij muda hanya tersenyum, karena dua cangkang itu sangat dikenalinya.

Kepala departemen sangat puas dengan kecerdasan Vermeij dan kemudian memberikan dukungan penuhnya. Vermeij mendapatkan beasiswa penuh dan juga diberikan dana untuk riset doktoralnya. Posisi terakhirnya adalah profesor paleontologi di UC Davis, kampus ternama di Negara bagian California, Amerika Serikat.

Yang dilakukan Vermeij sama dengan yang dilakukan geolog-geolog lainnya. Ia pergi ke lapangan. Ia mengumpulkan sampel. Ia menganalisis sampel yang dikumpulkannya di laboratorium. Ia pergi ke museum, ke perpustakaan. Ia meneliti sampel yang ada. Ia mempelajari literatur yang tersedia.

Kegiatan lapangannya pun sama seperti geolog-geolog lainnya. Ia meneliti terumbu karang. Ia berbasah-basahan di rawa mangrove, di rawa berlumpur, di pantai, di gurun, hutan hujan, di kapal, di stasiun pengamatan, dan banyak tempat lainnya.

Apakah kebutaan menjadi halangan? Tidak. Sama sekali tidak.

Vermeij mendapat bantuan ketika ia bekerja. Ada orang yang memandunya. Tapi apakah ini kemewahannya sebagai seorang peneliti yang tuna netra? Tidak juga. Penulis sendiri ketika dulu bekerja selalu ditemani oleh asisten. Franz Junghuhn di tahun 1830an ketika meneliti di Indonesia, konon ditemani lebih dari 20 asisten.

Bagi Vermeij, kebutaan bukanlah hal yang menghalangi ia untuk bekerja sama seperti peneliti lainnya. Bahkan menurut dia, tak ada hal dalam pekerjaannya yang membuat seorang tuna netra lain tak bisa melakukan apa yang dia lakukan. Ketika di lapangan, ia pernah disengat lebah, dicapit kepiting, terpeleset di batu, terkena batu tajam, dan banyak hal lainnya. Baginya, baik tuna netra, maupun mereka yang bisa melihat mempunyai risiko yang sama saja.

Pesan Vermeij
Pengalaman Vermeij bertahun-tahun sebagai ahli kerang bisa menjadi contoh bagi kita semua bahwa ketika kesempatannya ada, maka tuna netra bisa menjadi yang terbaik di bidangnya. Bahkan lebih baik dari mereka yang bisa melihat. Bahkan di bidang yang sangat visual seperti biologi, dan juga geologi.

Menurut Vermeij, pendidikan umum selama ini harus direformasi. Terlalu lama pendidikan memperlakukan tuna netra dengan tidak adil. Selama ini tuna netra selalu diarahkan menuju ilmu sosial atau jurusan-jurusan yang “aman”, jauh dari laboratorium atau jurusan yang berkegiatan di lapangan. Ini tidak adil, katanya. Kunci dari semua ini adalah kesetaraan, dan kunci kesetaraan adalah kesempatan dan respek. Selama kesempatannya tidak sama, maka tidak akan pernah ada kesetaraan.

Lantas bagaimana?
Bagi saya, yang utama adalah mendukung kesetaraan. Setiap orang harus dapat kesempatan yang sama. Sekarang bagaimana bisa semua orang dapat kesempatan yang sama jika aturan dasar masuk sekolah saja sudah sangat diskriminatif?

Maka ayolah kita sudahi perdebatan-perdebatan tidak perlu perihal penerimaan mahasiswa jurusan geologi atau jurusan lain harus begini begitu, yang aturannya malah diskriminatif dan memberatkan orang lain. Cukuplah persyaratan akademik yang menjadi batas.

Kampus janganlah mendiskriminasi orang dari kondisi fisiknya. Beri kesempatan untuk semua orang. Siapa yang tahu kalau jenius paleontologi moluska itu seorang tuna netra? Apakah ini mungkin terjadi jika dulu Princeton dan Yale menolak mahasiswa tuna netra di kampusnya?

Menurut Yayasan Mitra Netra, ada sekitar 3,5 juta orang tuna netra di Indonesia. Ini termasuk mereka yang parsial dan total. Sudah berapa banyak orang kita rebut haknya untuk belajar dengan aturan-aturan yang membelenggu itu? Bagaimana jika ada orang-orang jenius seperti Vermeij yang kita lupakan. Betapa meruginya dunia sains Indonesia.

Ketika masuk hal teknis, misal seorang tuna netra terdaftar di jurusan geologi yang banyak kegiatan lapangan. Mungkin kampus dapat meminta mahasiswa untuk menyanggupi menyediakan pemandu yang bisa mendampingi. Jangan mahasiswa ditolak ketika ia punya keinginan kuat dan kemampuan untuk mewujudkan keinginannya. Atau kita tidak akan pernah punya Vermeij-Vermeij lain di Indonesia. Yang bisa mewakili kaumnya, yang bisa menjadi inspirasi kelompoknya. Yang bisa menjadi bukti bahwa kesempatan bisa mewujudkan kesetaraan. Yang bisa menjadi bukti bahwa setiap orang, tak peduli kondisi fisiknya, bisa menjadi yang terbaik di bidang apapun.

Sumber:
https://nfb.org/images/nfb/publications/books/kernel1/kern0610.htm

Tuna netra hebat lainnya: Rumphius.

Image result for rumphius
Rumphius, salah satu botanist ternama yang meneliti Indonesia di tahun 1600an. Karyanya Herbarium Amboinense, adalah katalog tanaman di Maluku. Rumphius menulis bukunya dalam keadaan buta.

Tutorial Membuat GIF Citra Satelit dengan Sentinel-Hub

Adakah yang tertarik bikin GIF kaya gini? Silakan baca lanjutan tulisan saya ini. Saya mau berbagi cara bikin GIF citra satelit.

Perkembangan pengolahan data citra satelit itu luar biasa cepat. Sekarang di zaman 4.0 di mana semua terkoneksi jaringan internet cepat, sudah gak zaman lagi mengolah di komputer sendiri. Data citra satelit yang luar biasa gede itu harus diolah di server dengan teknologi komputasi awan.

Di bidang inilah Amerika dan Eropa bersaing ketat. Google Earth Engine, milik Google sudah lama berjaya. Perusahaan ini mengumpulkan data citra satelit dan menyediakan komputer super mereka untuk algoritma pemrograman yang dibuat oleh pengguna.

Eropa tak mau kalah. ESA dengan Copernicusnya meluncurkan Sentinel-Hub, suatu layanan mengolah data citra satelit, terutama misi Sentinel agar bisa digunakan semua orang. Yang sekarang akan saya sedikit jelaskan bagaimana kita bisa pakai Sentinel-Hub ini untuk hal yang sederhana: membuat GIF.

Pertama buka laman Sentinel Hub https://apps.sentinel-hub.com/eo-browser/

Kurang lebih hasilnnya begini

Silakan mendaftar. Tenang jangan khawatir ini gratis.

Setelah daftar langsung masuk. Login.

Gambarnya sama tapi di bagian kiri atas akan ada nama kita sebagai pengguna.

Langsung tekan huruf i di pojok kanan atas untuk tahu fitur-fitur apa saja yang tersedia dalam layanan ini.

Di panel sebelah kiri kita bisa lihat jenis-jenis data apa yang bisa kita yang bisa kita pakai. Ada Sentinel-1 yang menyediakan data tanpa terpengaruh cuaca dan waktu. Bisa siang dan malam. Ada Sentinel 2 yang menyedikan gambar bumi beresolusi tinggi (satelit ini seperti memotret bumi dari kejauhan). Jenis satelit ini optikal, jadi sangat terpengaruh oleh awan dan cahaya.

Kemudian ada Sentinel-3 yang mirip Sentinel-2 tapi resolusi spasialnya lebih rendah, tapi waktu kunjungan ulangnya lebih rapat daripada Sentinel 2. Setiap 2 hari terdapat data Sentinel 3 yang baru.

Ada juga Sentinel 5P yang menyediakan data pengukuran atmosfir, iklim, ozon, radiasi UV, SO2, NO2, dll. Selain itu ada satelit lain seperti Landsat, Envisat, MODIS, Proba-V, dan GIBS yang gak akan saya bahas.

Di tutorial ini kita akan coba main dengan data Sentinel-2, tepatnya data Sentinel-2 L1C, silakan google sendiri bedanya apa. Kurang lebih Sentinel-2 L2A itu sudah dikoreksi, kalau Sentinel-2 L1C itu belum dikoreksi. Ketersediaannya lebih banyak sentinel-2 L1C, makanya kita akan pakai yang itu. Data Sentinel-2 ini tersedia sejak Juni 2015.

Kita akan bikin GIF letusan Gunung Krakatau seperti yang saya tampilkan di atas.

Di panel sebelah kanan, pilih gambar Mark Point of Interest, bentuknya mirip tanda seru yang ada bolong di tengahnya. Tandai satu titik di mana saja di sekitar Gunung Krakatau.

Selanjutnya centang hanya Sentinel-2 dan centang L1C. Lalu ganti cloud coverage ke misal 30%. Atur juga tanggal pencarian misal ke Juni 2015.

Klik search yang berwarna kuning di bawah. Hasilnya kurang lebih seperti ini:

Hasilnya kurang lebih seperti ini

Pilih gambar yang mana saja. Tapi usahakan yang cakupan awannya paling rendah. Saya pilih yang paling atas. Tertanggal 2019-06-27, cakupan awan 0.65%.

Hasilnya kurang lebih seperti ini

Silakan bermain visualisasi dengan memanfaatkan pilihan-pilihan yang sudah ada. Kita bisa ganti-ganti juga datasetnya ke L2A yang sudah dikoreksi atau L1C. Silakan coba-coba.

visualisasi True Color untuk menunjukkan bagaimana citra terlihat dengan mata normal
Visualisasi false color untuk menunjukkan fitur-fitur yang ingin dilihat. Misal kita ingin membedakan daerah berpohon dengan daerah tidak berpohon

Jika Anda senang dengan gambar yang Anda punya, bisa langsung disimpan dengan mengeklik di panel sebelah kanan kedua dari bawah. Judulnya download image.

Ada tiga pilihan, basic, analytical, atau high-res print. Saya biasa pilih analytical. Lalu pilih image format JPG kalau cuma untuk gambar biasa. Atau pilih TIFF untuk gambar bergeoreferensi. Pilih juga resolusi gambar, misal High Resolution.

Silakan unduh gambar yang Anda kehendaki.

Untuk membuat GIF, tekan tombol yang ada di bawah download image. Judulnya Create Timelapse Animation.

Pilih jangka waktu yang dikehendaki, dan limit cakupan awan. Misal Tsunami Krakatau terjadi sebelum tahun baru 2019, maka pilih gambar dari awal bulan November (konon sejak November pun Krakatau sudah batuk-batuk), dan pilih hingga akhir bulan Januari (2018-11-01 sampai 2019-01-31) dengan cakupan awan misal 100% (tidak disaring). Klik gambar kaca pembesar (search).

Cek bagian bawah yang ada tulisan Speed frames/s. Perhatikan ada 1/37 yang berarti ada 37 gambar tersedia. Kita bisa atur berapa gambar yang ditampilkan dalam gif setiap detiknya. Misal 2 frames/second. Play!

Di kumpulan gambar kita masih ada gambar-gambar yang seperti ini. Gambar-gambar yang tidak kita kehendaki karena tertutup awan harus kita saring. Caranya mudah. Di panel sebelah kiri, cukup matikan centang. Kemudian gambar tidak akan ditampilkan dalam GIF.

Saya hanya pakai 9 gambar dari 37 gambar yang tersedia. Hasilnya kemudian saya unduh dan saya tampilkan sebagai berikut

Perhatikan tanggal 29 Desember 2018, Gunung Krakatau mulai berubah morfologinya. Setelah tahun baru, kita bisa amati danau kawah baru yang terbentuk dengan warna kecoklatan di pantainya. Konon ini karena oksidasi material gunungapi yang baru terpapar atmosfer.

Demikian tutorial singkat menggunakan Sentinel-Hub dari saya. Semoga teman-teman yang membaca bisa mengaplikasikan dan bersedia berbagi apa yang teman-teman kerjakan.

Salam