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

当前位置:首页 > ArcGIS Engine地图查询

ArcGIS Engine地图查询

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 19:03:48

//创建要素

IFeature pNFeature = pFC.CreateFeature();

pNFeature.Shape = pPolygon;

pNFeature.set_Value(pFC.FindField(\

pNFeature.Store();

pMapCtrl.Refresh(esriViewDrawPhase.esriViewGeography, pFlyr, pFlyr.AreaOfInterest);

}

catch (Exception Err)

{

MessageBox.Show(Err.Message, \提示\

}

}

CODE:

///

/// 获取查询要素

///

///

///

/// 符号条件要素集合

private List GetSeartchFeatures( IFeatureLayer pFeatureLayer,IGeometry pGeometry)

{

try

{

List pList = new List();

//创建SpatialFilter空间过滤器对象

ISpatialFilter pSpatialFilter = new SpatialFilterClass();

IQueryFilter pQueryFilter = pSpatialFilter as ISpatialFilter;

//设置过滤器的Geometry

pSpatialFilter.Geometry = pGeometry;

//设置空间关系类型

pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains;

//获取FeatureCursor游标

IFeatureCursor pFeatureCursor = pFeatureLayer.Search(pQueryFilter, false);

//遍历FeatureCursor

IFeature pFeature = pFeatureCursor.NextFeature();

while (pFeature != null)

{

//获取要素对象

pList.Add(pFeature);

pFeature = pFeatureCursor.NextFeature();

}

System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeatureCursor);

return pList;

}

catch (Exception Err)

{

MessageBox.Show(Err.Message, \提示\

return null;

}

}

CODE:

bool bSearch = false; //定义bool变量用于启动多边形查询功能

private void button1_Click(object sender, EventArgs e)

{

try

{

//向地图控件添加内存图层

IFeatureLayer pFeatureLayer =

this.AddFeatureLayerByMemoryWS(this.axMapControl1,this.axMapControl1.SpatialReference);

this.axMapControl1.AddLayer(pFeatureLayer);

//设置鼠标样式为十字丝

this.axMapControl1.MousePointer = esriControlsMousePointer.esriPointerCrosshair;

//启动范围查询功能

bSearch = true;

}

添加一个新的Form在Form上添加一个DataGridView控件用于显示查询结果信息。如图4所示:

CODE:

private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)

{

if (bSearch)

{

//设置鼠标样式为十字丝

this.axMapControl1.MousePointer = esriControlsMousePointer.esriPointerCrosshair;

//获取画定范围的Geometry

IGeometry pGeometry = this.axMapControl1.TrackPolygon();

//添加半透名临时图形

this.AddTransTempEle(this.axMapControl1, pGeometry, false);

IFeatureLayer pFeatureLayer=this.axMapControl1.get_Layer(1) as IFeatureLayer;

//执行查询获取符号条件的要素

List pFList = this.GetSeartchFeatures(pFeatureLayer, pGeometry);

attribute pAttribute = new attribute();

//设置信息显示窗体中DataGridView的属性

//设置行数pFList.Count+1包括字段名哪一行即表头

pAttribute.dataGridView1.RowCount = pFList.Count+1;

//设置边界风格

pAttribute.dataGridView1.ColumnHeadersBorderStyle. = DataGridViewHeaderBorderStyle.Sunken;

//设置列数

pAttribute.dataGridView1.ColumnCount = pFList[0].Fields.FieldCount;

//遍历第一个要素的字段用于给列头赋值(字段的名称)

for(int m=0;m

{

搜索更多关于: ArcGIS Engine地图查询 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

//创建要素 IFeature pNFeature = pFC.CreateFeature(); pNFeature.Shape = pPolygon; pNFeature.set_Value(pFC.FindField(\ pNFeature.Store(); pMapCtrl.Refresh(esriViewDrawPhase.esriViewGeography, pFlyr, pFlyr.AreaOfInterest); } catch (Exce

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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