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 核心接口与方法

接口/类

方法

说明

DataSource.DatasetFactory

OpenDataset

打开数据集

Carto.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
FolderBrowserDialog fb = new FolderBrowserDialog();
fb.Description = "File GDB(*.gdb) | *.gdb";
if (fb.ShowDialog() != DialogResult.OK) return;
//打开数据集,当GDB中只有一个图层或无图层时,均返回空值
IMultiDataset multiDataset = DatasetFactory.OpenDataset(fb.SelectedPath, OpenMode.ReadOnly) as IMultiDataset;
if (multiDataset == null)
{
//创建图层
ILayer player = PIE.Carto.LayerFactory.CreateDefaultLayer(fb.SelectedPath);
if(player == null) return;
// 添加图层到地图并刷新
mapControlMain.FocusMap.AddLayer(player);
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
else
{
//创建图层
IMultiLayer multiLayer = LayerFactory.CreateDefaultMultiLayer(multiDataset);
if (multiLayer == null) return;
// 添加图层到地图并刷新
mapControlMain.FocusMap.AddLayer(multiLayer as ILayer); mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
} (方法二)打开Personal GDB和Dwg
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Personal GDB数据|*.mdb|Dwg数据|*.dwg";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
//创建数据集
IMultiDataset multiDataset = PIE.DataSource.DatasetFactory.OpenDataset(openFileDialog.FileName,OpenMode.ReadOnly) as IMultiDataset;
if (multiDataset == null) return; //创建图层
IMultiLayer multiLayer = PIE.Carto.LayerFactory.CreateDefaultMultiLayer(multiDataset);
if (multiLayer == null) return;
// 添加图层到地图并刷新
mapControlMain.FocusMap.AddLayer(multiLayer as ILayer);
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

2.5 示例截图

PIE SDK打开GDB、Dwg数据的更多相关文章

  1. PIE SDK打开网络地图数据

    1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...

  2. PIE SDK打开长时间序列数据

    1. 功能简介 时间序列数据(time series data)是在不同时间上收集到的数据,这类数据是按时间顺序收集到的,用于所描述现象随时间变化的情况.当前随着遥感卫星技术日新月异的发展,遥感卫星的 ...

  3. PIE SDK打开HDF、NC数据

    1. 功能简介 HDF 是美国国家高级计算应用中心(National Center for Supercomputing Application)为了满足各种领域研究需求而研制的一种能高效存储和分发科 ...

  4. PIE SDK打开矢量数据

    1. 功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联. ...

  5. PIE SDK打开栅格数据

    1. 功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联. ...

  6. PIE SDK打开自定义栅格数据

    1. 数据介绍 信息提取和解译的过程中,经常会生成一部分中间临时栅格数据,这些数据在执行完对应操作后就失去了存在的价值,针对这种情况,PIE增加了内存栅格数据集,来协助用户完成对自定义栅格数据的读取和 ...

  7. PIE SDK打开自定义矢量数据

    1. 数据介绍 信息提取和解译的过程中,经常会生成一部分中间临时矢量数据,这些数据在执行完对应操作后就失去了存在的价值,针对这种情况,PIE增加了内存矢量数据集,来协助用户完成对自定义矢量数据的读取和 ...

  8. PIE SDK打开静止卫星数据

    1. 功能简介 静止卫星是位于地球赤道上空约3.58万km处,与地面始终保持相对静止的卫星,静止卫星的特点是覆盖区域广,具有很强的机动灵活性,能够对特定区域进行分钟级高重复观测,可快速监测灾害目标的动 ...

  9. PIE SDK打开Micaps数据

    1. 功能简介 Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式.其包含多种气象信息产品(地面常规气象观测数据产品.高空常规气象观测数据产品等),目前Micaps数据被Micaps软件 ...

随机推荐

  1. 第三周Linux编程实例练习

    通过以下程序来练习 head.h # ifndef HEAD_H #define HEAD_H #include <stdio.h> int add(int,int); int sub(i ...

  2. delphi 创建DLL文件 及其调用和注意事项

    首先创建一个DLL文件,项目自带的代码为: library ProjectPnr; { Important note about DLL memory management: ShareMem mus ...

  3. delphi窗体启动外部exe

    uses Winapi.Windows; WinExec(PAnsiChar(Application.ExeName), sw_normal);   // PAnsiChar : string to ...

  4. PHP 去掉emoji字符

    function isMatchEmoji($str) { $pattern='/./u'; $rs=preg_match_all($pattern,$str,$match); if($rs>0 ...

  5. GCC 显示所有的warning option

    此事需求的来源是有要求调查,gcc中的那些warning是有问题的,代码必须要修改,那些事需要确认的,就要显示所有的warning选项是什么 查了下,方法如下 显示所有的warning和warning ...

  6. [python]模块及包

    一 .module 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc&quo ...

  7. Win7 WPF程序无法接受外部拖拽

    最近在WPF项目中遇到一个问题.虽然选择了AllowDrop = True,但是还是无法支持从外部拖拽文件到程序,倒是内部拖拽(如从一个列表拖拽到树)和从程序拖拽到外部可以. 解决过程 1.考虑是程序 ...

  8. 「POJ 2699」The Maximum Number of Strong Kings

    题目链接 戳我 \(Describe\) 一场联赛可以表示成一个完全图,点表示参赛选手,任意两点u, v之间有且仅有一条有向边\((u, v)\)或\((v, u)\),表示\(u\)打败\(v\)或 ...

  9. CI框架集成Smarty

    1.下载smarty源码包,解压放置于项目目录 libriaries中 2.在libraries中建立Cismarty.php ,填写如下代码 <?php if(!defined('BASEPA ...

  10. pycharm设置连接

    https://blog.csdn.net/u013088062/article/details/50100121