/** * Given a request and a target format, builds the WMS request * * @param request * @param string */ public String getWmsLink() { GetMapRequest request = getRequest(); final Envelope bbox = request.getBbox(); if (bbox == null) return null; Map<String, String> params = new LinkedHashMap<>(); params.put("service", "WMS"); params.put("version", "1.1.0"); params.put("request", "GetMap"); params.put("layers", getName()); String bboxValue = bbox.getMinX() + "," + bbox.getMinY() + "," + bbox.getMaxX() + "," + bbox.getMaxY(); params.put("bbox", bboxValue); params.put("width", String.valueOf(request.getWidth())); params.put("height", String.valueOf(request.getHeight())); params.put("srs", String.valueOf(request.getSRS())); return ResponseUtils.buildURL(getBaseURL(), getPath("wms", false), params, URLType.SERVICE); }
/** * True if the request has the tiled hint, is 256x256 image, and the raw delegate is a raster * one * * @param request * @param delegate */ public static boolean isRequestTiled(GetMapRequest request, GetMapOutputFormat delegate) { boolean tiled = request.isTiled(); Point2D tilesOrigin = request.getTilesOrigin(); int width = request.getWidth(); int height = request.getHeight(); if (tiled && tilesOrigin != null && width == 256 && height == 256 && delegate instanceof RenderedImageMapOutputFormat) { return true; } return false; }
final int reqW = request.getWidth(); final int reqH = request.getHeight(); gridSubset = findBestMatchingGrid(tileBounds, crsMatchingGridSubsets, reqW, reqH,
if (request.getWidth() < 1) { request.setWidth(refreshMode || containsRasterData ? DEFAULT_OVERLAY_SIZE : 256); fo.put("autofit", "true");
final int reqW = request.getWidth(); final int reqH = request.getHeight(); gridSubset =
private double getScaleDenominator(GetMapRequest request) { final Envelope envelope = request.getBbox(); final CoordinateReferenceSystem mapcrs = request.getCrs(); WMSMapContent mapContent = new WMSMapContent(request); if (mapcrs != null) { mapContent.getViewport().setBounds(new ReferencedEnvelope(envelope, mapcrs)); } else { mapContent .getViewport() .setBounds(new ReferencedEnvelope(envelope, DefaultGeographicCRS.WGS84)); } mapContent.setMapWidth(request.getWidth()); mapContent.setMapHeight(request.getHeight()); mapContent.setAngle(request.getAngle()); return mapContent.getScaleDenominator(true); }
new MapKey(mapDefinition, normalize(bbox.getWidth() / request.getWidth()), origin); Point tileCoords = getTileCoordinates(bbox, origin); Point metaTileCoords = getMetaTileCoordinates(tileCoords);
+ "," + request.getBbox().getMaxY()); request.getRawKvp().put("WIDTH", String.valueOf(request.getWidth())); request.getRawKvp().put("HEIGHT", String.valueOf(request.getHeight()));
double mwidth = getMap.getWidth();
assertEquals(800, request.getWidth());
protected WMSMapContent createMapContent(double dpi) { GetMapRequest request = new GetMapRequest(); request.setWidth(1000); request.setHeight(1000); request.setRawKvp(new HashMap<String, String>()); if (dpi > 0) { request.getFormatOptions().put("dpi", dpi); } WMSMapContent map = new WMSMapContent(request); map.setMapWidth(request.getWidth()); map.setMapHeight(request.getHeight()); map.getViewport() .setBounds( new ReferencedEnvelope( new Envelope(0, 0.01, 0, 0.01), DefaultGeographicCRS.WGS84)); return map; }
Envelope bbox = request.getBbox(); String format = request.getFormat(); int width = request.getWidth(); int height = request.getHeight();
info.getYPixel(), new ReferencedEnvelope(map.getBbox(), map.getCrs()), map.getWidth(), map.getHeight()); double[] p = new double[] {c.getOrdinate(0), c.getOrdinate(1)};
Envelope bbox = request.getBbox(); String format = request.getFormat(); int width = request.getWidth(); int height = request.getHeight();
public FeatureInfoRequestParameters(GetFeatureInfoRequest request) { // use the layer of the QUERY_LAYERS parameter, not the LAYERS one this.layers = request.getQueryLayers(); this.filters = request.getGetMapRequest().getFilter(); this.sorts = request.getGetMapRequest().getSortByArrays(); this.styles = getStyles(request, layers); this.x = request.getXPixel(); this.y = request.getYPixel(); this.buffer = request.getGetMapRequest().getBuffer(); this.viewParams = request.getGetMapRequest().getViewParams(); this.getMapReq = request.getGetMapRequest(); this.requestedCRS = getMapReq.getCrs(); // optional, may be null this.maxFeatures = request.getFeatureCount(); // basic information about the request this.width = getMapReq.getWidth(); this.height = getMapReq.getHeight(); this.bbox = new ReferencedEnvelope(getMapReq.getBbox(), getMapReq.getCrs()); this.scaleDenominator = getScaleDenominator(request.getGetMapRequest()); this.elevations = request.getGetMapRequest().getElevation(); this.times = request.getGetMapRequest().getTime(); this.ff = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()); this.propertyNames = request.getPropertyNames(); }
/** * This test is incomplete because I (arneke) had trouble finding mock data with proper bounding * boxes */ @Test public void testAutoSetWidthHeightOL() throws Exception { DefaultWebMapService reflector = new DefaultWebMapService(getWMS()); // request too stretched east/west GetMapRequest request = createGetMapRequest(MockData.BRIDGES); request.setBbox(new Envelope(-180, 180, 0, 10)); request.setFormat("application/openlayers"); reflector.autoSetBoundsAndSize(request); assertEquals(768, request.getWidth()); assertEquals(330, request.getHeight()); // request too stretched south/north request = createGetMapRequest(MockData.BRIDGES); request.setBbox(new Envelope(-0, 10, -90, 90)); request.setFormat("application/openlayers"); reflector.autoSetBoundsAndSize(request); assertEquals(330, request.getWidth()); assertEquals(768, request.getHeight()); }
mc.setBuffer(params.getBuffer()); mc.getViewport().setBounds(new ReferencedEnvelope(getMap.getBbox(), getMap.getCrs())); mc.setMapWidth(getMap.getWidth()); mc.setMapHeight(getMap.getHeight()); FeatureLayer layer = getLayer(params, style);
Envelope bbox = request.getBbox(); String format = request.getFormat(); int width = request.getWidth(); int height = request.getHeight();