【AE】1 命名空间

    ArcMapUI:IMxApplication和IMxDocument接口在这个库中定义,尽管他们在实现ArcMap的库。ArcMap内容目录在ArcMap中与许多命令一起在该库中实现。
    Version库是ArcGIS 10新出来的一个类库,该类库包含了将独立应用程序绑定到特定的ArcGIS 系列产品的函数和方法
    System库是ArcGIS框架中最底层的一个库,它包含了一些被其他库使用的一些组件。
    SystemUI库定义了一些在ArcGIS中被用户界面组件使用的类型。ICommand和ITool这样的接口就在这里定义。
    Geometry几何库包含了核心的几何对象,比如点,面,线等。在几何库中还定义和实现了空间参考对象,包括投影坐标系和几何坐标系。
    Display 显示库包含了支持在输出设备上显示图形的组件,屏幕显示,符号,颜色等都在这个库中定义。
    Controls 控件库包含了应用程序开发中用到的控件,包括在控件中使用的命令和工具。如保存文档。。。
    Carto 库包含了为数据显示服务的对象。PageLayout和Map对象在这个库中,以及支持各数据类型的图层,渲染。这个库中也包括了MxdServer和MapServer对象,它们通常被Server用来显示地图数据。
    GeoDatabase包含了所有相关数据组织的定义类型。要素,表,网络,TIN都在这个库中定义。其中一些类型的实现在各自的数据来源的库中。
    IGeoDataset 提供访问提供有关地理数据集信息的成员的权限
    DataSourcesFile库包含了为支持的矢量数据格式提供的工作空间工厂和工作空间.
    DataSourcesGDB 库包含了为存储在RDBMS中的矢量和栅格数据提供的工作空间工厂和工作空间。
    3DAnalyst库包含了数据的3d分析对象,也包括显示3d数据,在这个库中有一个控件SceneControl可用。
    GlobeCore库包含了globe数据分析的对象,也包含了显示globe数据,在这个库中有一个控件GlobeControl可用。
    SpatialAnalyst库包含了在栅格和矢量数据上
//命名空间(工具箱名称)
    3D分析工具 ESRI.ArcGIS.Analyst3DTools
    分析工具 ESRI.ArcGIS.AnalysisTools
    转换工具 ESRI.ArcGIS.ConversionTools
    数据管理工具 ESRI.ArcGIS.DataManagementTools
    编辑工具 ESRI.ArcGIS.EditingTools
    制图工具 ESRI.ArcGIS.CartographyTools
    覆盖工具 ESRI.ArcGIS.CoverageTools
    地理编码工具 ESRI.ArcGIS.GeocodingTools
    地统计分析工具 ESRI.ArcGIS.GeostatisticalAnalystTools
    线性参考工具 ESRI.ArcGIS.LinearReferencingTools
    多维工具 ESRI.ArcGIS.MultidimensionTools
    网络分析工具 ESRI.ArcGIS.NetworkAnalystTools
    包裹织物工具 ESRI.ArcGIS.ParcelFabricTools
    空间分析工具 ESRI.ArcGIS.SpatialAnalystTools
    空间统计工具 ESRI.ArcGIS.SpatialStatisticsTools

//3 AE多线程
     所有的ArcObjects组件都被标记为单线程单元STA,该模型的工作原理是消除跨线程通信,这是ArcGIS Engine中多线程的首要规则。
    所有ThreadPool线程是在多线程单元(MTA),因此不应该被用来运行ArcObjects
    
    你不能在线程之间共享ArcObjects的组件
    
    传递给线程的信息应该是简单类型或托管类型,万一在某种情况下,你要从主线程向工作线程传递ArcObjects组件,你可以使用XmlSerializerClass序列化对象成为字符串,再将这一字符串传递给目标线程,然后在工作线程中使用XmlSerializerClass反序列化连接属性。这样,就将连接属性对象在后台再次创造出来,从而避免了跨线程访问。 
     IXMLSerializer xmlSerializer = new XMLSerializerClass();
     object obj = xmlSerializer.LoadFromString(ti.InputRasterWSConnectionProps, null,null);
    
    gp放在子线程中,可能要用Execute();不然可能会报错
    子线程所用的arcobject要再同一线程!
    如axMapControl是主线程的,你要用就要在this.Invoke中用;你不能在Invoke外声明一个arcobject,再在invoke中调用;不然会报COM的Class无法转换为接口的错误
    
    // 创建线程
    Thread t = new Thread(new ThreadStart(PopulateLocationsTableProc));
    // 将线程标识为单线程单元模式.
    t.SetApartmentState(ApartmentState.STA);
    // 启动线程.
    t.Start();

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值