public byte[] GetUtmOverlay(ParamUtm param) { string url = (param.layerType == ELayerType.FMap ? Config.URL_FMAP_SERVICE : Config.URL_MAPNIK_SERVICE) + "Composite=" + param.overlay.Replace(" ", "+") + "&res=" + param.res + "&UTMZ1=" + param.zone + "&UTMZ2=" + param.zone; if (param.mode == ERequestMode.SingleTile) { url += "&XN=" + param.xn + "&YN=" + param.yn; } else if (param.mode == ERequestMode.MultiTiles) { url += "&X1=" + param.utmxy1.x + "&Y1=" + param.utmxy1.y + "&X2=" + param.utmxy2.x + "&Y2=" + param.utmxy2.y; } else { throw new Exception("param.mode not correct"); } try { return(Helper.HttpGetBytes(url)); } catch (Exception ex) { throw new Exception("GetUtmOverlay error: " + ex.Message + " Requesting url: " + url); } }
public void GetUtmTile(ParamUtm param) { MReader reader = new MReader(Config.CONN_UTM, param.originName, debugMode, param.zone, param.date, param.jpegQuality); resultAsBytes = reader.GetTile(param.tilexy, false); logString = reader.logString; }
public void GetUtmMosaic(ParamUtm param) { MReader reader = new MReader(Config.CONN_UTM, param.originName, debugMode, param.zone, param.date, param.jpegQuality); resultAsBytes = reader.GetUtmMosaic(param.utmxy1.x, param.utmxy1.y, param.utmxy2.x, param.utmxy2.y, param.res); logString = reader.logString; }
protected void Page_Load(object sender, EventArgs e) { SafeRunPrintError(delegate { ParamUtm param = new ParamUtm(Request); Reader reader = new Reader(param.debug); switch (param.mode) { case ERequestMode.SingleTile: try { reader.GetUtmTile(param); if (!param.debug) { OutputImage(reader.resultAsBytes, tileSize); } else { OutputText(reader.logString); } } catch (Exception ex) { if (!param.debug) { OutputBlackTile(tileSize); } else { OutputText(ex.Message); } Log("GetUtmSingleTile", ex); } break; case ERequestMode.MultiTiles: try { reader.GetUtmMosaic(param); if (!param.debug) { if (reader.resultAsBytes.Length == 0) { OutputText("Requested image is too large."); } else { if (param.overlay != null) { try { reader.resultAsBytes = Helper.OverlayImages(reader.resultAsBytes, reader.GetUtmOverlay(param), param.jpegQuality); } catch (Exception ex) { Log("GetUtmOverlay/OverlayImages", ex); } } OutputImage(reader.resultAsBytes, tileSize); } } else { OutputText(reader.logString); } } catch (Exception ex) { if (!param.debug) { OutputBlackTile(tileSize); } else { OutputText(ex.Message); } Log("utm_mosaic", ex); } break; case ERequestMode.OriginList: reader.GetUtmSourceList(param.utmxy.x, param.utmxy.y, param.zone, 0); OutputXml(reader.resultAsString); break; case ERequestMode.TimeSeriesList: reader.GetUtmSourceList(param.utmxy.x, param.utmxy.y, param.zone, param.res); OutputXml(reader.resultAsString); break; } }); }