将IRasterCatalog转化为ITable,然后通过ITable.GetRow返回指定索引的IRow,将IRow转为IRasterCatalogItem,进而获取IRasterCatalogItem.RasterDataset即可获取指定影像…
Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用     此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <安装目录>/DeveloperKit/Samples/Developer_Guide_Scenarios/ ArcGIS_Engine/Building_an_ArcGIS_Control_Application/Map_Viewer…
一.前言 众所周知,二维GIS技术发展了近四十年,伴随着计算机软硬件以及关系型数据库的飞速发展,二维GIS技术已日臻完善.在对地理信息的分析功能上有着无可比拟的优势.一些宏观的地理信息,一维的地理信息,如河流.公路等,以及二维的地理信息,如植被.湖泊.人口数量等,在对这些地理信息的分析和处理上,比较适合采用二维GIS系统.二维GIS始于20世纪60年代的机助制图,今天它已经深入社会的各行各业,如土地管理.电力.电信.水利.消防.交通.规划等,但二维GIS有其自身难以克服的缺陷,它本质上是基于抽象…
C#,ArcGIS Engine开发入门教程 转自:http://blog.csdn.net/yanleigis/article/details/2233674  目录(?)[+] 五实现 一 加载ArcGIS控件 二 在容器中嵌入ArcGIS控件 三 加载Map文档到MapControl与PageLayoutControl 四 设置ToolbarControl与TOCControl控件的绑定控件 五 处理窗口缩放 六 向ToolbarControl增加命令 七 给PageLayoutContr…
原文:ArcGIS Engine开发之旅10--空间参考及坐标转换 空间参考(Spatial Reference)是 GIS 数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. 在同一个地图上显示的地图数据的空间参考必须是一致的,如果两个图层的空间参考不一致,往往会导致两幅地图无法正确拼合,因此开发一个 GIS 系统时,为数据选择正确的空间参考非常重要. 1 相关知识  1.1大地水准面  大地水准面是由静止海水面并向大陆延伸所形成的不规则的封闭曲面. 1.2地球…
原文:ArcGIS Engine生成等值线(C#) 本文介绍c#写的利用ArcGIS Engine生成等值线的方法.c#写的根据雨量站的降雨量值内插出降雨量等值线的功能.做几点说明:根据离散点生成等值线:(1)判断等值线shapefile图层临时存放路径是否存在,如果不存在则创建,如果存在并不为空则删除重建:(2)加[降雨量]字段并赋值,生成等值线后删除所加字段:(3)根据所选的字段利用IDW内插生成raster,再设定间距生成contour并标注.-----------------------…
原文 http://www.gisall.com/html/47/122747-4038.html WPF(Windows Presentation Foundation)是美国微软公司推出.NET Framework 3.0的组成部分之一,它是一套基于XML..NET Framework.矢量绘图(vector graphic)技术的展示层(presentation layer)开发框架,微软视其为下一代用户界面(user interface)技术,将广泛被用于下一代的Windows平台(Wi…
原文: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…
原文:ArcGIS Engine开发之旅08--和查询相关的对象和接口 查询在GIS领域应该是一个很频繁的操作,在GIS中除了具有属性查询(和其他关系型数据库的查询类似),还提供了空间查询.在介绍查询的时候,让我们先了解下面的对象. 1.Table 对象 Table 是不含有空间信息的一张二维表,它主要实现了 ITable 接口.在这张二维表中,每一行称之为 Row(IRow),ITable 接口 定义了对这张二维表行的插入,更新,查询,以及删除等操作. 独立表(standalone table…
原文:ArcGIS Engine开发之旅07---文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 .打开栅格数据 对文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 1.打开栅格数据  要打开一个栅格数据,这个有点类似我们打开 FeatureClass 一样,先要获取工作空间,只不过我们过于要素类的时候需要 IFeatureWorkspace,而栅格数据则需要 IRasterWorkspace,示例如下: IRasterWorkspa…
你看到的这个文章来自于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中正确释放打开资源 AE中对MDB,SDE等数据库操作时,打开后却往往不能及时释放资源,导致别人操作提示对象被锁定. 很多帖子说了很多原理,看的也烦且不实用,比如一句话概括的用System.Runtime.InteropServices.Marshal.ReleaseComObject(object o)释放,说的很不清楚,很多人试过觉的释放不掉. 事实上,的确是用该方法,但释放的技巧在于,新建几个AE对象就要逐步释放几个,例如: IWorkspaceFact…
地图数据的加载 一.加载Shapefile数据 Shapefile文件是目前主流的一种空间数据的文件存储方式,也是不同GIS软件进行数据格式转换常用的中间格式.加载Shapefile数据的方式有两种:①通过工作空间加载.②通过MapControl控件的AddShapefile方法加载. 1.通过工作空间加载Shapefile文件 通过工作空间加载Shapefile文件主要用到IMap.ILayer.IFeatureLayer和IFeatureClass四个接口. 1)IMap接口 IMap接口是…
ArcGIS Engine开发中数据库的加载 1.加载个人地理数据库数据 个人地理数据库(Personal Geodatabase)使用Miscrosoft Access文件(*.mdb)进行空间数据的存储和管理,它将不同的数据统一纳入Access文件中,便于数据的管理与迁移,容量限制为2GB.个人地理数据库支持单用户编辑,不支持版本管理.在进行ArcGIS软件操作和开发的学习过程中,一般建议采用个人地理数据库进行数据的 组织和存储,同时也便于直接导到ArcSDE空间数据库中.加载个人地理数据库…
本文转载自Fransico<Python与ArcGIS Engine的集成>   1 在Python中调用AO类库 1.1  准备工作 本文所使用环境:ArcGIS 10.0.Python 2.6. AO类库在本质是COM组件,在Python中无法直接使用COM,应此需要把COM转换成Python能识别的类型. Comtypes是一个开源的基于ctypes python的.轻量级的纯COM客户端和服务器框架,利用comtypes可以把AO对象转换成python能识别的类型.Comtypes的下…
数据是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 中的多线程使用 原文链接 http://anshien.blog.163.com/blog/static/169966308201082441114173/   一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速度是相当的慢,这时如果你的程序是单线程的,那可就让人着急坏了,不知道处理到什么地步,不能操作其他的功能,无奈~~如果在这时你能够想到用多线程技术,那就来试试该如何…
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGIS Engine中如何访问.对ArcGIS桌面应用有一定了解的读者更适合阅读本文.本文的示例代码是用C#编写. 1.Shapefile 2.Coverage 3.Personal Geodatabase 4.Enterprise Geodatabase 5.Tin 6.Raster 7.CAD 8.…
jojojojo2002 原文 ArcGIS Engine栅格数据使用总结 简介:ArcGIS Engine栅格数据使用总结,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波段就是一个数据矩阵.对于格网数据(DEM数据)和单波段的影像数据,表现为仅仅只有一个波段数据的栅格数据集,而对于多光谱影像数据则表现为具有多个波段的栅格数据集.栅格编目(RasterCatalog)用于显示某个研究区域内各种相邻的栅格数据,这些相邻的栅格数据没有经过拼接处理合成一副大的影像图-  …
转自原文ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式)来绘制图形特征:marker symbols(标记符号),line symbols(线符号),和fill symbols(填充符号).这些样式同样可以用来绘制elements(元素)图形,比如在地图或制版视图上的图表边线和指北针箭头.第四个样式text symbol(文字符号)是用来绘制标注和其他文…
转自原文ArcGIS Engine 中的多线程使用 一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速度是相当的慢,这时如果你的程序是单线程的,那可就让人着急坏了,不知道处理到什么地步,不能操作其他的功能,无奈~~如果在这时你能够想到用多线程技术,那就来试试该如何完成吧. 首先,你得有点VS的多线程经验或学习经验,得知道什么多线程,代理(Delegate)是什么,同步与异步又是什么,等等.这些在VS…
一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题!         大家都了解到ArcGIS中处理大数据量时速度是相当的慢,这时如果你的程序是单线程的,那可就让人着急坏了,不知道处理到什么地步,不能操作其他的功能,无奈~~如果在这时你能够想到用多线程技术,那就来试试该如何完成吧.       首先,你得有点VS的多线程经验或学习经验,得知道什么多线程,代理(Delegate)是什么,同步与异步又是什么,等等.这些在VS的帮助文档中都有详细解释…
地图数据的加载 1.加载地图文档 ArcGIS Engine支持加载多种类型的数据,有矢量数据的Coverage.Shapefile.dwg/dxf文件,栅格数据的BMP.GRID.控件数据库等.很多情况下加载通过ArcGIS桌面制作的地图文档是最合适的(*.mxd格式). 加载地图的第三种方式: 使用IMAPControl接口的LoadMxfile方法加载. 通过IMAPDocument接口加载. 使用ArcGIS Engine中封装好的类库资源ControlsOpenDocCommandCl…
关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错. 以Engine9.2为例,应用程序是强制初始化许可,也就是说必须使用LicenseControl或AO接口初始化许可,否则应用程序无法启动.Engine9.1未采取强制初始化许可策略,而是应用程序创建时就初始化标准Engine许可.在一般情况下,我们会用将LicenseControl拖放到主窗体上完成初始化.但当Engine程序需要使用ArcGIS…
在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于ArcGIS中ArcToolBox中的批处理工具一样的程序,有输入文件的选择和输出文件的选择,类似于下面这个工具界面: 首先是查了一下ESRI的帮助文档ArcObjects Help for .NET,上面有关于如何创建自定义的Geoprocessing工具的几篇文章,介绍的不是很全面,但是可以知道创…
原文:ArcGIS Engine开发之旅05---空间数据库 1  Geodatabase概念 Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统一的.智能的空间数据模型.“统一”是指,Geodatabase之前的多个空间数据模型都不能在一个统一的模型框架下对地理空间要素信息进行统一的描述,而Geodatabase做到了这一点:“智能化”是指,在Geodatabase模型中,对空间要素的描述和表达较之前的空间数据模型更接近我们的现实世界,更能…
ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822   分类: AE开发积累2009-05-21 16:491118人阅读评论(0)收藏举报 database数据库serveruser工作class 1.加载Shapefile数据 1 IWorkspaceFactory pWorkspaceFactory;2 IFeatureWorkspace pFeatureWorkspace;3 IFeatureLa…
来自:http://blog.csdn.net/linghe301/article/details/38925481 最近有很多用户咨询在ArcGIS Engine中希望能够实现断开其他客户端连接ArcSDE的用户,其实个人认为ArcGIS Engine实现的是业务功能,断开其他客户端用户连接是一个管理型功能,这些操作不应该在一块,但是用户的需求可能就是有一定的合理性.特别是ArcGIS10.1也的确将ArcSDE管理的功能集成到ArcGIS for Desktop,说明这种功能实现可能是可行的…
原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第七讲 图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用.在第二阶段中,我们继续完成符号参数的调整与“更多符号”的加载. 教程目录: 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutControl同步 第四讲 状态栏信息的添加与实现 第五讲 鹰眼的实现 第六讲 右键菜单添加与实现 教程Bug及优化方案1 第七讲…