public IFeature GetFeatureOnMouseDown(IPoint point) { try { ILayer layer = Common.GetLayerByName(mMap, "地块"); if (layer == null) { MessageBox.Show("请加载地块图层!", "提示"); return null; } //IFeatureLayer fLayer = layer as IFeatureLa…
在中篇我们讲到使用OpenFileDialog控件可以添加shp文件.(最简单的ArcGIS Engine应用程序(中)) 添加lyr文件的操作也是大同小异的. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.…
在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于ArcGIS中ArcToolBox中的批处理工具一样的程序,有输入文件的选择和输出文件的选择,类似于下面这个工具界面: 首先是查了一下ESRI的帮助文档ArcObjects Help for .NET,上面有关于如何创建自定义的Geoprocessing工具的几篇文章,介绍的不是很全面,但是可以知道创…
ArcGIS Engine 下投影坐标和经纬度坐标的相互转换 投影转经纬度 ); pPoint.Project(pSRF.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_Beijing1954)); return pPoint; } 其中,pPoint.SpatialReference ); 这行代码是设置pPoint的空间参考,也就是要转化的点的投影坐标.如果不知道投影坐标的话,转化会报异常. 2414为该投影…
原文 http://blog.sina.com.cn/s/blog_47522f7f0100nq5t.html 题目好长,但是集目前最新的工具于一身..VS是最新的2010版,不过用的是.net3.5,最热门的WPF/Silverlight,还有新的arcgis10,还有非常热的Ribbon控件... 1.安装VS2010.我用的是旗舰版.地址自己找去,百度上一搜就有. 2.安装arcgis engine 10. 3.安装arcgis api for wpf 2.0. 4.新建一个Ribbon…
在JQuery中,我们可以利用mousedown.mouseup来跟踪页面的鼠标按下与释放事件. 如何获取鼠标的位置信息呢?事件event的pageX和pageY属性可以让我们获得鼠标在页面中的具体位置信息,相当于数学坐标系中的xy坐标那样. 于是我们可以先用一个全局变量来记录鼠标按下的位置信息,再在鼠标释放的函数里判断按下的位置与释放的位置是否一致,再根据结果做操作. 示例代码如下: var x,y; $(document).mousedown(function(event){ //获取鼠标按…
原文:ArcGIS Engine开发之旅03--ArcGIS Engine中的控件 制图控件,如MapControl.PageLayoutControl,其中MapControl控件主要用于地理数据的显示和分析,PageLayoutControl用于生成一幅成品地图.MapControl封装了Map对象,而PageLayoutControl则封装了PageLayout对象.这两个控件都实现了IMxContents接口,因此不仅可以读取ArcMap创建的地图文档,而且可以将自身的地图内容写到一个新…
Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用     此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <安装目录>/DeveloperKit/Samples/Developer_Guide_Scenarios/ ArcGIS_Engine/Building_an_ArcGIS_Control_Application/Map_Viewer…
原文:<ArcGIS Engine+C#实例开发教程>第五讲 鹰眼的实现 摘要:所谓的鹰眼,就是一个缩略地图,上面有一个矩形框,矩形框区域就是当前显示的地图区域,拖动矩形框可以改变当前地图显示的位置,改变矩形框的大小,可以改变当前地图的显示区域大小,从起到导航的作用.鹰眼是地图浏览中常用的功能之一.关于鹰眼的实现方式,最常用的是用一个 MapControl控件显示地图全图,并在上面画一个红色矩形框表示当前地图的显示范围,并实现鹰眼 MapControl 与主窗体的 MapControl 互动.…
对于一个GISer来说,地图,符号这些都应该有着比别人更深刻的理解和认识,作为平台软件都会提供一套自己的符号库,符号库里面根据类别和种类进行区分,因为点,线,面的自然存在和固有属性是不肯能让你用面状符号去渲染点和线的,学GIS的人,一般都会有分类的意识. 说我是一个ArcGIS 的用户,其实算不上,只能说是ArcGIS 软件的一个粉丝和使用者而已,我工作的大部分时间都是和ArcGIS 打交道,虽然跟一个东西时间长了,了解的也就越多,这句话是不错,但是对我来说还远远不够,我在告诉别人ArcGIS…
C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674  目录(?)[+] 五实现 一 加载ArcGIS控件 二 在容器中嵌入ArcGIS控件 三 加载Map文档到MapControl与PageLayoutControl 四 设置ToolbarControl与TOCControl控件的绑定控件 五 处理窗口缩放 六 向ToolbarControl增加命令 七 给PageLayoutContr…
一.前言 众所周知,二维GIS技术发展了近四十年,伴随着计算机软硬件以及关系型数据库的飞速发展,二维GIS技术已日臻完善.在对地理信息的分析功能上有着无可比拟的优势.一些宏观的地理信息,一维的地理信息,如河流.公路等,以及二维的地理信息,如植被.湖泊.人口数量等,在对这些地理信息的分析和处理上,比较适合采用二维GIS系统.二维GIS始于20世纪60年代的机助制图,今天它已经深入社会的各行各业,如土地管理.电力.电信.水利.消防.交通.规划等,但二维GIS有其自身难以克服的缺陷,它本质上是基于抽象…
属性查询即基于空间数据的属性数据的查询,通过用户提交SQL语言中的where语句定义的查询条件,对属性数据进行搜索,从而得到查询结果的操作. 相关的类与接口 与属性查询功能相关的类主要有QureyFilter.QueryDef.Cursor.FeatureCursor等.涉及的接口有IQueryFilter.IQueryDef.ICursor.IFeatureCursor以及IFeatureSelection等.以上的类和接口都位于ArcGIS.Geodatabase命名空间中. 1.Query…
ArcGIS Engine开发中数据库的加载 1.加载个人地理数据库数据 个人地理数据库(Personal Geodatabase)使用Miscrosoft Access文件(*.mdb)进行空间数据的存储和管理,它将不同的数据统一纳入Access文件中,便于数据的管理与迁移,容量限制为2GB.个人地理数据库支持单用户编辑,不支持版本管理.在进行ArcGIS软件操作和开发的学习过程中,一般建议采用个人地理数据库进行数据的 组织和存储,同时也便于直接导到ArcSDE空间数据库中.加载个人地理数据库…
ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现的功能主要有地图的基本操作.信息查询.专题地图制作.数据编辑.网络分析.空间统计分析.三维分析等. 1.地图的基本操作 地图的基本操作主要包括加载矢量.栅格数据,浏览缩放地图,保存地图,在地图上显示文本注记,绘制点线面几何体等. 2.信息查询 信息查询主要通过矩形圆形或多边形来选中地图上的要素,或者…
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGIS Engine中如何访问.对ArcGIS桌面应用有一定了解的读者更适合阅读本文.本文的示例代码是用C#编写. 1.Shapefile 2.Coverage 3.Personal Geodatabase 4.Enterprise Geodatabase 5.Tin 6.Raster 7.CAD 8.…
ArcGIS Engine中的数据访问 数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGIS Engine中如何访问.对ArcGIS桌面应用有一定了解的读者更适合阅读本文.本文的示例代码是用C#编写. 1.      Shapefile 2.      Coverage 3.      Personal Geodatabase 4.      En…
原文:ArcGIS Engine开发之旅10--空间参考及坐标转换 空间参考(Spatial Reference)是 GIS 数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. 在同一个地图上显示的地图数据的空间参考必须是一致的,如果两个图层的空间参考不一致,往往会导致两幅地图无法正确拼合,因此开发一个 GIS 系统时,为数据选择正确的空间参考非常重要. 1 相关知识  1.1大地水准面  大地水准面是由静止海水面并向大陆延伸所形成的不规则的封闭曲面. 1.2地球…
原文:ArcGIS Engine开发之旅04---ARCGIS接口详细说明 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.      IFieldEdit接口(esriGeoDatabase)... 2 3.      IFields接口(esriGeoDatabase)... 2 4. IRow接口(esriGeoDatabase)... 3 5. ITable接口(esriGeoDatabase)... 3 6. IAr…
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGIS Engine中如何访问.对ArcGIS桌面应用有一定了解的读者更适合阅读本文.本文的示例代码是用C#编写. 1.Shapefile 2.Coverage 3.Personal Geodatabase 4.Enterprise Geodatabase 5.Tin 6.Raster 7.CAD 8.…
原文 ArcGIS Engine 捕捉 bool bCreateElement = true; ;//时间间隔 ;//初始值 IElement m_element = null; //界面绘制点元素 IPoint currentPoint = new PointClass(); //当前鼠标点 IPoint snapPoint = null; //捕捉到的点 IMovePointFeedback pFeedback = new MovePointFeedbackClass(); public v…
1.Visual Studio 2012环境下安装ArcGIS Engine 10 Visual Studio 2012环境下安装ArcObject SDK for the Microsoft .Net Framework 10. 注册表中添加HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\InstallDir(类型为REG_SZ),并赋值为C:\Program Files (x86)\ArcGIS\Deve…
原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第七讲 图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用.在第二阶段中,我们继续完成符号参数的调整与“更多符号”的加载. 教程目录: 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutControl同步 第四讲 状态栏信息的添加与实现 第五讲 鹰眼的实现 第六讲 右键菜单添加与实现 教程Bug及优化方案1 第七讲…
原文:<ArcGIS Engine+C#实例开发教程>第六讲 右键菜单添加与实现 摘要:在这一讲中,大家将实现TOCControl控件和主地图控件的右键菜单.在AE开发中,右键菜单有两种实现方式,一是使用VS2005自带的ContextMenuStrip控件,二是用AE封装的IToolbarMenu接口.相比较而言,后者更为简单实用,本文采用后者的实现方法. 教程目录: 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutCont…
原文:<ArcGIS Engine+C#实例开发教程>第四讲 状态栏信息的添加与实现 摘要:在上一讲中,我们完成了 MapControl 和PageLayoutControl两种视图的同步工作,本讲我们将完成状态栏信息的添加与实现.应用程序的状态栏一般用来显示程序的当前状态,当前所使用的工具. GIS应用程序一般也在状态栏显示当前光标的坐标.比例尺等信息.学习完本讲内容,您将学会状态栏编程的基本方法,并且能够在我们的程序的状态栏中添加且显示以下信息:当前所用工具信息.当前比例尺.当前坐标.  …
原文:使用Advanced Installer 自动部署 Arcgis Engine Runtime 10.0 目前采用Arcgis9.2 + c#(vs2008)作为程序开发平台,是一个不错的搭配.(虽然标准搭配是9.3+vs2008)但是到目前面临了一个很严重的问题,就是arcgis desktop的license到2011年11月11日到期,虽然ae的许可是无限期的,但是将影响arcmap软件编辑处理图形.无奈之下,需要尽快升级到arcgis10.0,这个版本目前有无限期的许可. 目前开发…
转自原文  ArcGIS engine中Display类库——Display Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库还包含了表示符号和颜色的对象,用于控制在显示(display)中绘制时实体的属性.这个类库也包含了用户与显示(display)交互时的可视化反馈的对象.完成这些功能的对象被归并到一组类库子系统中. 这些类库子系统是: n         Display n         Dynamic Di…
你看到的这个文章来自于http://www.cnblogs.com/ayanmw ArcGIS Engine Developer Kit10 可以从VeryCD上下载到.其不需要破解,只需要你有一个已经安装好了的Lincense Manage.授权Engine即可. 下面是安装界面 可以看到有几项:Runtime / .net/C++/VBA/ArcSDE for Sql Server(x64+x86)/ArcGIS Data Interoperability Extension/License…
转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库还包含了表示符号和颜色的对象,用于控制在显示(display)中绘制时实体的属性.这个类库也包含了用户与显示(display)交互时的可视化反馈的对象.完成这些功能的对象被归并到一组类库子系统中. 这些类库子系统是: n         Display n         Dynamic Displ…
专题地图(Thematic Map)是着重表示一种或数种自然要素特征或社会经济现象的地图 专题地图的内容由两部分构成: 1.专题内容——图上突出表示的自然或社会经济现象及其有关特征 2.地理基础——用以标明专题要素空间位置与地理背景的普通地图内容,主要有经纬网.水系.境界.居民地等. 专题地图制作依据要素的一个或多个不同的属性字段,根据字段值赋予地理对象不同的符号样式或者颜色,以区分不同属性值的地理要素. ArcGIS Engine提供了8种标准的着色方案,每一种方案都对应了一类特征渲染器(Re…