<%-- Created by IntelliJ IDEA. User: sbortman Date: Jun 9, 2008 Time: 1:34:39 PM To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" %> Search for Imagery

Search for Imagery:

${flash.message}
<%--
--%>
var aoiLayer; var polygonControl; var map; var dataLayer; function changeMapSize() { var mapTitle = $("mapTitle"); var mapDiv = $("map"); mapDiv.style.width = mapTitle.offsetWidth + "px"; mapDiv.style.height = Math.round( mapTitle.offsetWidth / 2) + "px"; map.updateSize(); } function setupDataLayer() { dataLayer = new OpenLayers.Layer.WMS( "${dataWMS.title}", "${dataWMS.url}", { layers: "${dataWMS.layers}", format: 'image/png', transparent: true }, {'isBaseLayer': false}, {buffer:1} ); map.addLayer(dataLayer); } function setupBaseLayer() { var baseLayer = new OpenLayers.Layer.WMS( "${baseWMS.title}", "${baseWMS.url}", {layers: '${baseWMS.layers}', format: 'image/jpeg' }, {buffer:1} ); map.addLayer(baseLayer); map.setBaseLayer(baseLayer); } function setupAoiLayer() { aoiLayer = new OpenLayers.Layer.Vector("Area of Interest"); aoiLayer.events.register("featureadded", aoiLayer, setAOI ); var polyOptions = {sides: 4, irregular: true} ; polygonControl = new OpenLayers.Control.DrawFeature( aoiLayer, OpenLayers.Handler.RegularPolygon, {handlerOptions: polyOptions}); map.addLayer(aoiLayer); map.addControl(polygonControl); var aoiMinLon = "${queryParams?.aoiMinLon ?: 0}"; var aoiMinLat = "${queryParams?.aoiMinLat ?: 0}"; var aoiMaxLon = "${queryParams?.aoiMaxLon ?: 0}"; var aoiMaxLat = "${queryParams?.aoiMaxLat ?: 0}"; if ( aoiMinLon && aoiMinLat && aoiMaxLon && aoiMaxLat ) { var bounds = new OpenLayers.Bounds( aoiMinLon, aoiMinLat, aoiMaxLon, aoiMaxLat ); var feature = new OpenLayers.Feature.Vector(bounds.toGeometry()); aoiLayer.addFeatures(feature, {silent: true}); } } function setupMapWidget() { map = new OpenLayers.Map("map", { controls: [] }); map.addControl(new OpenLayers.Control.LayerSwitcher()); //map.addControl(new OpenLayers.Control.PanZoom()); //map.addControl(new OpenLayers.Control.NavToolbar()); map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.Scale()); //map.addControl(new OpenLayers.Control.Permalink("permalink")); map.addControl(new OpenLayers.Control.ScaleLine()); map.addControl(new OpenLayers.Control.Attribution()); map.events.register("moveend", map, setCenterText); map.events.register("zoomend", map, setView ); } function setupMapView() { var viewMinLon = "${queryParams?.viewMinLon ?: -180}"; var viewMinLat = "${queryParams?.viewMinLat ?: -90}"; var viewMaxLon = "${queryParams?.viewMaxLon ?: 180}"; var viewMaxLat = "${queryParams?.viewMaxLat ?: 90}"; var bounds = new OpenLayers.Bounds(viewMinLon, viewMinLat, viewMaxLon, viewMaxLat); var zoom = map.getZoomForExtent(bounds, true); map.setCenter(bounds.getCenterLonLat(), zoom); } function setupToolbar() { var zoomBox = new OpenLayers.Control.ZoomBox( {title:"Zoom into an area by clicking and dragging"}); var polyOptions = {sides: 4, irregular: true}; var polygonControl = new OpenLayers.Control.DrawFeature(aoiLayer, OpenLayers.Handler.RegularPolygon, {handlerOptions: polyOptions, title: "Specify Area of Interest"}); var button1 = new OpenLayers.Control.Button({title:'Clear Area of Interest', displayClass: "olControlClearAreaOfInterest", trigger: clearAOI }); var container = $("panel2"); var panel = new OpenLayers.Control.Panel( { div: container,defaultControl: zoomBox,'displayClass': 'olControlPanel'} ); var nav = new OpenLayers.Control.NavigationHistory({ nextOptions: {title: "Next View"}, previousOptions: {title: "Previous View"} }); map.addControl(nav); panel.addControls([ new OpenLayers.Control.MouseDefaults({title:'Drag to recenter map'}), zoomBox, nav.next, nav.previous, new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"}), polygonControl, button1, ]); map.addControl(panel); } function init() { setupMapWidget(); setupDataLayer(); setupBaseLayer(); setupAoiLayer(); changeMapSize(); setupToolbar(); setupMapView(); } function goto() { var centerLon = $("centerLon").value; var centerLat = $("centerLat").value; var zoom = map.getZoom(); var center = new OpenLayers.LonLat(centerLon, centerLat); map.setCenter(center, zoom); } function clearAOI( e ) { aoiLayer.destroyFeatures(); // HACK - Need a better way to this $("aoiMinLon").value = ""; $("aoiMaxLat").value = ""; $("aoiMaxLon").value = ""; $("aoiMinLat").value = ""; } function setAOI( e ) { var geom = e.feature.geometry; var bounds = geom.getBounds(); var feature = new OpenLayers.Feature.Vector(geom); // HACK - Need a better way to this $("aoiMinLon").value = bounds.left; $("aoiMaxLat").value = bounds.top; $("aoiMaxLon").value = bounds.right; $("aoiMinLat").value = bounds.bottom; aoiLayer.destroyFeatures(); aoiLayer.addFeatures(feature, {silent: true}); } function setView( e ) { var bounds = map.getExtent(); $("viewMinLon").value = bounds.left; $("viewMaxLat").value = bounds.top; $("viewMaxLon").value = bounds.right; $("viewMinLat").value = bounds.bottom; } function setCenterText( e ) { var center = map.getCenter(); $("centerLon").value = center.lon; $("centerLat").value = center.lat; } function toggleRadiusSearch() { if ( $("radiusact").checked == true ) { $("aoiRadius").disabled = false; $("radiusact").value = "true"; $("bboxact").checked = false; } else { $("aoiRadius").disabled = true; $("radiusact").value = "false"; $("bboxact").checked = true; } } function toggleBboxSearch() { if ( $("bboxact").checked == true ) { $("aoiRadius").disabled = true; $("radiusact").value = "false"; $("radiusact").checked = false; } else { $("aoiRadius").disabled = false; $("radiusact").value = "true"; $("radiusact").checked = true; } } function enableRadiusSearch() { $("radiusact").checked = true; $("aoiRadius").disabled = false; $("radiusact").value = "true"; $("bboxact").checked = false; } function enableBboxSearch() { $("bboxact").checked = true; $("aoiRadius").disabled = true; $("radiusact").value = "false"; $("radiusact").checked = false; } function updateOmarFilters() { var sday = $("startDate_day").value; var smonth = $("startDate_month").value; var syear = $("startDate_year").value; var eday = $("endDate_day").value; var emonth = $("endDate_month").value; var eyear = $("endDate_year").value; if ( sday != "" && smonth != "" && syear != "" ) { var omarfilter = "acquisition_date >= \'" + smonth + "-" + sday + "-" + syear; if ( eday != "" && emonth != "" && eyear != "" ) { } omarfilter += " and acquisition_date <= \'" + emonth + "-" + eday + "-" + eyear + " 23:59:59"; if ( dataLayer != null ) { map.removeLayer(dataLayer); } dataLayer = new OpenLayers.Layer.WMS( "${dataWMS.title}", "${dataWMS.url}", {imagefilter: omarfilter, layers: "${dataWMS.layers}", format: "image/gif", transparent: true }, {isBaseLayer: false}, {buffer: 0} ); map.addLayer( dataLayer ); } else { if ( eday != "" && emonth != "" && eyear != "" ) { var omarfilter = "acquisition_date <= \'" + emonth + "-" + eday + "-" + eyear; if ( dataLayer != null ) { map.removeLayer(dataLayer); } dataLayer = new OpenLayers.Layer.WMS( "${dataWMS.title}", "${dataWMS.url}", {imagefilter: omarfilter, layers: "${dataWMS.layers}", format: "image/gif", transparent: true }, {isBaseLayer: false}, {buffer: 0} ); map.addLayer( dataLayer ); } else { dataLayer = new OpenLayers.Layer.WMS( "${dataWMS.title}", "${dataWMS.url}", {imagefilter: "acquisition_date > '01-01-1970'", layers: "${dataWMS.layers}", format: "image/gif", transparent: true }, {isBaseLayer: false}, {buffer: 0} ); map.addLayer( dataLayer ); } } } var Dom = YAHOO.util.Dom; var Event = YAHOO.util.Event; Event.onDOMReady(function() { init(); });