1. 功能简介

GIS将地理空间数据表示为矢量数据和栅格数据。矢量数据模型使用点、线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点、河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联。栅格数据模型使用一个格网和格网元胞(像元)代表空间要素,元胞值表示该元胞位置的空间要素属性。栅格数据模型适用于表示连续的要素,如海拔和降水量。

       

 [矢量数据模型]                                                      [栅格数据模型]

PIE支持多种矢量数据的打开,下面我们就介绍如何在PIE中打开Shape类型的矢量数据。

2. 功能实现说明

2.1  栅格数据介绍

常见的栅格数据文件格式包括tiff、tif、img、dat等,它们采用文件的方式存储相关信息,一个Tiff数据的文件结构如下所示(GF1数据为例):

[Tiff数据文件结构]

编号

后缀

文件说明

1

.tiff

基本文件,存储栅格数据的像素、坐标系、坐标等信息;

2

.jpg

可选文件,栅格数据的示意图;

3

.rpb

可选文件,坐标参数文件;

4

.xml

可选文件,数据相关信息文件;

5

.ovr/aux.xml

可选文件,栅格数据金字塔文件;

[Tiff数据文件结构说明]

2.2 实现思路及原理说明

第一步

通过文件路径打开栅格数据集

第二步

通过栅格数据集创建栅格图层

2.3 核心接口与方法

接口/类

方法

说明

DataSource.DatasetFactory

OpenRasterDataset

打开栅格数据集

Carto.LayerFactory

CreateDefaultRasterLayer

创建栅格图层

2.4 示例代码

 

项目路径

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

数据路径

百度云盘地址下/PIE示例数据/栅格数据/01.GF1/GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600/xxx.tif

视频路径

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

示例代码

 方法(一)
// 获得要打开Shape数据的路径
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "栅格数据(*.tiff)|*.tif;*.tiff";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
// 打开图层
string filePath = openFileDialog.FileName;
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(filePath);
if (layer == null) return;
// 添加图层到地图并刷新
mapControMain.FocusMap.AddLayer(layer);
mapControMain.ActiveView.PartialRefresh(PIE.Carto.ViewDrawPhaseType.ViewAll); 方法(二)
// 获得要打开栅格数据的路径
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "栅格数据(*.tiff)|*.tif;*.tiff";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
// 打开栅格数据集
string filePath= openFileDialog.FileName;
IRasterDataset rDataset = PIE.DataSource.DatasetFactory.OpenRasterDataset(filePath,OpenMode.ReadOnly);
if (rDataset == null) return;
// 创建栅格图层
IRasterLayer rasterlayer = PIE.Carto.LayerFactory.CreateDefaultRasterLayer(rDataset);
if (rasterlayer == null) return;
// 添加图层到地图并刷新
mapControlMain.FocusMap.AddLayer(rasterlayer as ILayer);
mapControlMain.ActiveView.PartialRefresh(PIE.Carto.ViewDrawPhaseType.ViewAll);

2.5 示例截图

PIE SDK打开栅格数据的更多相关文章

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

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

  2. PIE SDK内存栅格数据的创建

    1. 功能简介 目前在地理信息领域中数据包括矢量和栅格两种数据组织形式.每一种数据有不同的数据格式,目前PIE SDK支持多种数据格式的数据创建,下面对内存栅格数据格式的数据创建功能进行介绍. 2.  ...

  3. PIE SDK打开矢量数据

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

  4. PIE SDK打开HDF、NC数据

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

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

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

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

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

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

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

  8. PIE SDK打开GDB、Dwg数据

    1. 功能简介 目前不同的GIS软件平台具有自己独特支持的数据格式,如ESRI的File GeoDataBase和Personal GeoDataBase.MapInfo的mif数据.AutoCAD的 ...

  9. PIE SDK打开Micaps数据

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

随机推荐

  1. ESP8266-iot-2

    1.SDK概述 复制相关的工程文件到HelloWorld里面 要在版本esp8266_nonos_sdk_v2.0.0_16_07_19上面开发,那么就要复制相应文件 然后打开IDE 导入HelloW ...

  2. SVN常见问题及解决方式(一)

    1.每天早上上班要update SVN,每天下班要commit SVN.2.查看是谁动了我的代码,右键 tortoise 后查看 log 日志.3.文件被别人删除,在空白处右击,show log,可以 ...

  3. 验证码测试-demo

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Inse ...

  4. 关于Pascal(帕斯卡)以及Camel(驼峰)命名法

    小驼峰式命名法(lower camel case): 第一个单字以小写字母开始:第二个单字的首字母大写,例如:firstName.lastName,也被称为Camel命名法. 大驼峰式命名法(uppe ...

  5. JAVA的IO处理【转】

    I/O简介 IO是输入和输出的简称,在实际的使用时,输入和输出是有方向的.就像现实中两个人之间借钱一样,例如A借钱给B,相对于A来说是借出,而相对于B来说则是借入.所以在程序中提到输入和输出时,也需要 ...

  6. React学习笔记3

    React的生命周期   生命周期分为三个阶段   1.mounted(初始化的时候) 当我们看见页面元素从JSX变成了DOM节点时,React组件已经被载入(mounted)到页面中了   2.up ...

  7. C#Async,await异步简单介绍

    C# 5.0 引入了async/await,.net framework4.5开始支持该用法 使用: 由async标识的方法必须带有await,如果不带await,方法将被同步执行 static vo ...

  8. 以太坊系列之四: 使用atomic来避免lock

    使用atomic来避免lock 在程序中为了互斥,难免要用锁,有些时候可以通过使用atomic来避免锁, 从而更高效. 下面给出一个以太坊中的例子,就是MsgPipeRW,从名字Pipe可以看出, 他 ...

  9. 协程《三》gevent模块

    一 gevent模块 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它 ...

  10. 【转】C#中的combobox里DropDownStyle

    源地址:https://blog.csdn.net/cf643487053/article/details/54016822 C#中的combobox控件里DropDownStyle有三种选项 Sim ...