用惯了ArcGIS Engine再用SuperMap的组件还是需要稍微适应一下的。按照最近使用SuperMap的体验可以得到这样的结论,SuperMap将一个完整的方案包装成一个Workspace(工作空间),Workspace中包括DataSource(数据集)、Map(地图)、Scene(场景)、Layout(排版)、还有用于存储符号的资源。数据都是以DataSet为集合存在DataSource中的,Map Scene Layout中存储的是对数据进行处理加工后的结果。如果以画画打个比方,那DataSource中就是画画用到的颜色,Map Scene Layout 就是绘制后得到的画,空间分析、叠加分析、专题图渲染就相当于画笔、工具。
那如果我们想新画一幅画应该怎么做呢?比如我想新建一个平面场景。我最初的想法是让Workspace中的Scenes新建一个Scene,不过发现它需要的参数是这样的:
public int Add( string name, string xml )让我们自己写xml,这不是搞笑呢么
问过超图的技术支持才知道,新建场景还需要重要的一步。我们需要新建一个SceneControl,获取里面的Scene,将其转为Xml,这个来作为参数。这就相当于,想要画