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