AE+C#通过多线程向GlobeControl中增加图层
分享
闲话少说直接将源码贴出
加载前:
加载后:
文章来源:http://blog.csdn.net/sydbc/article/details/17140373
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.Object asIGlobeControl;
IGlobeDisplayLayers2pGlobeDisplayLayers2 = pGlobeControl.GlobeDisplay asIGlobeDisplayLayers2;
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);//取消锁定
}
}
}
加载前:
加载后:
文章来源:http://blog.csdn.net/sydbc/article/details/17140373
0 个评论
相关问题
- 请问arcmap如何使用多线程?
- WebAppBuilder for ArcGIS,LayerList里面在哪里添加图层?
- globecontrol中怎么加载纹理和DEM,C++实现,找不到资料/(ㄒoㄒ)/~~求助
- arcgis支持并行和多线程吗
- Arcengine开发GlobeControl的SetToZoomToExtents方法的转动效果没有了?
- 某个FeatureDataset下有很多图层,其中某个图层已经被用来发布地图服务了,是否可以在不停止服务的情况继续向该FeatureDataset添加图层?
- 添加图层打开要素类出错
- Arcgis Pro是否支持脚本工具进行多线程?
- GlobeControl中如何更改图层的显示顺序?
- 用arcgis js添加图层,为什么样式跟实际样式不符?
- AO支持多线程吗? 我试着在线程中调用接口会失败。比如下面这段