近日研究了在ArcGIS Server web adf (9.2)专题图实现,整理如下: (以柱状图为例,饼状图和直方图类似),希望对大家有所帮助! //得到制作专题图的图层ID 。。。。。。。。。。 int layerID=3; //得到专题图分析元素的属性名称列表String[] fieldName=new String[2];fieldName[0]="POP1990";fieldName[1]="POP1999";//得到专题图分析的图层对象(FeatureLayer)AGSLocalMapResource res = (AGSLocalMapResource) this.webContext .getResources().get("ags0"); MapServer mapServer = res.getLocalMapServer(); ILayer fiLayer = mapServer.getLayer(mapServer.getMapName(0), layerID); FeatureLayer fLayer = (FeatureLayer) fiLayer;//创建ChartRenderer对象 注意:在web adf中创建AO对象用AGSLocalMapResource对象的createArcObject(String)方法 ChartRenderer chartRender = (ChartRenderer) res .createArcObject(ChartRenderer.getClsid()); //在IRendererFileds中指定柱状图各列显示字段值 IRendererFields rendererFields = chartRender; rendererFields.addField(fieldName[0], null); rendererFields.setFieldAlias(0, rendererFields.getField(0)); rendererFields.addFieldfieldName[1], null); rendererFields.setFieldAlias(1, rendererFields.getField(1));//查出各元素指定属性最大值 必须的QueryFilter queryFilter = (QueryFilter) res .createArcObject(QueryFilter.getClsid()); queryFilter.addField(fieldName[0]); queryFilter.addField(fieldName[1]); ICursor cursor = fLayer.ITable_search(queryFilter, true); int numFields = 2; //柱状图列的个数 int[] fieldIndecies = new int[numFields]; fieldIndecies[0] = fLayer.findField(fieldName[0]); fieldIndecies[1] = fLayer.findField(fieldName[1]); double maxValue = 0; boolean firstValue = true; IRowBuffer row = cursor.nextRow();.webContext.refresh(); 相关文章: 2021-05-13 2022-12-23 2022-12-23 2021-10-12 2021-10-01 2021-08-12 2022-12-23