<%-- Created by IntelliJ IDEA. User: sbortman Date: Sep 14, 2009 Time: 9:24:47 AM To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" %> OMAR - Raster Search 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: "${dataWMS.format}", IMAGEFILTER: "true=true", 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: "${baseWMS.format}" }, {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 ?: ''}"; var aoiMinLat = "${queryParams?.aoiMinLat ?: ''}"; var aoiMaxLon = "${queryParams?.aoiMaxLon ?: ''}"; var aoiMaxLat = "${queryParams?.aoiMaxLat ?: ''}"; 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(); changeMapSize(); setupAoiLayer(); setupToolbar(); setupMapView(); setupQueryFields(); updateOmarFilters(); } 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 setupQueryFields() { var searchMethod = "${queryParams.searchMethod}"; if ( searchMethod == "${RasterEntryQuery.RADIUS_SEARCH}") { toggleRadiusSearch(); } else if ( searchMethod == "${RasterEntryQuery.BBOX_SEARCH}" ) { toggleBBoxSearch(); } } function toggleRadiusSearch() { enableRadiusSearch(); disableBBoxSearch(); } function toggleBBoxSearch() { enableBBoxSearch(); disableRadiusSearch(); } function enableRadiusSearch() { $("aoiRadius").disabled = false; } function enableBBoxSearch() { $("aoiMinLon").disabled = false; $("aoiMinLat").disabled = false; $("aoiMaxLon").disabled = false; $("aoiMaxLat").disabled = false; } function disableRadiusSearch() { $("aoiRadius").disabled = true; } function disableBBoxSearch() { $("aoiMinLon").disabled = true; $("aoiMinLat").disabled = true; $("aoiMaxLon").disabled = true; $("aoiMaxLat").disabled = true; } 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; var hasStartDate = sday != "" && smonth != "" && syear != ""; var startDate = "'" + smonth + "-" + sday + "-" + syear + "'"; var hasEndDate = eday != "" && emonth != "" && eyear != ""; var endDate = "'" + emonth + "-" + eday + "-" + eyear + "'"; if ( hasStartDate ) { var omarfilter = "acquisition_date>=" + startDate; if ( hasEndDate ) { omarfilter += " and acquisition_date<=" + endDate; } //alert(omarfilter); dataLayer.mergeNewParams({IMAGEFILTER: omarfilter }); } else { if ( hasEndDate ) { var omarfilter = "acquisition_date<=" + endDate; //alert(omarfilter); dataLayer.mergeNewParams({IMAGEFILTER: omarfilter }); } else { var omarfilter = "true=true"; //alert(omarfilter); dataLayer.mergeNewParams({IMAGEFILTER: omarfilter }); } } } function searchForRasters() { document.searchForm.action = "search"; document.searchForm.submit(); } function generateKML() { document.searchForm.action = "kmlnetworklink"; document.searchForm.submit(); } var Dom = YAHOO.util.Dom; var Event = YAHOO.util.Event; Event.onDOMReady(function() { init(); });

Search for Imagery:

${flash.message}
Map Center:





Geospatial Criteria:


Temporal Criteria:

Metadata Criteria:
Options:

<%--   --%>