PIE-SDK For C++打开GDB、Dwg数据

1.功能简介

目前不同的GIS软件平台具有自己独特支持的数据格式,如ESRI的File GeoDataBase和Personal GeoDataBase、MapInfo的mif数据、AutoCAD的DWG数据、Google的Kml和Kmz数据等,PIE对这些常用软件的数据格式都进行了支持,能够顺利的进行浏览查看。

2.功能实现说明

2.1 数据格式介绍

File GeoDataBase和Personal GeoDataBase是ESRI的本地数据存储格式,其中File GDB以文件方式存储,Personal GDB则为一个MS-Access 的mdb数据库, FGDB较PGDB具有更高的效率、更大的数据支持空间、更广的运行平台。

DWG是AutoCAD的数据格式,它采用点、线、面、文本组合存储的方式存储。

2.2 实现思路及原理说明


第一步


通过文件路径打开数据集


第二步


进行多数据集接口转换


第三步


通过多数据集创建多图层

2.3 核心接口与方法


接口/类


方法


说明


SysDataSource::DatasetFactory


OpenDataset


打开数据集


SysCarto::LayerFactory


CreateDefaultMultiLayer


创建多图层


CreateDefaultLayer


创建图层

2.4 示例代码


项目路径


百度云盘地址下/PIE示例程序/03.数据加载/04.打开GDB数据


数据路径


百度云盘地址下/PIE示例数据/矢量数据/FGDB/China.gdb

百度云盘地址下/PIE示例数据/矢量数据/PGDB/China.mdb

百度云盘地址下/PIE示例数据/矢量数据/DWG/China.dwg


视频路径


百度云盘地址下/PIE视频教程/03.数据加载/04.打开GDB数据.avi


示例代码


(方法一)打开File GeoDatabase

QString file_path = QFileDialog::getExistingDirectory(nullptr, "请选择文件路径...", "./");

if (file_path.isEmpty()) return;

SysCarto::LayerPtr fgdbLayer = SysCarto::LayerFactory::Instance()->CreateDefaultLayer(file_path);

if (fgdbLayer == nullptr) return;

m_ptrHookHelper->GetFocusMap()->AddLayer(fgdbLayer);

m_ptrHookHelper->GetActiveView()->Refresh();

(方法二)打开Personal GDB和Dwg

注:打开MDB需要Microsoft Access环境,否则打开MDB会失败

QString filter = "Personal GDB数据 (*.mdb);;Dwg数据 (*.dwg)";

QString lstFile = QFileDialog::getOpenFileName(nullptr, "添加数据", "", filter);

if (lstFile==nullptr) return;

SysDataSource::MultiDatasetPtr dataSetPtr = SysDataSource::DatasetFactory::Instance()->OpenDataset(lstFile, ysDataSource::GA_ReadOnly);

if (dataSetPtr==nullptr) return;

SysCarto::LayerPtr multiLayer = SysCarto::LayerFactory::Instance()->CreateDefaultMultiLayer(dataSetPtr);

if (multilayer==nullptr) return;

m_ptrHookHelper->GetFocusMap()->AddLayer(multiLayer);

m_ptrHookHelper->GetActiveView()->Refresh();

2.5 示例截图

原文地址:https://www.cnblogs.com/PIESat/p/12367608.html

时间: 2024-11-06 09:51:30

PIE-SDK For C++打开GDB、Dwg数据的相关文章

PIE SDK专题制图打开模板说明文档

1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用时只需要打开该模板,加载相应数据,就可以直接出图了,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.         [模板文件]         [植被指数模板] 2. 功能实现说明 2.1打开模板 在PIE中,每个显示的地图都是一个地图文档(PmdContents),它可以保存为*.pmd文件.用IMa

PIE SDK打开GDB、Dwg数据

1.      功能简介 目前不同的GIS软件平台具有自己独特支持的数据格式,如ESRI的File GeoDataBase和Personal GeoDataBase.MapInfo的mif数据.AutoCAD的DWG数据.Google的Kml和Kmz数据等,PIE对这些常用软件的数据格式都进行了支持,能够顺利的进行浏览查看. 2.      功能实现说明 2.1              数据格式介绍 File GeoDataBase和Personal GeoDataBase是ESRI的本地数据

PIE SDK打开HDF、NC数据

1.      功能简介 HDF 是美国国家高级计算应用中心(National Center for Supercomputing Application)为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式. NC是NetCDF的简称,其全称为Network Common Data Form(网络通用数据格式),其是针对科学数据的特点开发的,是一种面向数组型并适于网络共享的数据的描述和编码标准.利用NetCDF可以对网格数据进行高效地存储.管理.获取和分发等操作.目前,N

PIE SDK打开静止卫星数据

1. 功能简介 静止卫星是位于地球赤道上空约3.58万km处,与地面始终保持相对静止的卫星,静止卫星的特点是覆盖区域广,具有很强的机动灵活性,能够对特定区域进行分钟级高重复观测,可快速监测灾害目标的动态变化.目前风云2系列.风云4系列.葵花(Himawari)系列.高分4卫星均为静止卫星. [静止卫星位置示意图] [卫星运行轨迹图]          [FY2G数据成像图]                                               [GF4数据成像图] PIE支

PIE SDK打开自定义矢量数据

1. 数据介绍 信息提取和解译的过程中,经常会生成一部分中间临时矢量数据,这些数据在执行完对应操作后就失去了存在的价值,针对这种情况,PIE增加了内存矢量数据集,来协助用户完成对自定义矢量数据的读取和显示. 下面以Micaps1类数据为例介绍自定义矢量数据的构建和显示. 2. 实现思路及原理说明 第一步 构建数据的字段.空间参考等信息: 第二步 根据字段和空间参考信息创建内存矢量数据集: 第三步 在内存矢量数据集中逐条添加数据记录(包括几何图形和属性): 第四步 通过内存数据集创建矢量图层: 第

PIE SDK专题制图保存模板说明文档

1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.      [模板文件]        [植被指数模板] 2. 功能实现说明 2.1保存模板 使用IMapDocument接口的Save()方法保存地图文档. 2.2 实现思路及原理说明 第一步 获取当前地

PIE SDK专题制图另存模板

1.功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.                                                                             [模板文件]              [植被指数模板] 2

PIE SDK组件式开发综合运用示例

1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发进行详细的讲解. 2. 功能实现 2.1.界面搭建 最终的界面如下图所示: 图1最终结果图 2.1.1 新建项目 选择“Window窗体应用程序”,设置程序的名称和保存路径即可.(新建完成后可以将程序的窗体名称右键重命名为“FormMain”,,将窗体界面的属性的Text设置名称为“PIE应用程序”

PIE SDK Command&&Tool工具命令一览表

PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls.RasterCommand PIE.Controls.dll 2 加载矢量数据 PIE.Controls.VectorCommand 3 加载科学数据集数据 PIE.Controls.ScientificDatasetCommand 4 加载环境数据 PIE.Controls.LoadHJDataComma