第一范文网 - 专业文章范例文档资料分享平台

ArcGISEngine二次开发提高篇

来源:用户分享 时间:2025/5/22 22:58:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

private bool mIsEditing; orkspace; mWorkspaceEdit = pWorkspace as IWorkspaceEdit; if (mWorkspaceEdit == null) return; creenDisplay;

pNewLineFeedback = mDisplayFeedback as INewLineFeedback; creenDisplay;

pNewPolygonFeedback = mDisplayFeedback as INewPolygonFeedback; creenDisplay;

et项目,项目名称为MapRender,将Form1的名字设置为MainForm,并添

加ToolbarControl 、MapControl、TOCControl、LicenceControl和Button等五个控件。并将ToolbarControl 、TOCControl的伙伴控件设为MapControl。控件布局效果如下图所示。

图 8控件布局效果

在ToolbarControl 加载添加数据按钮和地图浏览的功能按钮,如下图所示。

图 9工具栏设置效果

添加Buttom按钮的属性设置如下 :

表 4控件属性设置

控件类型 Button Button Button Button Button Button Name属性 btnSimpIeRenderer btnCIassBreakRenderer btnUniqueValueRenderer btnSymbolRenderer btnChartRenderer btnDotDensityRenderer Text属性 简单着色 分级着色 唯一值着色 依比例符号着色 质量图着色 点密度着色 控件说明 对图层简单着色 对图层分级着色 对图层唯一值着色 对图层依比例符号着色 对图层质量图着色 对图层点密度着色 1.4 代码添加及解释

该工程需要添加如下引用: using using using using using

在axMapControl1控件中添加图层,如图所示:

图 10添加初始化图层

1. 简单着色代码添加

添加btnSimpIeRenderer按钮的Click事件代码:

private void btnSimpIeRenderer_Click(object sender, EventArgs e) {

IMap pMap = ;

分级着色代码添加 在前面代码的基础上添加如下引用: using using

然后添加btnCIassBreakRenderer按钮的Click事件代码:

private void btnCIassBreakRenderer_Click(object sender, EventArgs e) {

IGeoFeatureLayer pGeoFeatureL; ITable pTable;

IClassifyGEN pClassify;

ITableHistogram pTableHistogram; IBasicHistogram pHistogram; object dataFrequency; object dataValues; double[] Classes; int ClassesCount;

IClassBreaksRenderer pClassBreaksRenderer; IHsvColor pFromColor; IHsvColor pToColor;

IAlgorithmicColorRamp pAlgorithmicCR; IEnumColors pEnumColors; bool ok; IColor pColor;

ISimpleFillSymbol pSimpleFillS; int lbreakIndex;

string strPopField = \; int numDesiredClasses = 5; IMap pMap = ; = 0;

pGeoFeatureL = (IGeoFeatureLayer)(0);

ET中必须使用IClassifyGEN这个借口定义的对象才能实现分级。 3. 唯一值着色代码添加

添加btnUniqueValueRenderer按钮的Click事件代码:

private void btnUniqueValueRenderer_Click(object sender, EventArgs e) {

IGeoFeatureLayer m_pGeoFeatureL; IUniqueValueRenderer pUniqueValueR; IFillSymbol pFillSymbol; IColor pNextUniqueColor; IEnumColors pEnumRamp; ITable pTable; int lfieldNumber; IRow pNextRow;

IRowBuffer pNextRowBuffer; ICursor pCursor;

IQueryFilter pQueryFilter; string codeValue;

IRandomColorRamp pColorRamp;

string strNameField = \; IMap pMap = ; = 0;

m_pGeoFeatureL = (IGeoFeatureLayer)(0);

pUniqueValueR = new UniqueValueRendererClass(); pTable = (ITable)m_pGeoFeatureL; lfieldNumber = (strNameField); if (lfieldNumber == -1) {

(\未能找到字段 \ + strNameField); return; }

唯一值着色代码添加 在前面代码的基础上添加引用 using stdole;

然后添加btnSymbolRenderer按钮的Click事件代码:

private void btnSymbolRenderer_Click(object sender, EventArgs e) {

IGeoFeatureLayer pGeoFeatureLayer; IFeatureLayer pFeatureLayer;

IProportionalSymbolRenderer pProportionalSymbolR; ITable pTable;

IQueryFilter pQueryFilter; ICursor pCursor;

IFillSymbol pFillSymbol;

ICharacterMarkerSymbol pCharaterMarkerS; IDataStatistics pDataStatistics; IStatisticsResults pStatisticsResult; pFontDisp;

IRotationRenderer pRotationRenderer; IMap pMap = ; = 0;

pFeatureLayer = (IGeoFeatureLayer)(0);

pGeoFeatureLayer = (IGeoFeatureLayer)pFeatureLayer; pTable = (ITable)pGeoFeatureLayer; pQueryFilter = new QueryFilterClass(); (\);

pCursor = (pQueryFilter, true);

质量图着色代码添加 这里以柱状图为例,先添加引用如下:

然后添加btnChartRenderer按钮的Click事件代码:

private void btnChartRenderer_Click(object sender, EventArgs e) {

IGeoFeatureLayer pGeoFeatureL;

IFeatureLayer pFeatureLayer; ITable pTable; ICursor pCursor;

IQueryFilter pQueryFilter; IRowBuffer pRowBuffer; int numFields = 2;

int[] fieldIndecies = new int[numFields]; int lfieldIndex; double dmaxValue; bool firstValue; double dfieldValue;

IChartRenderer pChartRenderer; IRendererFields pRendererFields; IFillSymbol pFillSymbol; IMarkerSymbol pMarkerSymbol; ISymbolArray pSymbolArray; IChartSymbol pChartSymbol;

简单着色代码添加

添加btnDotDensityRenderer按钮的Click事件代码:

private void btnDotDensityRenderer_Click(object sender, EventArgs e) {

IGeoFeatureLayer pGeoFeatureL;

IDotDensityRenderer pDotDensityRenderer; IDotDensityFillSymbol pDotDensityFillS; IRendererFields pRendererFields; ISymbolArray pSymbolArray;

ISimpleMarkerSymbol pSimpleMarkerS; string strPopField = \; IMap pMap = ;

pGeoFeatureL = (IGeoFeatureLayer)(0);

pDotDensityRenderer = new DotDensityRendererClass(); pRendererFields = (IRendererFields)pDotDensityRenderer; //添加点密度着色的字段名 (strPopField, strPopField);

pDotDensityFillS = new DotDensityFillSymbolClass(); //设置着色符号的大小和颜色 = 4;

IRgbColor color = new RgbColorClass(); = 0; = 0; = 0; = color;

//设置着色符号的背景颜色 = 239;

搜索更多关于: ArcGISEngine二次开发提高篇 的文档
ArcGISEngine二次开发提高篇.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8par62u5966k2tg1xudp48fsc2a7k200rjp_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top