1、GeoScene Pro SDK高级开发客户与合作伙伴支持中心 李明内容概览 GeoScene Pro SDK 概述 开发环境配置 开发特点 开发实战 GeoScene Pro SDK 新特性GeoScene Pro SDK 概述 全新的软件架构及布局:功能的科学分类及快速定位 二三维融合,多布局多视图:地图管理更灵活 软件性能更快速:64位,GPU加速,多线程 整合多种能力,空间分析、制图、三维、影像、数据管理 高效的协同共享平台:无缝对接云平台,方便调用云端资源GeoScene Pro 产品特点 使用.NET来扩展GeoScene Pro Pro SDK提供了多种扩展模式:-模块加载项(A
2、dd-ins)-Plug-in数据源-CoreHost程序 提供大部分的UI元素 API开箱即用什么是GeoScene Pro SDK?不支持Java!64位 基于.NET Framework 4.8 UI-WPF MVVM模式(Model-View-ViewModel)异步模式-多线程开发特点开发环境配置前提:GeoScene Pro、VS2017/VS2019+.NET Framework4.8安装包:模板文件:开发环境搭建UI元素开发环境搭建Demo:第一个程序开发特点GUI线程特殊的Worker Thread(Main CIM Thread,MCT)开发特点异步编程异步方法,async
3、/await同步方法,使用 QueuedTask(MCT)-API Reference中有这样的说明:“This method must be called on the MCT.Use QueuedTask.Run.”Task t=QueuedTask.Run()=/Call synchronous SDK methods here);Error:“This method or property must be called on the thread this object was created on.”异步编程异步方法:await Geoprocessing.ExecuteToolAs
4、ync(SelectLayerByAttribute_management,new string 省界,NEW_SELECTION,Name=北京市);await MapView.Active.ZoomToSelectedAsync(new TimeSpan(0,0,5);同步方法:await QueuedTask.Run()=var layers=MapView.Active.Map.FindLayers(省界).OfType().ToList();var provinces=layers0 as FeatureLayer;QueryFilter qf=new QueryFilter()Wh
5、ereClause=Name=北京市”,SubFields=*;provinces.Select(qf,SelectionCombinationMethod.New);MapView.Active.ZoomToSelected(new TimeSpan(0,0,5););异步编程桌面应用程序标记语言DAML使用XML语法,存储在Config.daml文件中可以增加、修改、删除任意UI元素-insert、update、deleteGeoScene Pro也使用DAML开发特点DAML DAML配置文件Config.damlConditionsConditions1,添加Condition2,编写
6、代码public const string myStateID=example_state;protected override void OnClick()if(FrameworkApplication.State.Contains(MyStateID)FrameworkApplication.State.Deactivate(MyStateID);elseFrameworkApplication.State.Activate(MyStateID);开发demo创建自定义p