
ArcGIS Engine
深蓝静音
一年365天,一天过365次!
展开
-
如何捕获和响应MapControl的添加图层事件
通常地图都需要加上一个鹰眼,要实现鹰眼功能,不可避免的就需要实现主地图和鹰眼的同步。令人失望的是ArcGIS的帮助文档和范例中都采用同时在主地图和鹰眼中加载mxd文档的方式来实现同步的,确切的说,这样只是加载了地图,并没有实现同步。如果程序启动后并没有加载任何地图文档,而只是添加图层,那么这种处理方式就暴露马脚了。其实会出问题的不仅仅是这种情况,当我们修改主地图的符号、样式等时,也会有问题,因此我原创 2012-07-30 17:02:58 · 7206 阅读 · 4 评论 -
AE初始化liscence
[C#] using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using ESRI.ArcGIS.esriSystem;namespace GlobeCtrMouseAndKey{ static class Program原创 2012-01-09 16:16:17 · 2830 阅读 · 0 评论 -
关于MapControl和PageLayout地图同步的问题
按照ArcMap的处理方式,地图和制图是分两个页面的,他们之间通过共享同一个Map对象来实现地图同步,具体做法就是在PageLayoutControl的PageLayoutReplaced事件发生时,将当前的活动地图指派给MapControl,然后在二者之间实现切换,基本做法如下:原创 2014-04-21 11:25:39 · 9516 阅读 · 3 评论 -
ArcGIS Engine二次开发——实现卷帘和图层闪烁
首先需要定义一个成员对象ILayerEffectProperties:private ILayerEffectProperties m_LayerEffectProperties;IMap pMap = wndMap.ActiveView.FocusMap;MapActiveViewEvents = pMap as ESRI.ArcGIS.Carto.IActiveView原创 2013-12-13 10:10:20 · 8772 阅读 · 7 评论 -
ArcEngie开发-添加NeatLine
添加图廓线,图廓线的真实面目是FrameElement,添加方法如下: private void wndBtnAddNeatLine_ItemClick(object sender, ItemClickEventArgs e) { //实验代码: //添加整理图廓线 图廓线的真实面目是FrameElement原创 2013-11-15 09:08:18 · 2566 阅读 · 1 评论 -
ArcEngie开发-添加MapFrame
//////添加地图框架/////////privatevoidwndBtnAddMapFrame_ItemClick(objectsender, ItemClickEventArgse){ IEnvelopeenvelop= new EnvelopeClass(); envelop.XMin= 2; envelop.YMin=原创 2013-11-15 08:43:51 · 3289 阅读 · 0 评论 -
IRasterStretch2接口的StretchStats属性的真实面目是什么
这个问题源于制作RGB彩色合成图。仿照ArcMap中的做法,我们发现Arcmap中除了标准差拉伸、直方图均衡化、最大最小值拉伸、直方图匹配等既定的拉伸方法之外,还有最直接的自定义直方图拉伸。在我想实现这个供的时候,发现最有可能与此相关的接口就是IRasterStretch2,其StretchStats和SpecificationHistogram应该就是与直方图相关的属性。经过测试,问题出现了:原创 2013-11-18 17:27:41 · 2039 阅读 · 1 评论 -
如何生成IStyleGalleryItem和ISymbol对象的预览图
先来看一下ArcMap的符号选择器:ArcMap的符号选择器都提供了符号的预览图,另一个预览图的位置是在按钮上,比如设置MapGrid的格网交点符号和格网线符号。本文给出生成这里的符号预览图的代码。方法1:通过ISymbologyStyleClass的Preview方法生成预览图 private string routin_ReadRegistry(str原创 2012-12-30 00:03:08 · 4888 阅读 · 0 评论 -
如何解决栅格色彩拉伸后TocControl里的图例不能更新的问题
关于栅格图层色彩拉伸,有很多例子,网上也可以找到各种资料,但是所有的资料都没有解决一个问题,那就是只说如何做拉伸,但是做色彩拉伸以后的图例更新问题一直没有正解。最早提出这个问题的帖子,在这里:http://forums.esri.com/thread.asp?c=93&f=1170&t=191617#848069,但是答案却一直空缺着,本文就来说明一下如何解决这个问题。 首先说一下如何让原创 2012-09-19 16:55:24 · 4913 阅读 · 1 评论 -
如何解决栅格色彩拉伸后TocControl里的图例不能更新的问题2
之前对栅格图层拉伸渲染后图例不能更新的问题做了深入的探索和研究,虽然找到了解决办法,但是感觉还是和ArcMap的处理方式有差异,因为ArcMap做相同处理后其图例项的符号转换为IColorRampSymbol后,LegendClassIndex属性都是0。因为偶然的一瞥,发现RasterStretchColorRampRendererClass实现了IRasterRendererColorRamp原创 2012-09-20 14:41:27 · 2765 阅读 · 1 评论 -
如何在运行时创建MapContro并绑定到TocControl
做了一个MDI程序,想在代码中动态创建地图控件,代码如下: private void tabbedView1_QueryControl(object sender, DevExpress.XtraBars.Docking2010.Views.QueryControlEventArgs e) { Panel panel = new Pan原创 2012-09-29 18:47:03 · 5784 阅读 · 2 评论 -
ArcGIS Engine二次开发——计算shapefile面图层要素的面积
前几天,有个同事问我怎么计算面图层的面积,我也是好久没做AE的事情了,简单的查了查,告诉他用IArea接口。到了下午,他的这个问题依旧没有解决,继续求助于我。我百度了下,没有找到相应的文章,于是我意识到这个简单的事情,可能对于很多接触AE不深的人,真的是非常难得事情。最难的可能是不知道怎么做,就像我的同事一样。我很快就告诉他用IArea接口,他却惊讶的问我“你怎么知道的?”,并说他也是查到“似乎是原创 2015-03-30 14:39:42 · 10900 阅读 · 3 评论