随笔分类 - C#+ARCGIS
C#+ARCGIS
摘要:The available kinds of geometry objects.ConstantValueDescriptionesriGeometryNull0A geometry of unknown type.esriGeometryPoint1A single zero dimensional geometry.esriGeometryMultipoint2An ordered collection of points.esriGeometryLine13A straight line segment between two points.esriGeometryCircularArc
阅读全文
摘要:如何创建一个要素数据类 创建要素类用到了IFeatureWorkspace.CreateFeatureClass方法,在这个方法中有众多的参数,为了满足这些参数,我们要学习和了解下面的接口. IField,IFieldEdit,IFields,IFieldsEditI,GeometryDef,IGeometryDefEdit接口 字段对应表中的一列,一个要素类必须有至少2个字段,而多个字段的集合就构成了字段集,在要素类中,有一个特殊的字段,描述了空间对象,我们称之为几何字段,其中GeometryDef是用来设计几何字段的。这个几何字段定义了要素类的类型,比如说我们要在Catalog创建一个点要
阅读全文
摘要:如何删除要素类 要想删除一个要素类,那么必须先得到这个,在得到这个要素类的时候,我们要学习一个新的接口IFeatureWorkspace。 IFeatureWorkspace 接口介绍 这个接口主要是用于管理基于矢量数据的,如表,,要素类,要素数据集等。MembersDescriptionCreateFeatureClassCreates a new standalone feature class under the workspace.CreateFeatureDatasetCreates a new feature dataset.CreateQueryDefCreate a query
阅读全文
摘要:1.IName(名称对象)介绍数据集对象可以分为两大类,一种是Table,我们无法将Table存储在要素数据集中(可以尝试下),一种是Geodataset,这个是要素类的容器。数据集对象有一个很重要的属性,就是这个Fullname,用这个可以返回和数据集相关的名称对象,而这个名称对象有一个很重要的方法Open(),这个可以获取和这个名称对象相关的对象(内存中的),Open()方法的返回值是object,所以用Open方法的时候,我们必须心里清楚,自己到底是要得到那个对象,然后QI到我们要的对象上。IName对象是一个代表性对象。通过使用IName对象,可以访问它所代表的对象的一些基本属性,而不
阅读全文
摘要:在ArcGIS Engine中,要得到某一个类,首要要获取工作空间,然后进入工作空间再得到相应的东西,我们定义一个函数用来获取个人数据库的路径 public string WsPath() { string WsFileName=""; OpenFileDialog OpenFile = new OpenFileDialog(); OpenFile.Filter = "个人数据库(MDB)|*.mdb"; DialogResult DialogR = OpenFile.ShowDialog(); if (DialogR == DialogResult.C
阅读全文
摘要:网络来源:http://changqingnew.blog.163.com/blog/static/1075233820103383633639///IFeatureWorkspace OpenFeatureClass Example//This example opens a shapefile as a feature class。//e.g., nameOfShapefile = "States";// dataPath = "D:\\Data\\Esridata\\USA"public void IFeatureWorkspace_OpenFea
阅读全文
摘要:IWorkspace接口提供访问工作空间的通用属性和方法,如它的连接属性,以及包含的数据集的方法。IWorkspace的成员字段:MembersDescriptionConnectionPropertiesTheconnectionpropertiesoftheworkspace.DatasetNamesTheDatasetNamesintheworkspace.DatasetsThedatasetsintheworkspace.ExecuteSQLExecutesthespecifiedSQLstatement.ExistsChecksiftheworkspaceexists.IsDirec
阅读全文
摘要:IWorkspace接口提供访问工作空间的通用属性和方法,如它的连接属性,以及包含的数据集的方法。如何打开一个数据库 要打开一个数据库,也就意味着我们要得到那个工作空间,而工作空间是一个普通类,也就意味着我们只能从其他类来得到这个工作空间,这个类就是工作空间工厂(WorkspaceFactory),而这个类又是一个抽象类,也就意味着我们只能使用它的子类来实例化一个对象,WorkspaceFactory有众多的子类,我们可以从OMD图中获得。
阅读全文
摘要:第一部分:Geodatabase介绍 Geodatabase是ESRI在ArcInfo8中引入的一种全新的面向对象的空间数据模型,在物理级别上空间数据库分为三种不同的存储形式,即个人数据库,文件数据库,以及面向企业的SDE数据库,个人数据库依赖于微软的ACCESS数据库,也只能在windows平台上运行,除此之外个人数据库有容量的限制,最大存储量不能超过2GB,文件数据库以二进制方式管理空间数据,单张表可以存储1TB,可以通过关键字进行配置,是容量可以扩充到256TB,从这个数据存储层面来说,文件数据库的容量是无限的,而且可以在多个平台上运行,如linux,unix,但是它和个人数据库有一个相
阅读全文
摘要:MembersDescriptionAnnotationPropertiesAnnotation properties.AnnotationPropertiesIDThe UID used for annotation properties.AreaOfInterestThe default area of interest for the layer.CachedIndicates if the layer needs its own display cache.CurrentMapLevelCurrent map level for drawing symbols.DataSourceTy
阅读全文
摘要:DescriptionAreaOfInterestThe default area of interest for the layer.CachedIndicates if the layer needs its own display cache.DataSourceTypeData source type.DisplayFieldPrimary display field.DrawDraws the layer to the specified display for the given draw phase.FeatureClassThe layer's feature clas
阅读全文
摘要:TOCControl控件使用的是用伙伴控件中的数据地图,它控制图层是否在伙伴控件空显示以及和伙伴控件在符号上保持一致,TOCControl为用户提供了一个交互式的环境,如果TOCControl控件的伙伴控件是MapControl控件,当我们将TOCControl控件中图层删掉的时候,MapControl控件中相应的图层也会被删掉。而ArcGIS Engine提供的TOCControl控件几乎没有提供,那么这些都是需要自己开发的,在这里我做一个显示属性表的功能。分析:要显示某一个图层的属性表,首先要将这个图层选中,然后在另外一个Form中将选中的这个图层的属性信息进行显示。 添加一个上下文菜单,
阅读全文
摘要:我们通过实现鹰眼图这个功能来进一步学习MapControl控件。在实现鹰眼图之前,我们需 要接口有更深入的了解。 变主动为被动-出接口(OutBound interface) COM编程类似客户端和服务器端的两层结构,COM所建立的是一个软件模块与另一个软 件模块之间的链接, 当这种链接建立之后, 模块之间就可以通过被称之为Interface“接口 ” 的机制来进行通信。在绝大部分情况下, 客户应用程序与组件的通信过程是单向的, 客户创 建组件对象, 然后客户通过接口调用对象所提供的功能, 在适当的时候再把对象释放掉。在这种交互过程中, 客户总是主动的, 而组件总是处于被动状态, 通过自身暴露
阅读全文
摘要:ArcGIS Engine中的MapControl控件和PageLayoutControl控件分别对应于ArcMap中的数据视图和布局视图,MapControl控件主要用于空间数据的显示和分析,它封装了地图对象,而PageLayoutControl控件是用于地图的修饰和整理,可以用来生成专题图等,它封装了PageLayout对象。 TOCControl控件和ToolbarControl控件分别对应ArcMap中的Table of Contents控件和工具条控件,这两个控件都有一个buddy属性,这两个控件需要和一个伙伴空间协同工作,伙伴控件可以是MapControl,PageLayoutCo
阅读全文
摘要:代码加载Mxd文档用代码添加Mxd文档,用到AxMapControl.LoadMxFile(sFilePath),我们只要将Mxd文档的路径传给这个方法即可/// /// 打开地图文件 /// /// 文件的完整路径 public string OpenMxd() { string MxdPath = ""; OpenFileDialog OpenMXD = new OpenFileDialog(); OpenMXD.Title = "打开地图"; OpenMXD.InitialDirectory = "F:"; OpenMXD.Fi
阅读全文
摘要:IMapControl3 InterfaceProvides access to members that control the MapControl. Note: the IMapControl3 interface has been superseded by IMapControl4. Please consider using the more recent version.Product AvailabilityAvailable with ArcGIS Engine.DescriptionThe IMapControl3 interface provides additional
阅读全文
摘要:将所有的事件视为一个方法或函数,然后各个控件来调用即可。http://blog.csdn.net/qiangweiloveforever/article/details/6975308http://www.haogongju.net/art/953373http://127.0.0.1:47873/help/1-7000/ms.help?method=page&id=ESRICONTROLS-51A29492-00033B&topicversion=0&topiclocale=EN-US&SQM=1&product=VS&productVersi
阅读全文
摘要:ArcGIS10,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar、LicenseControl以及MapControl控件。接着编译应用程序,编译成功。然后单击F5运行程序,这个时候程序报错,出现下面所示的错误:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components.问题解决方案:在系统的入口添加下面的一行代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.En
阅读全文
摘要:第一步:添加对在项目引用里添加上对Microsoft Word 11.0 object library的引用。右击--引用---在com标签下添加。
阅读全文
摘要:COM中,和我们打交道的是接口,也就是说类对我们是隐形的,那么我们要做开发,要使用这些功能,我们只能通过接口,通过接口暴露出来的方法,COM是一种服务器端/客户端架构,服务器端定义了操作的法,客户端通过接口调用这些方法。下面的这幅图很能说明COM的结构:言归正传,说这篇博文的主题QI,还记得上一篇我强调的,一个接口可以被多个类实现,而QI要解决的就是一个类实现多个接口的问题。在COM中,接口定义了方法,类实现了接口中定义的方法,而一个接口只能使用自己内部定义的方法,而不能越界,就好比一个班级一样,这个班级内有班长,有学习委员,有体育委员,每位干部各司其职,每一位干部负责自己职权范围之内的事情,
阅读全文