山东建筑大学AE二次开发实习大作业课程设计.docx
《山东建筑大学AE二次开发实习大作业课程设计.docx》由会员分享,可在线阅读,更多相关《山东建筑大学AE二次开发实习大作业课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
山东建筑大学AE二次开发实习大作业课程设计
GIS设计与实现
实验报告
课程:
ArcGIS二次开发
院(部):
土木工程学院
专业:
地理信息系统
班级:
地理XXX
学生姓名:
XXXX
学号:
XXXXX
指导教师:
XXX
教研室主任:
院长(主任):
一、实验目的
1、掌握ArcGIS二次开发的流程。
2、熟悉ArcEngine平台进行二次开发。
3、掌握GIS专题图开发操作。
二、实验要求
1、使用ArcGISEngine平台,利用C#或者Java语言,开发专题图程序
2、结合编程环境和ArcGISEngine提供的控件,按照实验指导书要求,设计程序的界面
3、工具条的功能分别为:
放大视图、缩小视图、平移视图、前一视图、后一视图、完全视图和增加图层。
这些功能可以利用ArcGISEngine提供的内置工具实现。
4、专题图菜单中包含单值专题图、等级专题图和点密度专题图三项子菜单
三、实验步骤
1、新建项目
启动VS2010软件,新建一个WindowsFormsApplication工程并命名为“XXXX”
2、设计程序界面
(1)、按照指导书的实验要求布置窗体,设计程序界面,向窗体中添加一个SplitContainer容器,设置其属性中的Dock值为Fill;添加一个ToolbarControl控件,设置属性值Dock为Top;添加TOCControl和MapControl设置属性Dock值都为Fill.
(2)、向窗体中添加menuStrip菜单并命名为“专题图”,然后设置三个子菜单分别为“单值专题图”、“等级专题图”、“点密度专题图”
(3)、按照指导书要求,在工具条添加放大视图、缩小视图、平移视图、前一视图、后一视图、完全视图和增加图层。
(4)、为了实现专题图功能,需要加载一副具有数值型字段的多边形图,可以使用ArcGISEngine自带的实例地图,在安装目录途径下寻找需要的实例地图
“\DeveloperKit10.0\java\samples\data\usa\usa.gdb”下的图层states。
(5)、程序界面设计完成后的效果为:
3、专题图功能实现
3.1、单值专题图功能实现
(1)、鼠标双击“专题图”的子菜单“单值专题图”,编写代码如下:
namespaceXXXX
{
publicpartialclassxxxxxx:
Form
publicXXXX
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
privatevoid单值专题图ToolStripMenuItem_Click(objectsender,EventArgse)
{//获取当前图层,并把它设置成IGeoFeatureLayer的实例
IMappMap=axMapControl1.Map;
ILayerpLayer=pMap.get_Layer(0)asIFeatureLayer;
IFeatureLayerpFeatureLayer=pLayerasIFeatureLayer;
IGeoFeatureLayerpGeoFeatureLayer=pLayerasIGeoFeatureLayer;
//获取图层上的feature
IFeatureClasspFeatureClass=pFeatureLayer.FeatureClass;
IFeatureCursorpFeatureCursor=pFeatureClass.Search(null,false);
//定义单值图渲染组件
IUniqueValueRendererpUniqueValueRenderer=newUniqueValueRenderer();
//设置渲染字段对象
pUniqueValueRenderer.FieldCount=1;
pUniqueValueRenderer.set_Field(0,"STATE_NAME");
//创建填充符号
ISimpleFillSymbolPFillSymbol=newSimpleFillSymbol();
pUniqueValueRenderer.DefaultSymbol=(ISymbol)PFillSymbol;
pUniqueValueRenderer.UseDefaultSymbol=false;
//QIthetablefromthegeoFeatureLayerandgetthefieldnumberof
ITablepTable;
intfieldNumber;
pTable=pGeoFeatureLayerasITable;
fieldNumber=pTable.FindField("STATE_NAME");
if(fieldNumber==-1)
MessageBox.Show("Can'tfindfieldcalled","Message",MessageBoxButtons.OK,MessageBoxIcon.Information);
//创建并设置随机色谱
IRandomColorRamppColorRamp=newRandomColorRamp();
pColorRamp.StartHue=0;
pColorRamp.MinValue=99;
pColorRamp.MinSaturation=15;
pColorRamp.EndHue=360;
pColorRamp.MaxValue=100;
pColorRamp.MaxSaturation=30;
pColorRamp.Size=100;
//pColorRamp.Size=pUniqueValueRenderer.ValueCount;
boolok=true;
pColorRamp.CreateRamp(outok);
IEnumColorspEnumRamp;
pEnumRamp=pColorRamp.Colors;
//为每个值设置一个符号
intn=pFeatureClass.FeatureCount(null);
for(inti=0;i{IFeaturepFeature=pFeatureCursor.NextFeature();IClonepSourceClone=PFillSymbolasIClone;ISimpleFillSymbolpSimpleFillSymbol=pSourceClone.Clone()asISimpleFillSymbol;stringpFeatureValue=pFeature.get_Value(pFeature.Fields.FindField("STATE_NAME")).ToString();pUniqueValueRenderer.AddValue(pFeatureValue,"美国州名",(ISymbol)pSimpleFillSymbol);}//为每个符号设置颜色for(inti=0;i<=pUniqueValueRenderer.ValueCount-1;i++){stringxv=pUniqueValueRenderer.get_Value(i);if(xv!=""){ISimpleFillSymbolpNextSymbol=(ISimpleFillSymbol)pUniqueValueRenderer.get_Symbol(xv);pNextSymbol.Color=pEnumRamp.Next();pUniqueValueRenderer.set_Symbol(xv,(ISymbol)pNextSymbol);}}//将单值图渲染对象与渲染图层挂钩pGeoFeatureLayer.Renderer=(IFeatureRenderer)pUniqueValueRenderer;pGeoFeatureLayer.DisplayField="STATE_NAME";//刷新地图和TOOCotrolIActiveViewpActiveView=axMapControl1.MapasIActiveView;pActiveView.Refresh();axTOCControl1.Update();}(2)、编写完成后,按F5编译代码,会出现错误,然后根据提示添加相应的引用项,操作如下:然后在全部代码开头输入如下命令:3.2、等级专题图实现(1)、鼠标双击“专题图”菜单的“等级专题图”,编写代码如下:privatevoid等级专题图ToolStripMenuItem_Click(objectsender,EventArgse){IMappMap=axMapControl1.Map;ILayerpLayer=pMap.get_Layer(0)asIFeatureLayer;IFeatureLayerpFeatureLayer=pLayerasIFeatureLayer;IGeoFeatureLayerpGeoFeatureLayer=pLayerasIGeoFeatureLayer;//获取图层上的featureIFeatureClasspFeatureClass=pFeatureLayer.FeatureClass;IFeatureCursorpFeatureCursor=pFeatureClass.Search(null,false);IFeaturepFeature=pFeatureCursor.NextFeature();////////////////////////////////////////////////////////////////////////定义所需的接口对象和相关变量IClassBreaksUIPropertiespUIProperties;objectdataValues;objectdataFrequency;//double[]cb;intbreakIndex;longClassesCount;intnumClass;numClass=10;double[]Classes;///////////////////////////////////////////////////////////////////////*We'regoingtoretrievefrequencydatafromapopulationfieldandthenclassifythisdata*/ITablepTable;pTable=pFeatureClassasITable;IBasicHistogrampBasicHist=newBasicTableHistogram();ITableHistogrampTableHist;pTableHist=(ITableHistogram)pBasicHist;//GetvaluesandfrequenciesforthepopulationfieldintoatablehistogramobjectpTableHist.Field="POP2000";pTableHist.Table=pTable;pBasicHist.GetHistogram(outdataValues,outdataFrequency);IClassifyGENpClassifyGEN=newQuantile();pClassifyGEN.Classify(dataValues,dataFrequency,refnumClass);Classes=(double[])pClassifyGEN.ClassBreaks;ClassesCount=long.Parse(Classes.GetUpperBound(0).ToString());//Initialiseanewclassbreaksrendererandsupplythenumberofclassbreaksandthefieldtoperformtheclassbreakson.IClassBreaksRendererpClassBreaksRenderer=newClassBreaksRenderer();pClassBreaksRenderer.Field="POP2000";//pClassBreaksRenderer.BreakCount=ClassesCount;pClassBreaksRenderer.MinimumBreak=Classes[0];pClassBreaksRenderer.SortClassesAscending=true;//设置着色对象的分级数目pClassBreaksRenderer.BreakCount=int.Parse(ClassesCount.ToString());//创建并设置随机色谱IAlgorithmicColorRamppColorRamp=newAlgorithmicColorRamp();pColorRamp.Algorithm=esriColorRampAlgorithm.esriCIELabAlgorithm;IEnumColorspEnumColors;IRgbColorpColor1=newRgbColor();IRgbColorpColor2=newRgbColor();pColor1.Red=100;pColor1.Green=150;pColor1.Blue=0;pColor2.Red=100;pColor2.Green=0;pColor2.Blue=0;pColorRamp.FromColor=pColor1;pColorRamp.ToColor=pColor2;pColorRamp.Size=numClass;boolok=true;pColorRamp.CreateRamp(outok);pEnumColors=pColorRamp.Colors;pEnumColors.Reset();//usethisinterfacetosetdialogpropertiespUIProperties=pClassBreaksRendererasIClassBreaksUIProperties;pUIProperties.ColorRamp="Custom";ISimpleFillSymbolpSimpleMarkerSymbol=newSimpleFillSymbol();IColorpColor;int[]colors=newint[numClass];//becareful,indicesaredifferentforthedifflistsfor(breakIndex=0;breakIndex{pClassBreaksRenderer.set_Label(breakIndex,Classes[breakIndex]+"-"+Classes[breakIndex+1]);pUIProperties.set_LowBreak(breakIndex,Classes[breakIndex]);pSimpleMarkerSymbol=newSimpleFillSymbol();pColor=pEnumColors.Next();pSimpleMarkerSymbol.Color=pColor;colors[breakIndex]=pColor.RGB;pClassBreaksRenderer.set_Symbol(breakIndex,(ISymbol)pSimpleMarkerSymbol);pClassBreaksRenderer.set_Break(breakIndex,Classes[breakIndex+1]);}//将等级图渲染对象与渲染图层挂钩pGeoFeatureLayer.Renderer=(IFeatureRenderer)pClassBreaksRenderer;//刷新地图和TOOCotrolIActiveViewpActiveView=axMapControl1.MapasIActiveView;pActiveView.Refresh();axTOCControl1.Update();}(2)、按F5进行编译,出现问题如下解决该问题方法为,在Progrom.cs中添加如下一句代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);然后重新编译错误解决。3.3、点密度专题图(1)、鼠标双击“专题图”菜单的“点密度专题图”,编写实现该功能代码如下:privatevoid点密度专题图ToolStripMenuItem_Click_1(objectsender,EventArgse){//获取当前图层,并把它设置成IGeoFeatureLayer的实例IMappMap=axMapControl1.Map;ILayerpLayer=pMap.get_Layer(0)asIFeatureLayer;IFeatureLayerpFeatureLayer=pLayerasIFeatureLayer;IGeoFeatureLayerpGeoFeatureLayer=pLayerasIGeoFeatureLayer;//获取图层上的featureIFeatureClasspFeatureClass=pFeatureLayer.FeatureClass;IFeatureCursorpFeatureCursor=pFeatureClass.Search(null,false);IFeaturepFeature=pFeatureCursor.NextFeature();//定义点密度图渲染组件IDotDensityRendererDotDensityRenderer=newDotDensityRendererClass();//定义点密度图渲染组件对象的渲染字段对象IRendererFieldsflds=(IRendererFields)DotDensityRenderer;flds.AddField("POP2000","POP2000");//flds.AddField("Shape","Shape");//定义点密度图渲染得符号对象IDotDensityFillSymbolddSym=newDotDensityFillSymbol();IRgbColorBackColor=newRgbColor();BackColor.Red=255;BackColor.Blue=0;BackColor.Green=255;IRgbColorSymbolColor=newRgbColor();SymbolColor.Red=255;SymbolColor.Blue=0;SymbolColor.Green=0;////点密度图渲染背景颜色ddSym.BackgroundColor=BackColor;ddSym.DotSize=3;ddSym.FixedPlacement=true;//ddSym.Color=SymbolColor;ILineSymbolpLineSymbol=newCartographicLineSymbol();ddSym.Outline=pLineSymbol;//定义符号数组ISymbolArraysymArray=(ISymbolArray)ddSym;//添加点密度图渲染的点符号到符号数组中去ISimpleMarkerSymbolpMarkerSymbol=newSimpleMarkerSymbol();pMarkerSymbol.Style=esriSimpleMarkerStyle.esriSMSCircle;pMarkerSymbol.Size=0.3;pMarkerSymbol.Color=SymbolColor;;symArray.AddSymbol(pMarkerSymbolasISymbol);//设置点密度图渲染的点符号//DotDensityRenderer.DotDensitySymbol=symArray;//获取所有记录中该字段的最大值和最小值DataStatisticsds=newDataStatistics();ICursorcursor=(ICursor)pFeatureLayer.FeatureClass.Search(null,false);IDataStatisticsdataStatistics=newDataStatisticsClass();dataStatistics.Field="POP2000";dataStatistics.Cursor=cursor;ESRI.ArcGIS.esriSystem.IStatisticsResultsstatisticsResults=dataStatistics.St
IFeaturepFeature=pFeatureCursor.NextFeature();
IClonepSourceClone=PFillSymbolasIClone;
ISimpleFillSymbolpSimpleFillSymbol=pSourceClone.Clone()asISimpleFillSymbol;
stringpFeatureValue=pFeature.get_Value(pFeature.Fields.FindField("STATE_NAME")).ToString();
pUniqueValueRenderer.AddValue(pFeatureValue,"美国州名",(ISymbol)pSimpleFillSymbol);
//为每个符号设置颜色
for(inti=0;i<=pUniqueValueRenderer.ValueCount-1;i++)
stringxv=pUniqueValueRenderer.get_Value(i);
if(xv!
="")
ISimpleFillSymbolpNextSymbol=(ISimpleFillSymbol)pUniqueValueRenderer.get_Symbol(xv);
pNextSymbol.Color=pEnumRamp.Next();
pUniqueValueRenderer.set_Symbol(xv,(ISymbol)pNextSymbol);
//将单值图渲染对象与渲染图层挂钩
pGeoFeatureLayer.Renderer=(IFeatureRenderer)pUniqueValueRenderer;
pGeoFeatureLayer.DisplayField="STATE_NAME";
//刷新地图和TOOCotrol
IActiveViewpActiveView=axMapControl1.MapasIActiveView;
pActiveView.Refresh();
axTOCControl1.Update();
(2)、编写完成后,按F5编译代码,会出现错误,然后根据提示添加相应的引用项,操作如下:
然后在全部代码开头输入如下命令:
3.2、等级专题图实现
(1)、鼠标双击“专题图”菜单的“等级专题图”,编写代码如下:
privatevoid等级专题图ToolStripMenuItem_Click(objectsender,EventArgse)
//////////////////////////////////////////////////////////////////////
//定义所需的接口对象和相关变量
IClassBreaksUIPropertiespUIProperties;
objectdataValues;
objectdataFrequency;
//double[]cb;
intbreakIndex;
longClassesCount;
intnumClass;
numClass=10;
double[]Classes;
/*We'regoingtoretrievefrequencydatafromapopulation
fieldandthenclassifythisdata*/
pTable=pFeatureClassasITable;
IBasicHistogrampBasicHist=newBasicTableHistogram();
ITableHistogrampTableHist;
pTableHist=(ITableHistogram)pBasicHist;
//Getvaluesandfrequenciesforthepopulationfieldintoatablehistogramobject
pTableHist.Field="POP2000";
pTableHist.Table=pTable;
pBasicHist.GetHistogram(outdataValues,outdataFrequency);
IClassifyGENpClassifyGEN=newQuantile();
pClassifyGEN.Classify(dataValues,dataFrequency,refnumClass);
Classes=(double[])pClassifyGEN.ClassBreaks;
ClassesCount=long.Parse(Classes.GetUpperBound(0).ToString());
//Initialiseanewclassbreaksrendererandsupplythenumberofclassbreaksandthefieldtoperformtheclassbreakson.
IClassBreaksRendererpClassBreaksRenderer=newClassBreaksRenderer();
pClassBreaksRenderer.Field="POP2000";
//pClassBreaksRenderer.BreakCount=ClassesCount;
pClassBreaksRenderer.MinimumBreak=Classes[0];
pClassBreaksRenderer.SortClassesAscending=true;
//设置着色对象的分级数目
pClassBreaksRenderer.BreakCount=int.Parse(ClassesCount.ToString());
IAlgorithmicColorRamppColorRamp=newAlgorithmicColorRamp();
pColorRamp.Algorithm=esriColorRampAlgorithm.esriCIELabAlgorithm;
IEnumColorspEnumColors;
IRgbColorpColor1=newRgbColor();
IRgbColorpColor2=newRgbColor();
pColor1.Red=100;
pColor1.Green=150;
pColor1.Blue=0;
pColor2.Red=100;
pColor2.Green=0;
pColor2.Blue=0;
pColorRamp.FromColor=pColor1;
pColorRamp.ToColor=pColor2;
pColorRamp.Size=numClass;
pEnumColors=pColorRamp.Colors;
pEnumColors.Reset();//usethisinterfacetosetdialogproperties
pUIProperties=pClassBreaksRendererasIClassBreaksUIProperties;
pUIProperties.ColorRamp="Custom";
ISimpleFillSymbolpSimpleMarkerSymbol=newSimpleFillSymbol();
IColorpColor;
int[]colors=newint[numClass];
//becareful,indicesaredifferentforthedifflists
for(breakIndex=0;breakIndex{pClassBreaksRenderer.set_Label(breakIndex,Classes[breakIndex]+"-"+Classes[breakIndex+1]);pUIProperties.set_LowBreak(breakIndex,Classes[breakIndex]);pSimpleMarkerSymbol=newSimpleFillSymbol();pColor=pEnumColors.Next();pSimpleMarkerSymbol.Color=pColor;colors[breakIndex]=pColor.RGB;pClassBreaksRenderer.set_Symbol(breakIndex,(ISymbol)pSimpleMarkerSymbol);pClassBreaksRenderer.set_Break(breakIndex,Classes[breakIndex+1]);}//将等级图渲染对象与渲染图层挂钩pGeoFeatureLayer.Renderer=(IFeatureRenderer)pClassBreaksRenderer;//刷新地图和TOOCotrolIActiveViewpActiveView=axMapControl1.MapasIActiveView;pActiveView.Refresh();axTOCControl1.Update();}(2)、按F5进行编译,出现问题如下解决该问题方法为,在Progrom.cs中添加如下一句代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);然后重新编译错误解决。3.3、点密度专题图(1)、鼠标双击“专题图”菜单的“点密度专题图”,编写实现该功能代码如下:privatevoid点密度专题图ToolStripMenuItem_Click_1(objectsender,EventArgse){//获取当前图层,并把它设置成IGeoFeatureLayer的实例IMappMap=axMapControl1.Map;ILayerpLayer=pMap.get_Layer(0)asIFeatureLayer;IFeatureLayerpFeatureLayer=pLayerasIFeatureLayer;IGeoFeatureLayerpGeoFeatureLayer=pLayerasIGeoFeatureLayer;//获取图层上的featureIFeatureClasspFeatureClass=pFeatureLayer.FeatureClass;IFeatureCursorpFeatureCursor=pFeatureClass.Search(null,false);IFeaturepFeature=pFeatureCursor.NextFeature();//定义点密度图渲染组件IDotDensityRendererDotDensityRenderer=newDotDensityRendererClass();//定义点密度图渲染组件对象的渲染字段对象IRendererFieldsflds=(IRendererFields)DotDensityRenderer;flds.AddField("POP2000","POP2000");//flds.AddField("Shape","Shape");//定义点密度图渲染得符号对象IDotDensityFillSymbolddSym=newDotDensityFillSymbol();IRgbColorBackColor=newRgbColor();BackColor.Red=255;BackColor.Blue=0;BackColor.Green=255;IRgbColorSymbolColor=newRgbColor();SymbolColor.Red=255;SymbolColor.Blue=0;SymbolColor.Green=0;////点密度图渲染背景颜色ddSym.BackgroundColor=BackColor;ddSym.DotSize=3;ddSym.FixedPlacement=true;//ddSym.Color=SymbolColor;ILineSymbolpLineSymbol=newCartographicLineSymbol();ddSym.Outline=pLineSymbol;//定义符号数组ISymbolArraysymArray=(ISymbolArray)ddSym;//添加点密度图渲染的点符号到符号数组中去ISimpleMarkerSymbolpMarkerSymbol=newSimpleMarkerSymbol();pMarkerSymbol.Style=esriSimpleMarkerStyle.esriSMSCircle;pMarkerSymbol.Size=0.3;pMarkerSymbol.Color=SymbolColor;;symArray.AddSymbol(pMarkerSymbolasISymbol);//设置点密度图渲染的点符号//DotDensityRenderer.DotDensitySymbol=symArray;//获取所有记录中该字段的最大值和最小值DataStatisticsds=newDataStatistics();ICursorcursor=(ICursor)pFeatureLayer.FeatureClass.Search(null,false);IDataStatisticsdataStatistics=newDataStatisticsClass();dataStatistics.Field="POP2000";dataStatistics.Cursor=cursor;ESRI.ArcGIS.esriSystem.IStatisticsResultsstatisticsResults=dataStatistics.St
pClassBreaksRenderer.set_Label(breakIndex,Classes[breakIndex]+"-"+Classes[breakIndex+1]);
pUIProperties.set_LowBreak(breakIndex,Classes[breakIndex]);
pSimpleMarkerSymbol=newSimpleFillSymbol();
pColor=pEnumColors.Next();
pSimpleMarkerSymbol.Color=pColor;
colors[breakIndex]=pColor.RGB;
pClassBreaksRenderer.set_Symbol(breakIndex,(ISymbol)pSimpleMarkerSymbol);
pClassBreaksRenderer.set_Break(breakIndex,Classes[breakIndex+1]);
//将等级图渲染对象与渲染图层挂钩
pGeoFeatureLayer.Renderer=(IFeatureRenderer)pClassBreaksRenderer;
(2)、按F5进行编译,出现问题如下
解决该问题方法为,在Progrom.cs中添加如下一句代码:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);然后重新编译错误解决。
3.3、点密度专题图
(1)、鼠标双击“专题图”菜单的“点密度专题图”,编写实现该功能代码如下:
privatevoid点密度专题图ToolStripMenuItem_Click_1(objectsender,EventArgse)
//获取当前图层,并把它设置成IGeoFeatureLayer的实例
//定义点密度图渲染组件
IDotDensityRendererDotDensityRenderer=newDotDensityRendererClass();
//定义点密度图渲染组件对象的渲染字段对象
IRendererFieldsflds=(IRendererFields)DotDensityRenderer;
flds.AddField("POP2000","POP2000");
//flds.AddField("Shape","Shape");
//定义点密度图渲染得符号对象
IDotDensityFillSymbolddSym=newDotDensityFillSymbol();
IRgbColorBackColor=newRgbColor();
BackColor.Red=255;
BackColor.Blue=0;
BackColor.Green=255;
IRgbColorSymbolColor=newRgbColor();
SymbolColor.Red=255;
SymbolColor.Blue=0;
SymbolColor.Green=0;
////点密度图渲染背景颜色
ddSym.BackgroundColor=BackColor;
ddSym.DotSize=3;
ddSym.FixedPlacement=true;
//ddSym.Color=SymbolColor;
ILineSymbolpLineSymbol=newCartographicLineSymbol();
ddSym.Outline=pLineSymbol;
//定义符号数组
ISymbolArraysymArray=(ISymbolArray)ddSym;
//添加点密度图渲染的点符号到符号数组中去
ISimpleMarkerSymbolpMarkerSymbol=newSimpleMarkerSymbol();
pMarkerSymbol.Style=esriSimpleMarkerStyle.esriSMSCircle;
pMarkerSymbol.Size=0.3;
pMarkerSymbol.Color=SymbolColor;;
symArray.AddSymbol(pMarkerSymbolasISymbol);
//设置点密度图渲染的点符号
//DotDensityRenderer.DotDensitySymbol=symArray;
//获取所有记录中该字段的最大值和最小值
DataStatisticsds=newDataStatistics();
ICursorcursor=(ICursor)pFeatureLayer.FeatureClass.Search(null,false);
IDataStatisticsdataStatistics=newDataStatisticsClass();
dataStatistics.Field="POP2000";
dataStatistics.Cursor=cursor;
ESRI.ArcGIS.esriSystem.IStatisticsResultsstatisticsResults=dataStatistics.St
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1