最近在实验一个小功能,就是用arcengine10.1做一个小程序,将point类型的shp转换为polyline类型的shp文件,用到的工具是pointstoline,但就是在设置input_features和output_feature_class是出问题,总是提示参数不validate,我写的是全路径,例如:input_features = “F:\\aa.shp”,output_feature_class = "F:\\bb.shp",试了好多次,总是不成功,不知为何.帮助里面…
转自原文在ArcEngine中使用Geoprocessing工具-执行工具 来解析一下Geoprocessor类的Execute方法,他有两种重载,Execute(IGPProcess, ITrackCancel)和Execute(string, IVariantArray, ITrackCancel). Execute(IGPProcess, ITrackCancel) IGProcess是所有Geoprocessor工具类都实现了的接口,通过ITrackCancel接口能够处理用户发出的取消…
(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数 ESRI.ArcGIS.esriSystem.IPropertySet pPropSet=new PropertySetClas…
ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数 ESRI.ArcGIS.esriSystem.IProperty…
ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数…
原文 ArcEngine中打开各种数据源(WorkSpace)的连接(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数 ESRI.ArcGIS.esriSystem.IProper…
转自羊子雄起原文c#+ArcEngine中的IGroupLayer的用法 在AE开发中,我们知道axMapControl.LayerCount能获取图层的数量,但是这种方法不能获取到图层组里面的图层,这对我们对图层的操作很不方便,AE里面提供了IgroupLayer的接口,这让我们很好的对图层组操作. 一.IGroupLayer图层的获取 获取一个图层组的Layer,这里AE提供了一个 ICompositeLayer接口,可以获取到IGroupLayer中所有的图层,具体用法如下: ; i <…
转自愿文ArcEngine中使用上下左右键移动地图 因项目需要,需对mapcontrol控件响应上下左右键,从网上找的方法都一样,都值提到了需要设置axMapControl1的KeyIntercept属性为1,但这样做的结果是,除了自己在onkeydown中设置的平移1/10个屏幕大小外,系统还会有一个默认的平移操作.经研究发现,设置axMapControl1的autokeyboardscrolling属性为false即可屏蔽系统默认的对上下左右键的相应方法. axMapControl1.Aut…
1.问题描述 最近在写C#下AE的开发,在循环获取数据并修改时碰到了两个问题"超出系统资源"和"超出打开游标最大数":在网上看了一些资料,发现都是说在循环中没有释放已经使用过的对象,但是在循环中实际上是有为com对象赋值为null的,但是还是没法解决.后来想着将对象赋值为null和marshal是不是效果不一样,就特意写了一个简单的循环来测试,代码如下(初级代码,比较乱,请轻喷): public void Test_释放游标方式() { string ssName…
操作ArcEngine中的COM对象时,为了减少内存的增长,用掉的对象要手动释放常用的方法是ReleaseComObject System.Runtime.InteropServices.Marshal.ReleaseComObject(relObj); 但有时会报"COM对象与其基础RCW分开后就不能再使用"错误.这是因为对象被释放了,再去引用就找不到了,所在释放对象固然好,但要分清楚.…
ArcEngine中多边形内外环的处理 原创 2012年09月06日 22:49:11 标签: object / null / 数据库 3462 Polylgon对象是由一个或多个Ring对象的有序集合,它可以是由单个Ring对象构成,也可以使用多个Ring组成如下图所示.其中Ring可以分为Outer Ring(外环)和Inner Ring(内环)之分.外环和内环都是有方向的,它们的区别是外环的方向是顺时针的,内环的方向是逆时针.如果多边形只有外环,没有内环,很好处理,难得是如何将内环和外环区…
转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解   ArcGIS Engine中总调用IFeatureClass.Search(filter, Recycling)方法,习惯中会把Recycling参数设置为False,但就是不理解为什么要设置为False,和True有什么差别.之前也看过Engine的帮助文档,但感觉越看越糊涂,前几天有自己看了一下,加上之前的使用经验和试验,大致领悟了其中的差异. 参数…
原文 ArcEngine中最短路径的实现 最短路径分析属于ArcGIS的网络分析范畴.而ArcGIS的网络分析分为两类,分别是基于几何网络和网络数据集的网络分析.它们都可以实现最短路径功能.下面先介绍基于几何网络的最短路径分析的实现.以后会陆续介绍基于网络数据集的最短路径分析以及这两种方法的区别. 几何网络是一种特殊的特征要素类,由一系列不同类别的点要素和线要素(可以度量并能图形表达)组成的,可在FeatureDataset下面创建, 可进行图形与属性的编辑.包括流向分析和追踪分析两大功能.主要…
ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中,Workspace是由Factory打开的.代码如下: // //准备连接参数 ESRI.ArcGIS.esriSystem.IPropertySet pPropSet=new PropertySetClass(); pPropSet.SetProperty("server","…
在上一篇ArcEngine环境下合并断开的线要素(根据属性)随笔中介绍了如何通过shp文件属性表中相同的属性字段进行线要素的合并.今天刚把通过几何条件判断的方式连接断开的线要素的ArcGIS 插件完成,在这里把思路和代码和大家分享下: 一,程序思路和实现过程 1.首先读取shp线文件,将各条线要素遍历,存储在List<IFeature>,这里之所以不存在List<IPolyline>和List<IGeometry>中的原因是后两者会丢失要素的属性信息: 2.为了简化合并…
在做一个项目的过程中,发现GP运算方法 Execute(string name, IVariantArray parameters, ITrackCancel trackCancel) 与Execute(IGPProcess process, ITrackCancel trackCancel) 的执行效率竟然有差别,很是奇怪,后用反编译软件,查看dll中的代码,发现两者确实不同,代码如下: public object Execute(string name, IVariantArray para…
在ArcEngine地图操作中,缩放地图的功能经常用到,这里做一个小结. 缩放地图一般可分为以下几种情况: 1.缩放地图:与放大地图相对,一般是手动绘制区域或固定比例缩放,可调用命令或Expand函数来: 2.缩放到图层:这一种用得比较多,通常是将图层转为GeoDataset,利用其他Extent属性来缩放到图层: 3.缩放到选中:选中一个或多个要素,根据选择的要素,创建Geometry,获取Envelope.如果数据量太大,会比较耗时: 4.缩放到单个要素:有时,为了截取,需要分别缩放到单个要…
前言:jqueryt很灵活,太灵活了,可以说是他一个优点,也是他一个缺点,达到一种效果,十个人也许会用十种不同的方法来实现这个过程,结果一样,过程不一样,这到底是好,还是坏呢. 一,什么是jquery jQuery是继prototype之后又一个优秀的Javascrīpt框架.其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情.说白了,jquery就是javascript.只不过按照人的习惯思维把它封装了一个比较强大的框架.还有一点jquery能够把html和javas…
自己系统中本身对于放大缩小等功能直接是单独重写的,但是如果在加一个工具条具有相同功能的话两者之间会有一些冲突,为解决该冲突可以重写工具条的OnItemClick事件 该工具条命名为axTool 我本身是在地图的鼠标点击事件中写的 代码如下: private void axMap_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e) //操纵ae图面 { IEnvelope pE…
1,利用combobox创建色带,首先draw private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)        {         Rectangle rec=   e.Bounds;         rec.Width = rec.Width /array.Length;        string fromColor = comboBox1.Items[e.Index].ToString().Split('…
曾经认为自己对于ArcGIS 开发许可问题比较理解了,并小结在<ArcEngine10.x开发的许可问题>中. 01.权限问题 今天在调用GP时失败(插值式开发,使用的是他人框架),因为需要Advanced级别权限.有两点可以证明是权限不足:一是我在新建项目中测试成功,说明代码参数没问题:二是在问题框架调用clip(只需Basic级别)成功.更改变我的人生观念的是:同事们都说,既然权限不足,就在调用功能是再次初始化相应权限!在我的印象中,权限一旦初始化,就不可更改,除非结束程序. 02.还原真…
首先 GridUnload 这个方法在 4.7.1 + 的版本中已经删除,直接把4.7.1中的grid.common.js合来用就行. GridUnload 这个方法是直接删除原来的table,重新生成了一个table,虽然id与class是原来一样,但对于dom来说,这就是个新的table.所有在此方法后,需要给原来的grid变量重新赋值. grid.GridUnload();//unload grid = $("#jqGrid");//重新赋值…
代码如下: private void addMapServerLayer(object sender, EventArgs e)  {             IActiveView pActiveView = m_mapControl.Map as IActiveView;             IAGSServerObjectName3 pAGSServerObjectName3 = GetAGSServerConnectionName();             IName name …
1.ArcEngine中的栅格数据组织方式(详细信息见:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/009t0000000n000000/) 1.1 栅格数据集(RasterDataset)     大多数影像和栅格数据(例如正射影像或 DEM)都以栅格数据集的形式提供.栅格数据集这个术语是指存储在磁盘或地理数据库中的任何栅格数据模型.它是构建其他数据的最基本的栅格数据存储模型 - 镶嵌数据集和栅格目录管理栅格数…
使用ArcGIS Desktop “添加XY数据”或者“创建XY事件图层”工具 可以导入Excel坐标数据,生成临时图层并添加至ArcMap.ArcGlobe或者ArcScene中.在ArcEngine中可以利用GP工具(MakeXYEventLayer)将某个 x,y 坐标表添加到地图.globe 或 scene 中.该数据表中必须包含两个字段:一个用于 x 坐标,一个用于 y 坐标.Excel表的表头最好字段放至第一行,否则会报错.原本想直接将MakeXYEventLayer创建事件图层添加…
/* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ------------------------------------------------------------------- * * 使用前提:已搭建好AE的GIS基本框架,包括TOC.mapcontrol.toolbar拖控件,mxd.shp文件载入显示,查看图层属性表等 * * --------------------------------------------------…
这两天,为ArcEngine中的Merge工具的调试伤头脑筋,明明很简单的事情,就是搞不掂儿.今天忽然想到是否是中文的关系,果然,把中文修改成英文成功了.真是快郁闷死了! public static Boolean Merge(String[] inputs, String output) { Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; int strSize = inputs.Count(); String…
后记 下面给出项目中用到的自定义的封装类. AE许可初始化封装类: public class AELicenseChecker { private static volatile AELicenseChecker _instance = null; private static readonly object lockHelper = new object(); //AE许可对象 private IAoInitialize _aoInitialize = null; private AELice…
OPENGL坐标系可分为:世界坐标系和当前绘图坐标系. 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的.你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴.长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角 坐标为(1,1). 当前绘图坐标系:是绘制物体时的坐标系.程序刚初始化时,世界坐标系和当前绘图坐标系是重合 的.当用glTranslatef(),glScalef(),…
Android中SurfaceView的使用详解 http://blog.csdn.net/listening_music/article/details/6860786 Android NDK开发 native层获取Surface并显示图像 思路过程 http://www.cnblogs.com/haithink/archive/2013/03/12/2956487.html Android布局中LayoutInflater的使用(利用代码添加xml形式的Layout布局) http://ww…