Category: ArcEngine

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

ArcEngine打开数据源(FeatureClass)

ArcEngine打开数据源(FeatureClass)

1、打开GDBnFileGDBWorkspaceFactory fileGDBWorkspaceFactory = new FileGDBWorkspaceFactory();nIWorkspace workspace = fileGDBWorkspaceFactory.OpenFromFile(“GDB路径”, 0);nIFeatureWorkspace featureWorkspace = w…

arcengine 开发几个注意释放内存的地方

在循环、查询过程中经常出现如下错误: nnnnn1 、循环的 游标一定要释放不然会报错。n  n //按图形查找重复路段n private void find_CFLD(IFeature MyFeat, IFeatureLayer _featlayer)n nnn ISpatialFilter zd_spatialfilter =

Arcengine 实现要素选取的方法

Arcengine 实现要素选取的方法

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

泡美眉

前几天就安装ArcGIS DeskTop与ArcEngine作了点实验。我先不装DeskTop,直接装Engine9.2 Soft Develop Kit。结果提示我需要提前安装ArcEngine Runtime或者ArcGIS DeskTop。我在想:也许ArcGIS DeskTop安装包中应该包含ArcEngine Runtime的内容。

ArcEngine 获取路径 AddData对话框

ArcEngine 获取路径 AddData对话框

最近在利用Arcengine二次开发地图模板应用时需要更改数据源的功能,Arcengine的Adddata对话框可以方便地添加支持的各类数据,但是没有给出接口可以直接获取Adddata选择的数据源,自己直接写一个添加数据对话框又太费事,所以采用了一个间接方法,终于获取了adddata的数据源,方法如下:rn1、在需要获取数据源的窗体中添加一个MapControl

ArcGis二次开发ArcEngine开篇

ArcGis二次开发ArcEngine开篇以一款简单GIS软件截图片引入本篇内容 n导读万事开头难,如何利用ArcEngine开发一款GIS产品呢?一款简单的GIS软件基本布局如上图所示,共划分为六个区域,分别是菜单栏区,工具栏区,地图/图层树管理区,地图/图层显示区以及布局(制版)区。这几个布局区域都是用ArcEngine提供的控件实现的(除菜单栏外,菜单栏用原生.NET),做ArcEngine的

ArcEngine开启编辑功能的三种方法

ArcEngine开启编辑功能的三种方法

1 使用IWorkSpaceEditnIFeatureLayer pFeatureLayer=ArcMap.Document.FocusMap.get_Layer(0) as IFeatureLayer;nIDataset pDataset = pFeatureLayer.FeatureClass as IDataset;nIWorkspace pWs = pDataset.Workspace;

ArcEngine GP工具使用心得

在ArcEngine时,GP无疑是GIS开发者的神器。自ArcEngine9.2开始新增一个程序集ESRI.ArcGIS.Geoprocessor,它能调用包含扩展模块在内的所有Geoprocessing工具。

ArcEngine正确释放资源

ArcEngine正确释放资源

AE中对MDB,SDE等数据库操作时,打开后却往往不能及时释放资源,导致别人操作提示对象被锁定。rnrn很多帖子说了很多原理,看的也烦且不实用,比如一句话概括的用System.Runtime.InteropServices.Marshal.ReleaseComObject(object o)释放,说的很不清楚,很多人试过觉的释放不掉。rnrn事实上,的确是用该方法,但释放的技巧在于,新建几个AE对

ArcEngine中动态移动点的效果

ArcEngine中动态移动点的效果

using System;nusing System.Collections.Generic;nusing System.ComponentModel;nusing System.Data;nusing System.Drawing;nusing System.Text;nusing System.Windows.Forms;nnnusing ESRI.ArcGIS.Carto;

ArcEngine画shapefile点,线,面

ArcEngine画shapefile点,线,面

即使这是最简单的编辑操作,我也走了很多弯路。今天把找到的好用的东西贴出来与大家分享。rn点编辑:rnIPoint pt;npt = axMapControl1.ToMapPoint(e.x, e.y);nIMarkerElement pMarkerElement;npMarkerElement = new MarkerElementClass();nIElement pElement;npElem

ArcEngine组合选中相邻图形

ArcEngine组合选中相邻图形

1、获取选中图形:ISelectionSet pSelSet = (pFeaLyr as IFeatureSelection).SelectionSet;rn        pSelSet.Search(null, false, out pCursor);rn                              IFeatureCursor pFeaCursor = pCursor as I

ArcEngine图层属性查询

ArcEngine图层属性查询

以下代码实现了,根据给定的索引值layerindex,图层名称显示在Label中,将图层的属性名称添加到CheckedListBox中,将属性展示在DataGridView中。rn ILayer layer = mainForm.axMapControltemp.get_Layer(layerindex);n IFeatureLayer pFeature

ArcEngine (C#)自定义命令和工具

刚学习ArcEngine ,今天学习自定义命令和工具,特在此记录下整个过程,方面以后的学习和复习。rn       优点: 自定义命令和工具可以使界面更加简洁美观,使代码更加模块化。

ArcEngine如何获取mxd中feature所在图层的渲染方式

ArcEngine如何获取mxd中feature所在图层的渲染方式

mxd中存储的是各类数据的渲染样式等,不存储数据本身,在ArcEngine中在增加或者其他编辑的时候,需要获取到feature所在图层的渲染样式,下面是博主在参考其他资料的基础上实现的获取mxd中图层的渲染方式:rn        IFeatureClass featureClass = null;rn        IObjectClass objectClass

ArcEngine创建内存FeatureClass

ArcEngine创建内存FeatureClass

public static IFeatureClass CreateMemoryFeatureClass(n ISpatialReference spatialReference, esriGeometryType geometryType, string name = “Temp”)n n // 创建内存工作空间n

ArcEngine数据编辑–选择要素

ArcEngine数据编辑–选择要素

好久没有写博文了,这段时间相对空闲一点,把AE数据编辑实现总结下。rnrnrnrnrn要编辑要素,首先要选中要素,按shift键进行多选,按esc键清空选择。rnrn个人了解的选择高亮显示有两种方式,都是在public override void OnMouseDown(int Button, int Shift, int X, int Y)事件中处理实现:rnrn1、  IFeatureSele

ArcEngine连接Arcgis Server地图服务之查询

对加载到ArcEngine里的Arcgis Server地图服务的漫游、缩放等地图浏览操作,与对本地地图一样不过,然而查询时,由于数据不再本地,所以不能用查询本地地图的那些代码,需要另外编码,但是查询的步骤还是大体类似,都需要设置查询条件,只是本地数据用IFeatureLayer.Search方法而地图服务数据则用IMapServer.QueryFeatureData

ArcEngine开发中的空间关系

相关名词nBoundary(边界): n只有线和面才有边界。面的边界是指组成面的框架线;线的边界是指线的二个端点(即起点和终点,不包括中间部分的节点);点没有边界。 nInterior(内部): n除去边界后剩下的部分即是一个要素的内部。因此线的内部指除去端点后的部分;面的内部是指除去框架线后的部分;点的内部就是点本身。 nExterior(外部): n除去该要素后的剩余的空间范围即是该要素的

ArcEngine中版本的使用

ArcEngine中版本的使用

使用版本的过程分为以下几个步骤rn1.将Workspace或者数据集注册为使用版本的Workspace或者数据集rnIVersionedObject verObj= ds as IVersionedObject;//假设ds 是一个数据集rnif(verObj!=null&&(!verObj.pVerdObj.IsRegisteredAsVersioned))rnrn //数据集可以被注册而且还

[arcengine][栅格]裁剪栅格

[arcengine][栅格]裁剪栅格

功能:通过面要素裁剪栅格图层 n版本:10.2 n注意:栅格和裁剪要素坐标统一/// n /// 裁剪栅格图层n /// n /// 栅格图层n /// 裁剪范围

C#基于vs2010的ArcEngine开发demo源码

下载地址:http://download.csdn.net/detail/laohoubin/5566955nAE开发链接地址1(积分):http://download.csdn.net/detail/laohoubin/5566955n               (不需要积分):http://www.bego.cc/file/23274093n链接地址2:http://bbs.esric

ArcEngine统计与指定范围相交的要素面积之和

ArcEngine统计与指定范围相交的要素面积之和

背景统计与一个面相交的多边形面积之和,传统的方法是查询到所有相交要素,进行面积累加。这种方式在以接口方式提供服务时,就会出现性能方面的问题。实测9个500m*500m的范围,统计面积之和时,比较糟糕的状况下,时间竟然长达近60秒!这是不可忍受的。经排查,主要慢在查询得到要素游标后的while循环上,尤其是进行拓扑相关处理,非常耗时。转念一想,不妨采用统计的接口试试。发现效果非常理想。旧方法需要近2…

ArcEngine坐标操作那些事

ArcEngine坐标操作那些事

地理数据nnn地理数据是以可用于地理信息系统 (GIS) 的格式来存储地理位置的相关信息。nn地理数据可存储在数据库、地理数据库、shapefile、coverage、栅格影像甚至是 dbf 表或 Microsoft Excel 电子表格中。nnArcGis中的Feature和elementnnn我们一般把Feature翻译为 “要素”nFeatureClass翻译为“要素类”

ArcEngine中对Feature的编辑

ArcEngine中对Feature的编辑

ArcEngine中对Feature的编辑对Feature的编辑分为以下几个部分1.新建2.修改3.删除涉及到的接口有以下几个IWorkspaceEditIFeatureClassIFeatureCursorIFeature其中IWorkspaceEdit用于启动编辑 开始编辑操作 结束编辑操作 结束编辑IFeatureClass 是数据的所在地IFeatureCursor

ArcEngine属性条件查询和空间条件查询

ArcEngine属性条件查询和空间条件查询

网址:http://blog.sina.com.cn/s/blog_4d780fc10100vwv8.htmlrnrn作者: 瞳远 rn空间数据查询按查询方式来分,主要分为两类:根据属性条件查询对象和根据几何条件查询对象。无论是根据属性还是根据几何来查询对象,都必须设置相应的查询条件。在ArcGIS Engine中,FeatureLayer对象和IFeatureClass对象有一个Search()

ArcEngine图层渲染

矢量符号化(渲染)类型rnrnrnrnrn rn要素符号化类型rn描述 rnrnrn1 rnSimpleRenderrn简单符号化rnrnrn2 rnUniqueValueRenderrn唯一值符号化rnrnrn3 rnBiUniqueValueRenderrn双变量唯一值符号化rnrnrn4 rnChartRenderrn图表符号化rnrnrn5 rnClassBreaksRendererrn分

ArcEngine教程(一)——框架控件介绍

ArcEngine二次开发需要安装ArcGIS Engine SDK和 ArcGIS Engine Runtime。 n运行ArcEngine二次开发的程序需要 ArcGIS Engine Runtime环境。 n具体的安装就不一一写了,本文所使用的环境是ae10.2+vs2012。

ArcEngine中最短路径的实现

ArcEngine中最短路径的实现

原文地址:http://www.zhixing123.cn/qita/28870.htmlrnrnrnrn最短路径分析属于ArcGIS的网络分析范畴。而ArcGIS的网络分析分为两类,分别是基于几何网络和网络数据集的网络分析。它们都可以实现最短路径功能。下面先介绍基于几何网络的最短路径分析的实现。以后会陆续介绍基于网络数据集的最短路径分析以及这两种方法的区别。rn几何网络是一种特殊的特征要素类,由

arcengine pagelayout控件设置主要代码

arcengine pagelayout控件设置主要代码

private void addtext_Click(object sender, EventArgs e)     ESRI.ArcGIS.Carto.IActiveView activeView;     ESRI.ArcGIS.Carto.IGraphicsContainer graphicsContainer;     ESRI.ArcGIS.Carto.ITextElement textElement;     ESRI.ArcGIS.Display.ITextSy

ArcEngine 高亮/闪烁

ArcEngine 高亮/闪烁

无需刷新rnprivate static void FlashPolygon(IMapControlDefault mapControlDefault, IGeometry iGeometry)nn ISimpleFillSymbol iFillSymbol;n ISymbol iSymbol;n IRgbColor iRgbColor;n iFillSymbol = n

ArcEngine在VS环境下开发遇到的一些配置问题

ArcEngine在VS环境下开发遇到的一些配置问题

Q:我要用ArcGIS Engine 10,一定要用Visual Studio 2010吗?nnA: 不一定,不论什么版本的Visual Studio和什么版本ArcGIS Engine SDK,都是可以组合的。n因为ArcGIS Engine的SDK是一些COM组件,而C#、VB、VC++对COM的支持一直是有的。nn注:Engine SDK可能会检查系统已安装的VisualStudi

ArcEngine 图层标注 (根据字段、角度)

ArcEngine 图层标注 (根据字段、角度)

ArcEngine 图层标注 (根据字段、角度)rnrnrn分类: .net Arcrn Engine2013-04-24 16:44 1786人阅读 评论(0) 收藏 举报rnrnc#AE标注rnrn用AE来控制图层是否显示标注,以及已哪一个字段作为标注的字段,以哪一个字段作为标注的角度,现将代码写下来,以备以后差用。

ArcEngine 分类标注

arcgis中可以在同一个图层中定义不同的标注方式。nnn在ArcgisEngine中实现起来如下(以按OID为条件区分为例):n /// n /// 标注特定图层n /// n /// 要标注的图层n /// 要标注的地图控件n public void PUB_ShowTargetFeature(ILayer IN_L

ArcEngine中创建内存图层、空间、属性查询

ArcEngine中创建内存图层、空间、属性查询

arcEngine9.2中新增了一个新的特征,允许创建内存工作空间。当你需要一个这样的图层时,这个图层的属性数据或者几何数据需要频繁的更新,而又不希望因此而带来效率上的问题,你就可以考虑使用内存图层。n        内存图层的创建分为五步:n      1、设置属性字段n      2、设置空间参考和几何字段n      3、创建内存工作空间n      4、在内存工作空间中创建特征类