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. HttpSession相关API

    //获取Session对象 request.getSession() request.getSession(boolean create) //获取SessionId getId() //获取当前se ...

  2. CodeBlocks调试功能(转)

    转自:迂者-贺利坚 http://blog.csdn.net/sxhelijian/article/details/15026159 示例代码: #include <iostream> u ...

  3. Java 数据结构之双链表

    package Linked; public class Mylinked { private Node first;//链表的第一个节点 private Node last;//链表的最后一个节点 ...

  4. java类创建时里面成员执行的先后顺序

    静态代码块在类第一次使用的时候执行一次,在构造函数执行之前执行.只要用到类,哪怕new对象(比如只声明变量)也会被执行,且只执行一次.一般用于对类进行初始化. 先执行静态代码块,静态成员(谁在前就先执 ...

  5. MVC中的Controllers和View分别放到单独的项目中

    将Controllers放到独立项目中: 第一步:创建Mvc.Controllers,Mvc.Models和UI三个项目 Mvc.Controllers用来编写Controllers Mvc.Mode ...

  6. ajax 判断账户密码 调取数据模糊查询 时钟

    一.判断账户密码 <Login.html> <head> <meta http-equiv="Content-Type" content=" ...

  7. 较为复杂的 GraphQL 查询实现

    一.实现功能首页各类排行榜加载数据: 向下遍历子节点并展开: 1.展开过程中动态加载简介summary.书类bookType: 2.book对象上包裹Rank节点,描述book对象在不同排行榜下所处位 ...

  8. Windows系统版本判定那些事儿[转]

    Windows系统版本判定那些事儿 转自CSDN,原文链接,我比较不要脸, 全部给复制过来了 前言 本文并不是讨论Windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度 ...

  9. 百度离线地图API开发V2.0版本

    全面介绍,请看下列介绍地址,改写目前最新版本的百度V2.0地图,已全面实现离线操作,能到达在线功能的95%以上 http://api.jjszd.com:8081/apituiguang/gistg. ...

  10. 华硕X550VC安装ubuntu后wifi无法连接问题

    在网上找了很多资料比如重新编译内核,想办法连上有线网络然后更新驱动,下载离线驱动安装包…… 等等方法 其中有些方法实际测试的时候失败了,文章是几年前的,可能缺少某些依赖.上个网都这么麻烦实在让人疲惫. ...