arcgis AO Export Legend
来源:互联网 发布:护照相片制作软件 编辑:程序博客网 时间:2024/05/29 19:46
public string GetMapLegend(string mapservice, string visibleLayerNames) { ESRI.ArcGIS.ADF.Identity identity = new Identity("***", "***", "***"); ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection gisconnection; gisconnection = new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("***", identity); gisconnection.Connect(); ESRI.ArcGIS.Server.IServerObjectManager som = gisconnection.ServerObjectManager; IServerContext pServerContext = som.CreateServerContext(mapservice, "MapServer"); IMapServer pMapServer = pServerContext.ServerObject as IMapServer; IMapServerInfo pMapServerInfo = pMapServer.GetServerInfo(pMapServer.DefaultMapName); IMapDescription pMD = pMapServerInfo.DefaultMapDescription; IMapServerObjects mapServerObjects; mapServerObjects = (IMapServerObjects)pMapServer; // QI IMap map; map = mapServerObjects.get_Map(pMapServer.DefaultMapName); ESRI.ArcGIS.esriSystem.UID uid = (ESRI.ArcGIS.esriSystem.UID)pServerContext.CreateObject("esriSystem.UID"); uid.Value = "esriCarto.Legend"; ILegend theLegend; theLegend = (ILegend)map.CreateMapSurround(uid, null); theLegend.Format.ShowTitle = false; ILegendItem legendItem; ILayer layer; int itemCount = theLegend.ItemCount; for (int i = 0; i < itemCount; i++) { layer = theLegend.get_Item(itemCount - 1 - i).Layer; //take out anything that is a raster or not in the visible layers names list if ((layer is IRasterLayer) || (visibleLayerNames.IndexOf(layer.Name) == -1)) { theLegend.RemoveItem(itemCount - 1 - i); } else { layer.MaximumScale = 0; layer.MinimumScale = 0; theLegend.get_Item(itemCount - 1 - i).ShowLayerName = true; layer.Visible = true; } } // Step 1: Set image description (used for the legend image to be generated) // Image type IImageType imageType = pServerContext.CreateObject("esriCarto.ImageType") as ImageType; imageType.Format = esriImageFormat.esriImageJPG; imageType.ReturnType = esriImageReturnType.esriImageReturnURL; // Image Display IImageDisplay imageDisp = pServerContext.CreateObject("esriCarto.ImageDisplay") as IImageDisplay; //imageDisp.Height = vislayerCount; //int aNo = Convert.ToInt32(vislayerCount); imageDisp.Height = 0; imageDisp.Width = 0; imageDisp.DeviceResolution = 96; // Image Description IImageDescription imageDesc = (IImageDescription)pServerContext.CreateObject("esriCarto.ImageDescription"); imageDesc.Type = imageType; imageDesc.Display = imageDisp; // Step 2: Set map display (used to calculate scale dependet layer visibility in // the legend IImageDisplay mapDisplay = pServerContext.CreateObject("esriCarto.ImageDisplay") as ImageDisplay; mapDisplay.Height = 10; mapDisplay.Width = 10; mapDisplay.DeviceResolution = 96; // Export legend IMapServerLayout mapServerLayout; mapServerLayout = (IMapServerLayout)pMapServer; IImageResult imageResult; imageResult = mapServerLayout.ExportLegend(theLegend, pMD, mapDisplay, null, imageDesc); pServerContext.ReleaseContext(); //theLegend = null; //theLegend = null; return imageResult.URL; }
- arcgis AO Export Legend
- Arcgis 图例 esri.dijit.legend Legend widget
- Arcgis:Layout & Export Issuse
- ArcGIS AO二次开发环境搭建及入门
- arcgis AO 和AE的区别
- AO
- arcgis ao 操作sde图层错误原因
- ArcGIS VBA - VBA+AO入门15例完全注释版
- ArcGIS AO for java最经典最好的教程
- Arcgis for Silverlight的图例Legend默认折叠
- ArcGIS API for Silverlight开发入门(9)外传:在程序中调用AO
- .net中用arcgis engine对象、AO接口类型声明属性,报错"new void()"
- AO+Java实现比例尺、指北针、图名、图例的添加(ArcGIS Add-in for Java)
- ArcGIS中Export图片发生图片缺失的解决方法
- export
- export
- export
- Export
- 编译 链接和加载
- Linux 平台相关代码的 C++ 解决方案
- gentoo安装步骤
- java jmm
- struts2类型转换器
- arcgis AO Export Legend
- 回收oracle Lob对象空间利用
- C语言中的整形,字符型,浮点型
- 框架+脚本
- 全域哈希和完全哈希
- JQuery下focus()无法自动获取焦点的处理方法 jquery如何使文本框获得焦点
- 【Boost】boost库asio详解1——strand与io_service区别
- usb to ethernet adapter (moshi) work in linux kernel
- 使用Ripple编译,签名WebWorks应用 Hello World