AE+C#通过多线程向GlobeControl中增加图层
来源:互联网 发布:中国移动手机oa软件 编辑:程序博客网 时间:2024/05/16 04:53
闲话少说直接将源码贴出
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using System.Collections;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Analyst3D;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.GlobeCore;
namespaceWindowsFormsApplication2
{
publicpartialclassForm1 :Form
{
//声明新的进程
privateThread _thread;
//声明图层文件
privateILayerFile _layerFile;
//声明进程完成时候的数据
privateeventEventHandler OnNumberClear;
public Form1()
{
InitializeComponent();
}
//执行完成之后,停止所有线程
void ThreadDemo_OnNumberClear(object sender,EventArgs e)
{
_thread.Abort();
}
privatevoid btnAdd_Click(object sender, EventArgs e)
{
_layerFile=newLayerFileClass();
_thread =newThread(newThreadStart(addLayer));
OnNumberClear +=newEventHandler(ThreadDemo_OnNumberClear);
addLayerStart();
}
///<summary>
///进程开始
///</summary>
privatevoid addLayerStart()
{
_thread.Start();
}
///<summary>
///进程执行的内容
///</summary>
privatevoid addLayer()
{
//Monitor.Enter(this);//锁定,保持同步
string sFile =@"D:\CCCache\GlobeCache\Buildings_1CE1FE05-D138-4361-8C50-E3EB26B02858\cache.lyr";
_layerFile.Open(sFile);
ILayer pLayer = _layerFile.Layer;
IGlobeControl pGlobeControl =globeCtrl.ObjectasIGlobeControl;
IGlobeDisplayLayers2pGlobeDisplayLayers2 = pGlobeControl.GlobeDisplayasIGlobeDisplayLayers2;
pLayer.Visible =true;
// 加载图层到globeCtrl
pGlobeDisplayLayers2.AddLayer(pLayer);
//globeCtrl.GlobeDisplay.Scene.AddLayer(pLayer);
//globeCtrl.GlobeCamera.SetToZoomToExtents(pLayer.AreaOfInterest,globeCtrl.Globe,globeCtrl.GlobeVieweras ISceneViewer);
OnNumberClear(this,newEventArgs());//引发完成事件
//Monitor.Exit(this);//取消锁定
}
}
}
加载前:
加载后:
- AE+C#通过多线程向GlobeControl中增加图层
- AE+C#向IPageLayout中增加比例尺
- GlobeControl中设置图层基本高程--ArcGlobe+C#
- AE+C#向IPageLayout中增加图例框
- globecontrol图层加载
- AE+C#向IPageLayout增加指北针
- 向Mapcontrol中增加栅格图层
- C# + AE 判断图层类型
- C# + AE 判断图层类型
- AE+C# 给图层添加字段
- AE中FeatureRender的图层渲染
- AE中获取图层属性信息
- AE内存图层
- AE+C#多个相同类型的图层联合
- AE+C# 向AxPageLayoutControl添加自定义标注
- AE+C# 向axPageLayoutControl1添加图例
- ae+C#实现图层管理控件上的图层移动功能
- AE开发----图层操作
- 单例
- Oracle10g DBCONSOLE 服务无法启动的解决方法
- 红黑树 实现 研究
- Install Android Composite ADB Interface driver for Windows 7 and Ubuntu Linux
- 用VB模拟带有修饰键的组合键
- AE+C#通过多线程向GlobeControl中增加图层
- vim 改变窗口的大小
- 《运算放大器权威指南》读书笔记(二)
- levelDB—整体架构介绍
- XMPP学习记录四:关于接受,发送消息和获取好友上下线的状态
- tomcat iis下公用80端口 只需输入域名即可访问不同项目;适用于iis服务器下部署多个项目
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?
- Hadoop vs Spark性能对比
- 【cocos2d-x IOS游戏开发-捕鱼达人3】交叉编译环境搭建