云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Arcgis Engine二次开发实验报告

Arcgis Engine二次开发实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/13 21:19:43

{

//获取\图层,并进行访问,判断是否成功 ILayer layer = GetLayerByName(\);

IFeatureLayerfeatureLayer = layer asIFeatureLayer; if (featureLayer == null) { returnnull; }

//调用IfeatureLayer的Search方法,用于遍历图层中的要素,判断是否成功 IFeature feature;

IFeatureCursorfeatureCursor = featureLayer.Search(null, false); feature = featureCursor.NextFeature(); if (feature == null) { returnnull; }

//新建DataTable类型对象

DataTabledataTable = newDataTable();

//新建DataColumn对象,保存各个州的序号和名称,并将其加入DataTable中 DataColumndataColumn = newDataColumn(); dataColumn.ColumnName = \序号\;

dataColumn.DataType = System.Type.GetType(\); dataTable.Columns.Add(dataColumn); dataColumn = newDataColumn(); dataColumn.ColumnName = \名称\;

dataColumn.DataType = System.Type.GetType(\); dataTable.Columns.Add(dataColumn);

//遍历图层中的所有要素,关联数据表中的下一行 //将要素的序号和名称赋给数据表中 DataRowdataRow;

while (feature != null) {

dataRow = dataTable.NewRow();

dataRow[0] = feature.get_Value(0); dataRow[1] = feature.get_Value(2); dataTable.Rows.Add(dataRow);

feature = featureCursor.NextFeature(); } //返回数据表 returndataTable; }

4. 实现创建数据列表功能

//生成菜单项点击事件响应函数,并在数据展示台显示数据表 privatevoidmiAccessData_Click(object sender, EventArgs e) {

DataOperatordataOperator = newDataOperator(axMapControl1.Map); DataBoarddataBoard = newDataBoard(\各大洲洲名\, dataOperator.GetContinentsNames()); dataBoard.Show(); }

实验结果:

2 实验三:地图渲染

3.1 实验目的

? 了解地图符号的分类与可视化过程 ? 掌握地图符号的渲染方法

3.2 实验内容

? 编写“地图编制”类,添加成员函数 ? 实现获取地图渲染器信息功能 ? 实现地图的简单符号渲染

3.3 实验步骤结果

实验思路:

地图渲染是指用不同的颜色和符号对地图进行可视化。特征渲染器有八类,本实验是采用简单渲染器,即对整个图层要素用同一种方式进行渲染,操作对象是“World Cities”图层。由于要用到数据操作类函数,所以实验在实验二的基础上进行。

实验分为以下几个部分:

1. 添加主窗体控件和导入类库:地图表现菜单项和两个下拉菜单项简单渲染器和获取渲染器信息。

2. 添加地图编制类并为其导入部分类库:该类用于管理当前项目中涉及地图整饰、修改和展示的相关功能

3. 添加类成员函数:包括三个,分别是获取指定图层的渲染器类型信息函数、获取指定图层的符号信息函数、统一设置指定图层渲染参数函数 4. 添加事件响应函数:简单渲染图层菜单项的点击事件响应函数、获取渲染器信息点击事件响应函数

实现流程如下:

添加主窗体控件和类库添加地图编制类添加类成员函数图层被渲染并刷新视图运行程序点击简单渲染图层添加事件响应函数点击获取渲染器信息关键代码: 1.添加控件

usingESRI.ArcGIS.Display;

出现渲染器类型文本框

2.添加地图编制类

usingESRI.ArcGIS.Carto;

usingESRI.ArcGIS.Geodatabase; usingESRI.ArcGIS.Geometry; usingESRI.ArcGIS.Display;

3.完善类的功能

//添加成员函数,获取指定图层的渲染器类型信息

publicstaticStringGetRenderTypeByLayer(ILayer layer) {

//判断图层是否获取成功 if (layer == null) {

return\图层获取失败\; }

//使用IFeatureLayer接口访问指定图层,并获取其渲染器 IFeatureLayerfeatureLayer = layer asIFeatureLayer;

IGeoFeatureLayergeoFeatureLayer = layer asIGeoFeatureLayer; IFeatureRendererfeatureRenderer = geoFeatureLayer.Renderer;

//判断该图层渲染器是否为备选渲染器类型之一,匹配成功则返回类型信息 if (featureRendererisISimpleRenderer)

搜索更多关于: Arcgis Engine二次开发实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{ //获取\图层,并进行访问,判断是否成功 ILayer layer = GetLayerByName(\); IFeatureLayerfeatureLayer = layer asIFeatureLayer; if (featureLayer == null) { returnnull; } //调用IfeatureLayer的Search方法,用于遍历图层中的要素,判断是否成功 IFeature feature; IFeatureCursorfeatureCursor = featureLayer.Search(null, false); feature = featureCursor.NextFeature(); if (feature == null)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com