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

当前位置:首页 > C#二次开发ArcGIS查询功能

C#二次开发ArcGIS查询功能

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 20:35:28

[地理信息系统课程设计报告]

3、DisplayToDataGridDAL类源码

classDisplayToDataGridDAL {

privatestaticIFeature pFeature; ///

///返回游标所指向的第一个元素 ///

///

publicstaticIFeature GetFeature(IFeatureCursor pFeatureCursor) {

return pFeature = pFeatureCursor.NextFeature(); } ///

///获取图层类型 ///

///

publicstaticstring getShapeType(IFeatureLayer pFeatureLayer) {

switch (pFeatureLayer.FeatureClass.ShapeType) {

caseesriGeometryType.esriGeometryPoint: return\;

caseesriGeometryType.esriGeometryPolyline: return\;

caseesriGeometryType.esriGeometryPolygon: return\; default: return\; } } ///

///获取查询过滤后的游标,将查询到的要素的属性填充到DataGridView ///

///

publicstaticvoid Dataview(IFeatureCursor pFeatureCursor,DataGridView datagridview,IFeatureLayer pFeatureLayer) {

DataSet ds = newDataSet();

DataTable table = newDataTable(\);

string shapetype = getShapeType(pFeatureLayer);

[地理信息系统课程设计报告]21 / 38

[地理信息系统课程设计报告]

for (int i = 0; i < pFeatureCursor.Fields.FieldCount; i++) { //创建表头

table.Columns.Add(pFeatureCursor.Fields.get_Field(i).Name); }

while(pFeature!=null) {

DataRow row = table.NewRow();

for (int i = 0; i < pFeature.Fields.FieldCount; i++) {

//如果字段类型是几何类型esriFieldTypeGeometry,则字段值为shapetype //反之为 get_Value()

if (pFeature.Fields.get_Field(i).Type == esriFieldType.esriFieldTypeGeometry) { row[i] = shapetype; } else

{

row[i] = pFeature.get_Value(i).ToString(); } } table.Rows.Add(row);

//游标向下移动一个要素,指向下一个要素 pFeature = pFeatureCursor.NextFeature(); }

ds.Tables.Add(table); //datagridview绑定数据源

datagridview.DataSource = ds.Tables[\]; } }

4、FixedZoomIn类源码

using System;

using System.Drawing;

using System.Runtime.InteropServices; using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.ADF.CATIDs; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; namespace MyMap.Classes {

[Guid(\)]

[地理信息系统课程设计报告]22 / 38

[地理信息系统课程设计报告]

[ClassInterface(ClassInterfaceType.None)] [ProgId(\)] publicsealedclassFixedZoomIn : BaseCommand {

#region COM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)]

staticvoid RegisterFunction(Type registerType) {

// Required for ArcGIS Component Category Registrar support ArcGISCategoryRegistration(registerType); }

[ComUnregisterFunction()] [ComVisible(false)]

staticvoid UnregisterFunction(Type registerType) {

// Required for ArcGIS Component Category Registrar support ArcGISCategoryUnregistration(registerType); }

#region ArcGIS Component Category Registrar generated code privatestaticvoid ArcGISCategoryRegistration(Type registerType) {

string regKey = string.Format(\, registerType.GUID);

ControlsCommands.Register(regKey); }

privatestaticvoid ArcGISCategoryUnregistration(Type registerType) {

string regKey = string.Format(\, registerType.GUID);

ControlsCommands.Unregister(regKey); }

#endregion #endregion

privateIHookHelper m_hookHelper; public FixedZoomIn() {

base.m_category = \; //localizable text

base.m_caption = \居中放大\; //localizable text base.m_message = \居中放大\; //localizable text base.m_toolTip = \居中放大\; //localizable text

base.m_name = \; //unique id, non-localizable (e.g. \ try

{

[地理信息系统课程设计报告]23 / 38

[地理信息系统课程设计报告]

string bitmapResourceName = GetType().Name + \;

base.m_bitmap = newBitmap(GetType(), bitmapResourceName); }

catch (Exception ex) {

System.Diagnostics.Trace.WriteLine(ex.Message, \); } }

#region Overridden Class Methods publicoverridevoid OnCreate(object hook) {

if (hook == null) return;

if (m_hookHelper == null)

m_hookHelper = newHookHelperClass(); m_hookHelper.Hook = hook;

// TODO: Add other initialization code }

publicoverridevoid OnClick() {

// TODO: Add FixedZoomIn.OnClick implementation //获取当前视图范围

IActiveView pActiveView = m_hookHelper.ActiveView; IEnvelope pEnvelope = pActiveView.Extent; //扩大视图范围并刷新视图

pEnvelope.Expand(0.5, 0.5, true);

pActiveView.Extent = pEnvelope; pActiveView.Refresh(); }

#endregion }

5、FixedZoomOut类源码

namespace MyMap.Classes {

[Guid(\)] [ClassInterface(ClassInterfaceType.None)] [ProgId(\)] publicsealedclassFixedZoomOut : BaseCommand {

#region COM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)]

[地理信息系统课程设计报告]24 / 38

搜索更多关于: C#二次开发ArcGIS查询功能 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

[地理信息系统课程设计报告] 3、DisplayToDataGridDAL类源码 classDisplayToDataGridDAL { privatestaticIFeature pFeature; /// ///返回游标所指向的第一个元素 /// ///

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