geoserver和openlayers选择矩形像素值
我正在运行一个geoserver2.5.x,其中一个光栅文件GeoTIFF作为一个层。从我的应用程序中,当单击WMS时,我可以访问单个像素值,但我真正感兴趣的是获取一个像素范围,然后对其进行一些处理。我考虑的方法是创建一个控件,使用MOD_CTRL作为触发器,然后在拖动结束时,将选定的范围传递给geoserver,这样我就可以返回像素值列表geoserver和openlayers选择矩形像素值,openlayers,raster,geoserver,geotiff,Openlayers,Raster,Geoserver,Geotiff,我正在运行一个geoserver2.5.x,其中一个光栅文件GeoTIFF作为一个层。从我的应用程序中,当单击WMS时,我可以访问单个像素值,但我真正感兴趣的是获取一个像素范围,然后对其进行一些处理。我考虑的方法是创建一个控件,使用MOD_CTRL作为触发器,然后在拖动结束时,将选定的范围传递给geoserver,这样我就可以返回像素值列表 OpenLayers.Util.extend(control, { draw: function () { this
OpenLayers.Util.extend(control, {
draw: function () {
this.drag = new OpenLayers.Handler.Box( control,
{"done": this.notice},
{keyMask: OpenLayers.Handler.MOD_CTRL});
this.drag.activate();
},
notice: function (bounds) {
leftBottom = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.left, bounds.bottom));
rightTop = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.right, bounds.top));
console.log(leftBottom, rightTop);
return(true);
}
我面临的问题是,我似乎找不到一种方法来将范围leftBottom、rightTop传递给geoserver—只有一个像素。leftBottom和rightTop可以正常工作,但如何获取像素值列表
此函数似乎可以进行调用,但我不确定要使用哪个服务或参数
function makeCall(bounds) {
var url = sec.getFullRequestString({
REQUEST: "GetFeature",
SERVICE: "WFS", //should this be WPS?
EXCEPTIONS: "application/vnd.ogc.se_xml",
typeNames: 'mystore:mylayer',
BBOX: bounds.toBBOX(),
INFO_FORMAT: 'text/plain',
QUERY_LAYERS: layerlist,
FEATURE_COUNT: 50,
WIDTH: map.size.w,
HEIGHT: map.size.h,
format: 'image/png',
},
"http://localhost:8080/geoserver/wfs");
var request = OpenLayers.Request.GET({
url: url,
callback: extractFeatures
});
}
任何帮助都将不胜感激 WMS无法获得矩形范围的像素,您需要使用WCS,或者最终使用自定义WPS过程