const MONTHS = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"]; const MONTHS_SHORT = ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des"]; var map; var mapview; var cur_active_layer; var layer_pem; var layer_pea; var layer_titikstationmatahari; var source_pem; var source_pea; var source_titikstationmatahari; var legend_pem = [ ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,0", "0 - 1 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,1", "1 - 2 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,2", "2 - 3 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,3", "3 - 4 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,4", "4 - 5 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,5", "5 - 6 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,6", "6 - 7 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,7", "7 - 8 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,8", "8 - 9 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,9", "9 - 10 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,10", "10 - 11 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,11", "11 - 12 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,12", "12 - 13 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pem,13", "13 - 14 kwh/m2"] ]; var legend_pea = [ ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,0", "0 - 1 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,1", "1 - 2 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,2", "2 - 3 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,3", "3 - 4 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,4", "4 - 5 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,5", "5 - 6 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,6", "6 - 7 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,7", "7 - 8 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,8", "8 - 9 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,9", "9 - 10 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,10", "10 - 11 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,11", "11 - 12 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,12", "12 - 13 kwh/m2"], ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=pea,13", "13 - 14 kwh/m2"] ]; var legend_titikstationmatahari = [ ["", "https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg&mode=legendicon&icon=titikstationmatahari,0", "Titik Stasiun Pemantau Energi Matahari"], ]; var infodetails; $(function(){ infodetails = new ol.Overlay({ element: document.getElementById('infodetails'), autoPan: true, autoPanAnimation: { duration: 250, }, }); mapview = new ol.View({ center: ol.proj.fromLonLat([118.1661992, -2.2070457]), zoom: 5, constrainResolution: true }); //init ol map = new ol.Map({ target: 'mapcontainer', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: mapview, overlays: [infodetails], interactions: ol.interaction.defaults({mouseWheelZoom:false}) }); source_pem = new ol.source.ImageWMS({url: 'https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg'}); layer_pem = new ol.layer.Image({source:source_pem, visible:false, opacity:0.6}); map.addLayer(layer_pem); source_pea = new ol.source.ImageWMS({url: 'https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg'}); layer_pea = new ol.layer.Image({source:source_pea, visible:false, opacity:0.6}); map.addLayer(layer_pea); source_titikstationmatahari = new ol.source.ImageWMS({url: 'https://cews.bmkg.go.id/cgi-bin/mapserv?map=bmkg'}); layer_titikstationmatahari = new ol.layer.Image({source:source_titikstationmatahari, visible:false, opacity:0.6}); map.addLayer(layer_titikstationmatahari); //init layer switcher $(".layerswitcher .toggle").click(function(){ if($(this).parent().attr("state")=="opened"){ $(this).siblings(".content").hide(); $(this).children("button").children("i").removeClass("fa-times"); $(this).children("button").children("i").addClass("fa-layer-group"); $(this).parent().attr("state","closed"); }else{ $(this).siblings(".content").show(); $(this).children("button").children("i").removeClass("fa-layer-group"); $(this).children("button").children("i").addClass("fa-times"); $(this).parent().attr("state","opened"); } }); $(".layerswitcher .content input[name^='optlayer']").change(function(){ var date1 = $(this).siblings("select").children("option:selected").attr("date1") || $(this).attr("date1") || ""; var date2 = $(this).siblings("select").children("option:selected").attr("date2") || $(this).attr("date2") || ""; var num1 = $(this).siblings("select").children("option:selected").attr("num1") || $(this).attr("num1") || ""; var num2 = $(this).siblings("select").children("option:selected").attr("num2") || $(this).attr("num2") || ""; switchLayer({ layername:$(this).val(), date1:date1, date2:date2, num1:num1, num2:num2 }); }); $(".layerswitcher .content select").change(function(){ if($(this).siblings("input").is(":checked")){//hanya jika layer aktif var date1 = $(this).children("option:selected").attr("date1"); var date2 = $(this).children("option:selected").attr("date2"); var num1 = $(this).children("option:selected").attr("num1"); var num2 = $(this).children("option:selected").attr("num2"); switchLayer({ layername:$(this).siblings("input").val(), date1:date1, date2:date2, num1:num1, num2:num2 }); } }); //init default layer $(".layerswitcher .content input[value='hth']").prop('checked', true); switchLayer({ layername:"pem", date1:"2018-09-01" }); //init info details map.on('singleclick', function (e) { var viewResolution = mapview.getResolution(); switch(cur_active_layer){ case "pem": var url = source_pem.getFeatureInfoUrl(e.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'}); break; case "pea": var url = source_pea.getFeatureInfoUrl(e.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'}); break; case "titikstationmatahari": var url = source_titikstationmatahari.getFeatureInfoUrl(e.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'}); break; } if (url) { fetch(url).then(function (response) { if (!response.ok) { throw Error(response.statusText); } return response.text(); }).then(function (html) { if(html.trim()==""){ infodetails.setPosition(undefined); }else{ $("#infodetails-content").html(html); infodetails.setPosition(e.coordinate); } }).catch(function(e){ infodetails.setPosition(undefined); console.log("no data"); }); } }); //print out $("#mapprint").click(function(){ $("#mdlprintout").modal("show"); }); }); function switchLayer(obj){ var layername = obj.layername || ""; var date1 = obj.date1 || ""; var date2 = obj.date2 || ""; var num1 = obj.num1 || ""; var num2 = obj.num2 || ""; cur_active_layer = layername; var omonth1_m2 = MONTHS[(parseInt(date1.substring(5,7))-3) < 0?(parseInt(date1.substring(5,7))-3+12):(parseInt(date1.substring(5,7))-3)]; var omonth1_m1 = MONTHS[(parseInt(date1.substring(5,7))-2) < 0?(parseInt(date1.substring(5,7))-2+12):(parseInt(date1.substring(5,7))-2)]; var omonth1 = MONTHS[parseInt(date1.substring(5,7))-1]; var omonth1_p1 = MONTHS[(parseInt(date1.substring(5,7))) > 11?(parseInt(date1.substring(5,7))-12):(parseInt(date1.substring(5,7)))]; var omonth1_p2 = MONTHS[(parseInt(date1.substring(5,7))+1) > 11?(parseInt(date1.substring(5,7))+1-12):(parseInt(date1.substring(5,7))+1)]; var omonth1_short = MONTHS_SHORT[parseInt(date1.substring(5,7))-1]; var oyear1 = date1.substring(0,4); var omonth2_m2 = MONTHS[(parseInt(date2.substring(5,7))-3) < 0?(parseInt(date2.substring(5,7))-3+12):(parseInt(date2.substring(5,7))-3)]; var omonth2_m1 = MONTHS[(parseInt(date2.substring(5,7))-2) < 0?(parseInt(date2.substring(5,7))-2+12):(parseInt(date2.substring(5,7))-2)]; var omonth2 = MONTHS[parseInt(date2.substring(5,7))-1]; var omonth2_p1 = MONTHS[(parseInt(date2.substring(5,7))) > 11?(parseInt(date2.substring(5,7))-12):(parseInt(date2.substring(5,7)))]; var omonth2_p2 = MONTHS[(parseInt(date2.substring(5,7))+1) > 11?(parseInt(date2.substring(5,7))+1-12):(parseInt(date2.substring(5,7))+1)]; var oyear2 = date2.substring(0,4); layer_pem.setVisible(false); layer_titikstationmatahari.setVisible(false); layer_pea.setVisible(false); $("#mapprint").hide(); $("#maptitle").show(); switch(layername){ case "pem": layer_pem.getSource().updateParams({ 'LAYERS': 'pem,prov,kabkot', 'date': date1 }); layer_pem.setVisible(true); $("#maptitle").html("PETA SEBARAN POTENSI ENERGI MATAHARI
PERIODE 5 TAHUN"); break; case "pea": layer_pea.getSource().updateParams({ 'LAYERS': 'pea,prov,kabkot', 'date': date1 }); layer_pea.setVisible(true); $("#maptitle").html("PETA SEBARAN POTENSI ENERGI ANGIN
PERIODE 5 TAHUN"); break; case "titikstationmatahari": layer_titikstationmatahari.getSource().updateParams({ 'LAYERS': 'titikstationmatahari,prov,kabkot' }); layer_titikstationmatahari.setVisible(true); $("#maptitle").html("PETA SEBARAN TITIK STASIUN PEMANTAU
ENERGI MATAHARI"); break; } setLegend(layername, date1, date2, num1); infodetails.setPosition(undefined); } function setLegend(layername, date1, date2, num1){ var legendsetting; switch(layername){ case "pem": legendsetting = legend_pem; $("#mapannotation").html("Disclaimer: Data dari tahun 2011-2019"); $("#mapannotation").show(); break; case "pea": legendsetting = legend_pea; $("#mapannotation").html("Disclaimer: Data dari tahun 2011-2019"); $("#mapannotation").show(); break; case "titikstationmatahari": legendsetting = legend_titikstationmatahari; $("#mapannotation").hide(); break; } var html=""; for(var i=0;i"; } html+="
"+legendsetting[i][2]+"
"; $("#areacoverage").hide(); $("#maplegend tr").unbind(); $("#maplegend").html(html); if(layername!="titikstationmatahari"){ $("#maplegend tr").click(function(){ setAreaCoverage($(this).attr("layername"), $(this).attr("legendindex"), date1, date2, num1); }); } } function setAreaCoverage(layername, legendindex, date1, date2, num1){ $("#mapannotation").hide(); $("#areacoverage").show(); $("#areacoverage-content").html("Loading..."); $.post("areacoverage.php?req=getareacoverage", { layername:layername, legendindex:legendindex, date1:date1, date2:date2, num1:num1 },function(data){ if(jQuery.isEmptyObject(data)){ $("#areacoverage-content").html("Wilayah tidak ditemukan"); }else{ var html=""; for(var i=0;i"; html+="
"; for(var j=0;j"; } html+="
"; html+=""; } $("#areacoverage-content").html(html); } }); } function showSubInfo(selector){ $("#mdlsubinfo .modal-body").html(""); var data = selector.attr("data"); var target = selector.attr("target"); var title = ""; var src = ""; switch(data){ case "riwayatpenyinaran": title = "Riwayat Penyinaran Matahari"; src = "ftp/Isi_dari_titik_energi_matahari/LPM/" + target +".png"; break; case "potensienergi": title = "Potensi Energi Matahari"; src = "ftp/Isi_dari_titik_energi_matahari/Potensi Energi Matahari/" + target +".png"; break; case "tutupanawan": title = "Persentase Tutupan Awan"; src = "ftp/Isi_dari_titik_energi_matahari/grafik awan/" + target +".png"; break; case "suhu": title = "Suhu Diurnal"; src = "ftp/Isi_dari_titik_energi_matahari/Suhu/" + target +".png"; break; case "wind": title = "Wind Rose"; src = "ftp/Isi_dari_titik_energi_matahari/Angin/" + target +".png"; break; case "beneningan": title = "Indeks Kebeningan"; src = "ftp/Isi_dari_titik_energi_matahari/Indeks Kebeningan/" + target +".png"; break; } $("#mdlsubinfo").modal("show"); $("#mdlsubinfo .modal-title").html(title); $("#mdlsubinfo .modal-body").html(""); }