本文共 3179 字,大约阅读时间需要 10 分钟。
作者:dongyx
SuperMap iDesktopX是业界首款跨平台全功能桌面 GIS 软件,支持主流Linux操作系统,突破了专业桌面 GIS 软件只能运行于 Windows 环境的困境。提供空间数据生产及加工、空间大数据管理分析、可视化建模、服务发布等功能,可用于数据生产、加工、处理、分析以及制图。现在很多客户使用的场景不同,所以很多客户想利用扩展开发定制开发出属于自己应用场景的桌面软件。接下来我就谈一下如何对SuperMap iDesktopX 10.1.0版本进行定制开发。
SuperMap iDesktopX 是通过SuperMap iObjects Java 组件构建的一款企业级、插件式、跨平台桌面GIS应用与开发平台,可通过Java语言进行扩展开发。我们的产品目录也给大家提供了扩展工程模板,模板位于安装目录/templates/sampleCode文件夹,是扩展开发示例模板工程。 一、修改iDesktopX桌面软件标题 1.文件–选项–环境中修改iDesktopX标题 2.通过修改配置文件的方式修改iDesktopX标题,修改安装目录/configuration/SuperMap.Desktop.Parameter.xml文件 二、开发环境配置 1.开发工程配置 1.1 在IDEA开发平台中打开模板工程。模板位于安装目录/templates/sampleCode文件夹 1.2 配置jdk环境:设置工程的jdk环境为1.8 1.3 添加桌面依赖,点击File–project Structure, 在弹出框中依次选中 Global Libraries->添加->JAVA,在弹出的 Select Library Files 对话框中,同时选中以下 4 个目录,单击 OK 按钮后, 选择 develop,即可将桌面依赖添加至二次开发插件。//获取当前打开的工作空间Workspace workspace = Application.getActiveApplication().getWorkspace();Dataset dataset = workspace.getDatasources().get(0).getDatasets().get("New_Line");//新建一个地图窗口IFormMap formMap = (FormMap) FormUtilities.fireNewWindowEvent(WindowType.MAP,"dyx");MapControl mapControl = formMap.getMapControl();mapControl.getMap().getLayers().add(dataset,true);DatasetVectorInfo datasetVectorInfo = new DatasetVectorInfo();datasetVectorInfo.setEncodeType(EncodeType.NONE);datasetVectorInfo.setType(DatasetType.REGION);datasetVectorInfo.setName("buffer");DatasetVector result = workspace.getDatasources().get(0).getDatasets().create(datasetVectorInfo);BufferAnalystParameter bufferParameter = new BufferAnalystParameter();bufferParameter.setEndType(BufferEndType.FLAT);bufferParameter.setLeftDistance(100);bufferParameter.setRightDistance(100);DatasetVector datasetVector = (DatasetVector)dataset;//调用创建矢量数据集缓冲区方法BufferAnalyst.createBuffer(datasetVector,result,bufferParameter,false,true);mapControl.getMap().getLayers().add(result,false);mapControl.getMap().refresh();
2.配置CtrlAction
3.在IDEA开发平台中运行该工程,启动SuperMap iDesktopX桌面,运行结果如下:转载地址:http://vipxi.baihongyu.com/