前言
SuperMap iObjects .NET 11i是由超图软件推出的一套基于.NET Framework的大型组件式GIS开发平台,功能完备、开发便捷,易于构建通用GIS平台以及基于地理空间信息的行业应用系统。
作为一名刚入门的小白,写点东西记录下使用SuperMap iObjects .NET 11i的过程,也希望记录下来的东西能给到uu们一些参考~
一、使用工具及产品下载
(1)电脑Windows版本:Windows 11 家庭中文版64位 Version 22H2
(2)Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.8.0
(3)SuperMap iObjects .NET 11i(2023) SP1 for Windows((x86_64)(Bin包)下载地址:
SuperMap技术资源中心|为您提供全面的在线技术服务SuperMap技术资源中心提供SuperMap系列软件相关的演示DEMO、在线案例、范例代码、技术文章、联机帮助、培训教程以及UI素材等海量技术资源!http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=2531(4)SuperMap iObjects .NET 11i离线帮助文档下载地址:
二、SuperMap iObjects .NET 11i许可配置
对于目前官方提供的试用许可,有以下两种许可可供使用:
1.离线(文件)试用许可
(1)访问SuperMap Online页面,如果没有SuperMap Online账号需要先进行账号注册;
SuperMap Online-全面的在线GIS数据与应用平台SuperMap Online-全面的在线GIS数据与应用平台。 超图在线GIS平台(www.supermapol.com)于2015年推出,旨在打造GIS基础平台产品的在线应用新模式、新生态。企业与组织用户, 以最便捷的方式托管云GIS主机、GIS数据和服务,加速行业应用开发,提升运维效率,缩短项目周期。为大众用户,提供在线制图应用和地图APIs,助力大众创业。https://www.supermapol.com/(2)找到SuperMap iObjects .NET 11i产品,直接点击对应产品展示卡片上“添加到试用清单”将当前组件产品添加到试用清单当中;
(3)添加好SuperMap iObjects .NET 11i产品后,可直接点击页面右下角进入试用清单进行试用许可的获取;
(4)填写基本资料,此处的电子邮箱为接收试用许可的邮箱;
(5)对于运行报告的获取,需要于以下地址下载11i版本的许可中心:
(6)下载好11i版本许可中心后,右键以管理员身份运行,点击“设置”选项卡,生成运行报告;
(7)对于获取到的运行报告进行上传,点击右下方的“立即获取”按钮后所填写的邮箱会收到.licx格式的试用许可文件。打开许可中心,选择“激活更新”,上传获得的.licx格式的试用许可文件,单击“更新”按钮,即可使试用许可生效;
2.在线(云)试用许可
在线(云)试用许可使用时长不限制,限制只能同时在一台机器登录使用,只要处于联网状态,可以长期试用。如果使用的SuperMap Online账号在一台机器上已经登录使用,其他机器无法再使用该账号进行登录,需要在SuperMap Online进行强制退出后方可用该账号进行登录。
对于iObjects .NET产品的登录,可参考SuperMap iObjects .NET联机帮助文档中的CloudLicense类,该类为云许可管理类,用于登录、退出云许可,此处的账号及密码是SuperMap Online的对应账号及密码。若以下代码中的login返回为true,则代表云许可登录成功;若返回为false,则需检查账号及密码是否正确、是否有其他机器占用该账号的使用。
// 以下测试需要在本机没有其他正式许可的情况下进行:
String mail = "test@qq.com"; // 需要替换为自己的SuperMap账号
String password = "test"; // 需要替换为自己的SuperMap账号密码
// 传入用户名和密码,登录云许可,自动检索可用许可
bool login = SuperMap.Data.CloudLicense.Login(mail, password);
//初始化
InitializeComponent();
三、SuperMap iObjects .NET 11i环境部署及调用模块说明
1.环境部署
右键我的电脑--点击属性,点击编辑系统环境变量,设置Path环境变量为SuperMap iObjects.NET 11i的安装路径的Bin目录,并上移到第一位。
2.调用模块说明
根据SuperMap iObjects .NET 11i离线帮助文档的说明,在SuperMap iObjects .NET 11i 组件中,核心模块为数据模块,体现了地理信息系统的数据概念,数据是GIS的血液。数据模块主要专注于对空间数据的处理,其他模块依赖于数据模块的同时又相对独立。
目前常用的几个模块有:
(1)数据模块,对应的程序集为SuperMap.Data.dll,此模块为核心模块,提供对空间数据及其属性的全面的操作和处理,包括创建、管理、访问和查询等功能,同时,数据模块还包含拓扑和布局排版打印相关的数据操作功能。
(2)地图模块:对应的程序集为SuperMap.Mapping.dll,提供了综合的地图显示,渲染,编辑以及强大的出图等功能;提供制作各种专题图的功能,包括标签专题图(包括分段标签专题图和高级标签专题图)、统计专题图、分段专题图、点密度专题图等;同时,地图模块还提供制图表达的功能。
(3)控件模块:对应的程序集为SuperMap.UI.Controls.dll,提供粗粒度的基础控件,方便用户快捷开发,控件模块提供了符号编辑器控件、符号管理控件、工作空间管理器控件、图层管理控件等多种控件。
(4)三维模块:对应的程序集为SuperMap.Realspace.dll,提供数据、显示、分析二三维一体化的三维场景展示,同时,全球尺度的地形数据以及全球尺度的高分辨率影像数据都可以加载到三维模型中进行显示;支持海底三维;支持自定义几何体 Mesh 功能。另外,可以在三维窗口中进行各种方式的漫游、浏览,并且可以进行选择、查询和定位等操作。
以上是常用的几个模块,有关于其他模块的介绍,可参考SuperMap iObjects .NET 11i离线帮助文档【SuperMap iObjects .NET 11i模块结构】相关内容。
四、尝试新建一个窗体应用
(1)新建一个项目,选择Windows窗体应用(.Net Framework);
(2)SuperMap iObjects 11i .NET为64位,需新建x64的解决方案平台;
(3)接下来右键解决方案管理器内的引用,点击“添加引用”,在引用管理器面板右下角点击“浏览”,选择对应Bin包环境路径下的本次窗体应用需要用到的dll文件,我这里使用的是在线(云)试用许可,所以除了四个常用的dll,另外添加了一个SuperMap.Data.CloudLicense.dll哦;
(4)点击“确认”后,可在引用下查看到所引用的dll文件,接下来我们在窗体中拖拽两个Panel,用这两个Panel去装SuperMap控件,工具箱位置在【视图】选项卡下面:
(5)再接下来就是代码的书写,需要将指定的SuperMap控件添加到当前的Panel1和Panel2中,在此窗体应用中添加的是WorkSpaceControl工作空间管理器和SceneControl三维控件,代码段如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using SuperMap.Data;
using SuperMap.Mapping;
using SuperMap.UI;
using SuperMap.Realspace;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private Workspace D_workspace;
private WorkspaceControl D_workspaceControl;
private SceneControl D_sceneControl;
public Form1()
{
String mail = "账号"; // 需要替换为自己的SuperMap账号
String password = "密码";
bool login = SuperMap.Data.CloudLicense.Login(mail, password);
InitializeComponent();
D_workspace = new Workspace();
D_workspaceControl = new WorkspaceControl();
//控件始终填充整个父容器
D_workspaceControl.Dock = DockStyle.Fill;
//将指定的控件添加到panel1控件中
panel1.Controls.Add(D_workspaceControl);
D_sceneControl = new SceneControl();
//控件始终填充整个父容器
D_sceneControl.Dock = DockStyle.Fill;
//将指定的控件添加到panel2控件中
panel2.Controls.Add(D_sceneControl);
//工作空间和控件联动
D_workspaceControl.WorkspaceTree.Workspace = D_workspace;
D_sceneControl.Scene.Workspace = D_workspace;
}
}
}
(6)窗体应用执行结果如下图所示:
总结
以上就是有关于SuperMap iObjects 11i .NET初始化环境配置的一些过程记录,我们下篇博文再见!