Category: 二次开发

ArcEngine开发控件授权、代码授权license方式介绍

ArcEngine开发的时候需要license授权,授权的方式基本上分为两种,一种是使用控件授权,另一种是使用代码授权,两者都可以达到授权的目的。n第一种方法:n       打开VS开发工具工具箱,找到【ArcGIS Windows Forms】下LicenseControl控件(如下图),直接拖放至winForm窗体任何位置即可。

arcEngine开发之加载栅格数据

加载数据思路nn在Engine中加载各种各样的数据都是通过这样的格式nnnnIWorkspaceFactory pWorkspace = new IWorkspaceFactory();nIWorkspace pWorkspace = pWorkspace.OpenFromFile(string path, int hWnd);npWorkspace as … …

arcEngine部分刷新问题

arcEngine部分刷新问题

在数据量较大时,不亦使用MapControl.Refresh()方法,这会使得所有数据重新加载,所以建议使用ActiveView.PartialRefresh()的方式来部分刷新,在项目中,常遇到要选中并高亮显示某个feature的情况,具体做法如下:rnrnESRI.ArcGIS.Carto.ILayer layer = axMapControl1.get_Layer(0);rnESRI.Arc

ArcEngine的拓扑分析之ITopologicalOperator

转载自:http://blog.csdn.net/anlidengshiwei/article/details/40377437rnrnrnrnrn先来看看ITopologicalOperator的成员:截图来自帮助文档:rnrnrnrnrn简要介绍下各个成员的汉语翻译:rnrn1、Boundary,边界,获取一个Geometry的边界;rnrn用法:rnrnrnrnrnrn[csharp] vi

ArcEngine控制台应用程序

ArcEngine控制台应用程序

控制台应用程序相比其他应用程序,更加简单,简化了许多冗余,可以让我们更加关注于本质的东西。现在让我们看一看ArcGIS Engine的控制台应用程序吧!一、首先是许可绑定:n  1、运行时环境的绑定n       n ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);  2、AO的许可级别

一起学习ArcEngine(8)鹰眼

一起学习ArcEngine(8)鹰眼

ae的官方类库没有提供该控件,需要自己实现,不过也比较简单,原理或实现的思路是,另外增加一个axMapControl控件,把他的视图设为地图的全图范围,把当前地图的范围,在这个地图控件上用红色框画出来即可。rn首先新建一个用户控件,名称设为MapEagle,在控件上拖拽一个axmapcontrol控件,名称设为axMapEagle ,用来显示地图。rn接下来,增加一个自定义属性,用来和地图主窗口关

ArcEngine之接口IQueryDef,数据库中使用SQL语句

ArcEngine之接口IQueryDef,数据库中使用SQL语句

文件地理数据库允许在n QueryDef 中通过 SubFields(字段列表)方法使用表达式和别名完善分析和报告。此外,通过 PostFixClause 支持 ORDER BY 和 GROUP BY。在支持 GROUP BY 时,表达式包括聚合函数,如 MIN、MAX 和 SUM。nnnnALIASnn提供给列另外一个名称以提供更易于理解的输出。nnSQLnnnSELEC

模仿ArcEngine的 Identify功能展示要素的属性信息

1、先在主窗体中添加一个“详细信息按钮”,双击这个按钮添加如下事件:nnnn 这个pMouseOperate是用来过滤在mapControl中的点击事件。nn2、设计详细信息窗体,并对窗体中控件的属性用代码赋值并绑定nnnn nn public void showDetails(IFeature pFeature)n        n            pfeature = pFeatur…

ArcEngine开发之自定义工具栏–打开文件(C#)

ArcEngine开发之自定义工具栏–打开文件(C#)

1、打开地图文档rn创建GIS类,选择Base Command模版,类的名称为OpenNewMapDocument,选择第2类:ArcMap MapControl or PageLayoutControl commandrn以下为该文档的代码:rnusing System;nusing System.Drawing;nusing System.Windows.Forms;nusing System

ArcEngine输出当前显示范围为JPG图像

ArcEngine输出当前显示范围为JPG图像

实现函数如下:n /// n /// 输出当前显示范围为JPG图像n /// n /// 显示范围n /// 保存路径n /// 显示控件n private void PRV_ExportToJPG(IEnvelope IN_Envolope, string IN_SaveFile,MapContr

Arcengine+C#实现矢量数据的裁剪

Arcengine+C#实现矢量数据的裁剪

最近工作需要完成图像的裁剪,因为有很多需要裁剪的图像,用arcgis做的话工作量太大,而且后期工作涉及到自动化处理,所以写了段代码用engine实现图像的裁剪功能。首先要获得你所需要被裁剪的图层的IFeatureLayer和裁剪图层的IFeatureLayer,然后调用IBasicGeoprocessor.Clip方法进行裁剪,我把该方法单独封装了一下,代码如下:rn public IFeatur

ArcEngine标注和注记

ArcEngine标注和注记

标注和注记是ArcEngine中提供的两种使用文字信息标注地图要素的方式.其中标注是作为图层的属性存在的,可以动态创建,注记作为地理要素被存储.需要注意的是Shp文件不支持注记.

Arcgis+ArcEngine+Java开发软件安装配置问题

其中ArcEngine为Arcgis的子模块,在安装Arcgis过程中可一并安装。n        安装过程指导参见:http://malagis.com/arcgis-desktop-arcengine-fully-cracked-installation-tutorial-1.htmlnnn        安装完Arcgis

ArcEngine之Com释放(1)

ArcEngine之Com释放(1)

AO底层基于COM架构,ESRI系列产品基本都直接AO组件。 特点如下: 1、原生的组件属于非托管组件,这可以从产品的进化过程得出结论。 2、目前的托管组件例如AE .net开发包,都是直接通过RCW(runtime callable wrapper)方式调用AO底层的组件 3、Desktop依然是直接基于COM,通过CCW(COM Callable Wrapper)方式支持我们用.ne…

ArcEngine开发遇到的坑

ArcEngine开发遇到的坑

环境ArcGIS10.1 Oracle11gnn1、代码成功创建要素数据集,但是在oracle数据库中刷新不出来。解决方法:经检查发现该段代码放在IWorkSpaceEdit.startEditing后面,由于创建后并没有调用stopediting(true),所以一直识别失败。把这段代码提到startEditing之前执行。nn2、更新数据报ORA-20085 Insert Spatial Re…

ArcEngine中打开各类数据源(WorkSpace)的连接

ArcEngine中打开各类数据源(WorkSpace)的连接

(SDE、personal/File、ShapeFile、CAD数据、影像图、影像数据集)rn转自:http://www.byywee.com/page/M0/S578/578771.htmlrnArcEngine 可以接管多种数据源。在开辟过程中我们应用了如下几种数据源rn1.企业数据库(SDE)rnrn   企业数据库须要应用SDE来经管,所以须要应用SDE的Workspace来默示连接。 在

ArcEngine合并要素

开发环境:VS2013 + ArcEngine 10.4n在数据量较大时,请用ITopologicalOperator的ConstructUnion方法,而不是一个一个Unionnusing System;nusing System.Collections.Generic;nusing System.Linq;nusing System.Text;nusing

ArcEngine 开发帮助网址大全

ArcEngine 开发帮助网址大全

1. rnArcGis Engine基础开发教程系列rnrn1.ArcGISEngine基础开发教程(0)——目录rnrn2.ArcGISEngine基础开发教程(1)——创建第一个ArcGIS Engine桌面应用程序rnrn3.ArcGISEngine基础开发教程(2)——学

Arcengine Element 之 Redo Undo

Arcengine Element 之 Redo Undo

源码 Demo:https://download.csdn.net/download/wangtao510/10942524nn接口 :IOperationnn第一步: 获取IOperationStack  nn                          IOperationStack pStrack=new ControlsOperationStack();  //操作堆 nn     …

Arcengine的工具中实现Snapping(捕捉)

Arcengine的工具中实现Snapping(捕捉)

在Engine的工具(ITool)里:rnrn rnrnOnClick事件处理函数中:rnrn首先需要获取一个图层,作为Snapping的参照,rnrnIFeatureLayer targetLayerrnrn rnrn然后声明一个IMovePointFeedBack作为鼠标移动时捕捉点的显示:rnrnrnrnrnrn[c-sharp] viewrn plain copyrnrnrnrnrnrnr

30个最酷的Windows Phone 7教程

http://mobile.csdn.net/a/20110107/289687.html   导读:近期微软MSDN博客作者Ghassan Chahine列举了30个最佳的Windows Phone 7教程 这里列举了在最新的Windows Phone 7平台上,30个最酷的且令所有开发人员感兴趣的有关应用、游戏的Windows Phone开发文章。 以下为全部30个最佳教程文章的链接:   Building

ArcEngine数据导入经验(大数据量)

ArcEngine数据导入经验(大数据量)

(一)nnGIS系统数据是基础,想必大家在做ArcEngine二次开发的过程中都会遇到向MDB和SDE写入数据的工作,我们将会通过几个篇幅,从大数据量导入过程中的问题和解决方式入手带给大家一些实用的经验。nn1.数据的写入和删除要使用IWorkspaceEdit.StartEditing来开启一个编辑流程,千万别草率的写入和删除。

arcengine 创建mdb

arcengine 创建mdb

string filePath=”E:\\”;rn                string fileName=”ArcgisTest”;rn                pWorksapceFactory = new AccessWorkspaceFactory();rn                IWorkspaceName worksapcename = pWorksapceFact

地图打印资源 ArcEngine

地图打印资源 ArcEngine

// nn/// 按纸张打印地图 nn/// nn/// nn/// nnprivate void PrintAuto(IActiveView pActiveView)nnnn nn IPaper pPaper = new Paper();nn IPrinter pPrinter = new EmfPrinterClass();nn nn System.Drawing.Prin

ARCEngine中Raster数据的相关操作

ARCEngine中Raster数据的相关操作

1、根据文件名添加栅格数据nn根据文件名添加栅格数据主要是使用IRasterLayer接口,通过IRasterLayer接口的CreateFromFilePath方法从已知Raster数据的文件路径来创建一个IRasterLayer,然后将该对象添加到Map中即可。如下代码:nn        private void 添加栅格数据_Click(object sender, EventAr

Arcengine制图表达的一些理解

Arcengine制图表达的一些理解

Arcgis的制图表达博大精深,首先是一个图层转换为制图表达图层,其中的每一个要素都会绑定一个规则ID(Rule_id),n那么在arcengine中,我们如何去编辑制图表达呢?

arcengine 二次开发产品部署

arcengine 二次开发产品部署

ArcGIS Engine Runtime 是部署的时候安装在客户机上的东西,它有分两个类型,一个是ArcGIS Engine Runtime for Windows,另外一个是ArcGIS Engine Runtime for Linux,而在ArcGIS 10.1的时候名称发生了变化。rnrn rnArcGIS Engine Runtime for Windows rnArcGIS Engin

ArcEngine中Feature对象的Shape属性和ShapeCopy属性

ArcEngine中Feature对象的Shape属性和ShapeCopy属性

1、ShapeCopy只读属性是对要素Shape属性的复制,当修改一个要素或要素集的时候,用ShapeCopy属性获取一个要素的Shape,然后进行几何形状的修改。rn2、Shape典型的应用:rna、通过ShapeCopy属性获取一个要素的的几何形状;rnb、修改获得的几何形状;rnc、利用IFeature.Shape设置要素的几何形状Geometryrnd、保存要素

[ArcEngine地图制图系列]—添加地图标题

[ArcEngine地图制图系列]—添加地图标题

添加地图标题的核心代码如下rn        private IHookHelper m_hookHelper = null;rn        private IPageLayoutControl2 axPageControl;rn        private TitleForm frmTitle; //设置标题样式的窗体rn        private string title = “”;

arcengine创建要素类、图层的方法

arcengine创建要素类、图层的方法

别人写的,感觉不错rnrn/// rn  2        /// 创建要素类rn  3        /// rn  4        /// IWorkspace或者IFeatureDataset对象rn  5        /// 要素类名称rn  6        /// 空间参考rn  7        /// 要素类型rn  8        /// 几何类型rn  9

ArcEngine教程(三)——图层的基本操作

ArcEngine教程(三)——图层的基本操作

本篇主要介绍图层的基本操作,包括打开、删除;以及绘制地图对象的方法。nn一、图层的基本操作nn首先说下图层,地理数据是以图层的形式加载到地图对象(Map)上的,图层是作为一个中介链接地图对象和数据,图层中不存储地理数据,只添加了地理数据的引用。地理数据始终保存在地理数据文件或GeoDatabase中。nn1.1 打开图层 n打开图层的思路:nnn打开地理数据文件n新建图层,将图层对应的地理数据指向…

ArcEngine IMap接口的用法

ArcEngine IMap接口的用法

使用IMap接口显示各种数据源的数据。rnIMap接口的成员rnActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer。rnAddLayer:向地图中添加单个图层。rnAddLayers:向地图中添加多个图层。rnAddMapSurround:向地图中添加map surround。rnAnnotationEngine:地图使用的注记(

ArcEngine license初始化

ArcEngine license初始化

public static void ESRILicense()                    ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);            IAoInitialize mAoInitialize = new AoInitialize();            e…

C#+arcengine获得栅格数据的属性表

C#+arcengine获得栅格数据的属性表

此文为或的栅格数据的属性表的功能,在此,我的属性表中有count和value字段,其中value是栅格数据的高程值,count是value在影像中出现的次数,此程序的功能为得到count最大的数,以此来获得对应的value即此栅格影像的高程值的众数,如下:nn  /// n        /// 获得属性表n        /// n        /// raster的路径

ArcEngine实现空间分析

1.熟悉 ITopologicalOperator 接口(用于空间拓扑运算)的使用rnrn2.熟悉 IRelationalOperator 接口(用于空间关联运算)的使用rnrn3.熟悉 IProximityOperator 接口(用于空间距离运算)的使用rnrn●·● 目录:rnrnA1 ………… ITopologicalOperator5 接口rnrn公共方法:Buffer 方法:Bounda

ArcEngine数据编辑操作–添加线

ArcEngine数据编辑操作–添加线

文章原址:http://blog.sina.com.cn/s/blog_506f0a950100dbgk.htmlrnrnrn    添加线rnrn    添加线的方法跟添加点一样,不同的只是地物类型不一样而已,我把代码贴出来,大家跟添加点的方式进行对比。这样便于记忆。也有利于理解。rnrn     public void AddLineByWrite()rnrn     rnrn

ArcEngine空间编辑(开始编辑与选择要素举例)

ArcEngine空间编辑(开始编辑与选择要素举例)

最近琢磨了一下ArcEngine的空间编辑功能,包括开始/保存/结束编辑,选择要素,移动要素,删除要素,剪切要素,粘贴要素,添加要素,点线面的绘画,属性编辑,撤销和恢复着几项。其实这些空间编辑功能有一些是可以直接调用类库命令来进行编辑的,有些是需要自定义一个继承了ICommand和ITool的类来添加命令。

ArcEngine数据删除几种方法

ArcEngine数据删除几种方法

一、 几种删除方法代码1. 查询结果中删除 private void Delete1(IFeatureClass PFeatureclass)                  IQueryFilter pQueryFilter = new QueryFilterClass();           pQueryFilter.WhereClause = “objectI

ArcEngine调用GP工具实现多边形Clip裁剪功能

ArcEngine调用GP工具实现多边形Clip裁剪功能

在做多边形裁剪的之前,在网上搜索了很多相关的帖子,代码都差不多,但是很多都没有说清楚,在实际的操作过程中有些地方需要注意和特别指明的,现将一些个人觉得需要注意的地方说一说:rn   核心的代码只有下面几行就可实现裁剪:rn               Geoprocessor g = new Geoprocessor();    //实例化一个GP对象rn                g.Ove

ArcEngine利用ITopologicalOperator实现裁剪功能

ArcEngine利用ITopologicalOperator实现裁剪功能

http://blog.csdn.net/longronggis/article/details/8125800 rnrnrn       本博客发表过一篇ArcEngine通过调用GP工具实现裁剪的文章,但是GP工具对输入输出的参数要求高,而且用于裁剪的图层为shp文件,如果在系统中需要通过鼠标绘制图形实现裁剪,那么GP工具就不是那么方便。

Arcengine 实现要素选取的方法(转载)

Arcengine 实现要素选取的方法(转载)

选择一个要素或者一个要素集(FeatureSelection)的方法很多,如IMap::SelectByShape、ILayer::search、IFeatureSection::SelectFeature等方法rnrn主要用到的方法:rnrnIMap接口的SelectFeature(Layer, Feature) (方法,从一个Layer中选择一个Feature);rnrnIMap接口Selec

ArcEngine 数据导入经验-大数据量

ArcEngine 数据导入经验-大数据量

(一)rnGIS系统数据是基础,想必大家在做ArcEngine二次开发的过程中都会遇到向MDB和SDE写入数据的工作,我们将会通过几个篇幅,从大数据量导入过程中的问题和解决方式入手带给大家一些实用的经验。rn1.数据的写入和删除要使用IWorkspaceEdit.StartEditing来开启一个编辑流程,千万别草率的写入和删除。

ArcEngine数据编辑操作–通过线创建面

ArcEngine数据编辑操作–通过线创建面

原文地址:http://blog.sina.com.cn/s/blog_506f0a950100dbh4.htmlrnrnrn/// rn/// 通过线创建面rn/// rn/// name=”pPolyline”>线rn/// 面rnIPolygon ConstructPolygonFromPolyline(IPolyline pPolyline)rnrn    IGeometryCollec