随笔分类 - ArcEngine开发
ArcEngine程序开发
摘要:通过GlobeControl提供的接口对加载在GlobeControl上的矢量特征要素进行操作的代码如下:IPoint ppPoint = new PointClass(); (ppPoint as IZAware).ZAware = true; object ppObject;object ppOwner; axGlobeCtrl.GlobeDisplay.Locate(axGlobeCtrl.GlobeDisplay.ActiveViewer, e.x, e.y, false, false, out ppPoint, out ppOwner, out ppObject); //如果为空返回
阅读全文
摘要:http://wuhaodesktop.spaces.live.com/blog/cns!7222D82032DD6AB5!143.entry从开始学AE时就在考虑这个问题,为什么画线可以让它贴着球面,但面却不行,尝试了很多方法,但最后都没能解决。后来有一天偶然在esri的edn上看到一则提示,说二维的面元素和一维的线元素不同,它不能通过其顶点坐标来确定,其中的面还有弧度的定义。想想也是,如果只定义四个顶点,谁说它就是个弧面了?没准还是个平面呢,还有可能是中间拐很多弯的那种。于是又在帮助里找怎么定义弧面的方法,结果是一个也没有。再又是一个偶然的机会,我看到了与rasterize相关的一些问题,
阅读全文
摘要:http://anshien.blog.163.com/blog/static/16996630820107309045137/在GIS开发过程中,难免会遇到各种各样的需求,而作为程序员的我们就必须要想方设法把这些需求转换为功能实现,遇到奇怪的要求只能一边郁闷一边着手。。。 抱怨到此为止,由此入正题。之前有遇到MapControl与PageLayoutControl的同步问题,这倒不是什么难题,ArcGISEngine的SDK中有实例介绍。但这次是MapControl与GlobeControl的同步。经过一段时间的研究,终是找到了解决办法,虽然有些笨拙,但为后来者提供学习还是可以的,望见谅!
阅读全文
摘要:ILayer pLayer = new MapOperationClass().GetLayer(MyGlobe, "市区道路L");IGlobeDisplayLayers pGlobeDisplayLayers = MyGlobe.GlobeDisplay as IGlobeDisplayLayers;IGlobeLayerProperties pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pLayer);IGlobeHeightProperties pGlobeHeightProperties = pGlob
阅读全文
摘要:连多态都理解错误了,丢脸!!!!!!!不知道这个和接口中的方法在不同类中的的实现不一样 之区分首先理解一下什么叫多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类覆写基类中的虚函数型方法来实现。多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中运行时的多态性是通过覆写虚成员实现。下面我们来分别说明一下多态中涉及到的
阅读全文
摘要:'该函数可以在二维和三维中使用Private Function DrawLineUseDisplay(ByVal pActiveView As IActiveView, ByVal point1 As IPoint, ByVal point2 As IPoint, ByVal pLinesym As ILineSymbol) As IElement '使用iNewLineFeedback接口来画,涉及到Display Dim pNewLineFeedback As INewLineFeedback = New NewLineFeedback pNewLineFeedback.Display =
阅读全文
摘要:很久不搞又有点忘记了,干脆记下来,免得到处找一、 通过FeatureLayer 找到数据库IfeatureClas featClass = featureLayer.FeatureClass;IDataSet dataset = featClass as IDataset;IWorkspace ws = dataset.Workspace;二、 通过数据库文件读取数据IWorkspaceFactory wsf = new ShapefileWorkspaceFactory();IWorkspace pWorkspace = wsf.Open(filePath, 0) ;//filePath为s
阅读全文
摘要:开始接触ArcGlobe了,在网上很少相关方面的资料,无论是操作还是二次开发的,都很少,对于我这样一个熟悉二维开发却没有接触过三维开发的人员来说,很是郁闷。 没有办法,只有自己一点点摸索了,结合类库图以及网上的少有的点点博文,开始了自己的漫长探索之路~IPoint pt = feat.Shape as IPoint;IEnvelope env = pt.Envelope;env.PutCoords...
阅读全文
摘要:在通过ArcGIS访问数据之前,需要首先明确一下什么是"工作空间"。在ArcGIS中工作空间指存放数据的位置,ArcGIS访问数据的机制是先打开数据对应的工作空间,然后用工作空间访问数据。对于不同的数据格式,工作空间的具体情况也是不一样的,下面分别进行阐述。 IAoInitialize pAoInit = new AoInitializeClass();if (pAoInit.IsProduc...
阅读全文
摘要:http://blog.csdn.net/zapzqc/archive/2008/01.aspx天下布武难的找到一个有ArcGlobe方面的博客,受益匪浅啊,赶紧收藏起来
阅读全文
摘要:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=54689
阅读全文
摘要:有时候需要根据外部关联表格的某一个字段的值来符号化一个图层,例如,有一个行政区的图层,它和一个属性表格关联,这个表格中记录有行政区的属性,比如“人口”,现我们需要根据人口值来符号化每一个要素。因为图层和属性表格不在同一个表格中,因此,需要将它们“Join”起来,保存在内存中,以便符号化图层的时候能读取到关联表格的字段值。这里需要注意的是取字段的时候要...
阅读全文
摘要:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=75611&extra=&page=1http://www.gisall.com/?uid-99501-mode-theme代码代码代码
阅读全文
摘要:1.C#连接Access 程序代码: using System.Data; using System.Data.OleDb; string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"DataSource=C:\BegASPNET\Northwind.mdb"; OleDbConnection ...
阅读全文
摘要:http://my.poco.cn/space/blog/blog_details.htx&blog_id=4459638arcengine栅格数据使用总结两个星期以来一直与栅格数据打交道,对AO的栅格部分应该有了一定的理解,下面是自己的一点体会,希望高手指教:-)1、栅格数据的存储类型栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AU...
阅读全文
摘要:http://www.sudu.cn/info/html/edu/20071224/10309.html 说明: 1、C#中的接口是独立于类来定义的。这和 C++模型是对立的,在 C++中接口实际上就是抽象基类。 2、接口和类都能继承多个接口。 3、而类能继承一个基类,接口根本不能继承类。这种模型避免了 C++的多继承问题,C++中不同基类中的实现可能出现冲突。因此也不再需要诸如虚拟继承和...
阅读全文
摘要://前一视图private void Redo(IActiveView activeView) { activeView.ExtentStack.Redo(); activeView.Refresh(); }//后一视图private void Undo(IActiveView activeView) { activeView.ExtentStack.Undo(); activeView.Refr...
阅读全文
摘要:一、什么是三层结构 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层. 二、三层结构的优点 1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准化; 5、利于各层逻辑的复用。 概括来说,分层式设...
阅读全文
摘要:注:outPicture -- Button按钮 savFileDialog1 -- 保存对话框控件自带例子位置:在ArcGIS安装路径下的Developerkit\SamplesNET\Engine\ExportActiveView\VBNet自带的例子比下面的还好//地图图片输出 private void outPicture_Click(object sender, EventArgs e)...
阅读全文
摘要:向AxPageLayoutControl的PageLayout中添加格网分为两种情况: 添加经纬网 和 添加公里网。两种情况的很多代码都是相同的,不过区别的地方也是很关键的。创建经纬网时,是将IMapGrid的对象赋值给IMeasuredGrid对象。创建公里网时,是将IMeasuredGrid对象的对象赋值给IMapGrid的对象,同时还要为IMeasuredGrid的对象设置投影属性(IPro...
阅读全文

浙公网安备 33010602011771号