zoukankan      html  css  js  c++  java
  • PIE SDK打开Micaps数据

     

    1. 功能简介

            Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式。其包含多种气象信息产品(地面常规气象观测数据产品、高空常规气象观测数据产品等),目前Micaps数据被Micaps软件很好的支持,其他软件对Micaps数据的支持也都参考该软件。

     

           PIE支持Micaps 1、2、3、4、7类数据的加载和显示控制。

    2. 功能实现说明

    2.1 Micaps数据介绍

         Micaps采用文本文件的方式存储数据,包含多种类型的气象特征的数据,每种数据的存储结构不同,可参考相关的说明。因为Micaps数据是特定的气象数据,所以每一种气象元素都有自己独特的显示方式和符号,PIE中对Micaps中部分数据进行了高度化的支持,用户直接加载数据就能按照标准的方式显示数据。

    下面以Micaps的1类数据为例,来演示Micaps数据的加载显示。

    2.2 实现思路及原理说明

    第一步

    通过文件路径打开矢量数据集

    第二步

    通过矢量数据集创建矢量图层

    2.3  核心接口与方法

    接口/类

    方法

    说明

    DataSource.DatasetFactory

    OpenFeatureDataset

    打开矢量数据集

    Carto.LayerFactory

    CreateDefaultFeatureLayer

    创建矢量图层

    2.4 示例代码

    项目路径

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

    数据路径

    百度云盘地址下/PIE示例数据/矢量数据/Micaps下数据

    视频路径

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

    示例代码

     1 方法(一)
     2   // 获得要打开Micaps数据的路径
     3   OpenFileDialog openFileDialog = new OpenFileDialog();
     4   openFileDialog.Filter = "Micaps数据|*.000";
     5   if (openFileDialog.ShowDialog() != DialogResult.OK) return;
     6   // 打开图层
     7   string filePath = openFileDialog.FileName;
     8   ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(filePath);
     9   if (layer == null) return;
    10   // 添加图层到地图并刷新
    11   mapControMain.FocusMap.AddLayer(layer);
    12 mapControMain.ActiveView.PartialRefresh(PIE.Carto.ViewDrawPhaseType.ViewAll);
    13 
    14 方法(二)
    15    // 获得要打开Micaps数据的路径
    16    OpenFileDialog openFileDialog = new OpenFileDialog();
    17    openFileDialog.Filter = "Micaps数据|*.000";
    18    if (openFileDialog.ShowDialog() != DialogResult.OK) return;
    19    // 打开矢量数据集
    20    string filePath= openFileDialog.FileName;
    21    IFeatureDataset fDataset = PIE.DataSource.DatasetFactory.OpenFeatureDataset(filePath);
    22    if (fDataset == null) return;
    23 
    24    // 创建矢量图层
    25    IFeatureLayer fLayer = PIE.Carto.LayerFactory.CreateDefaultFeatureLayer(fDataset);
    26    if (fLayer == null) return;
    27  
    28    // 添加图层到地图并刷新
    29    mapControlMain.FocusMap.AddLayer(fLayer as ILayer);
    30    mapControlMain.ActiveView.PartialRefresh(PIE.Carto.ViewDrawPhaseType.ViewAll);
    View Code

    2.5 示例截图

     

  • 相关阅读:
    模拟器 | 如何安装ENSP,附上最详细的步骤,含安装软件!
    《平凡的世界》孙少平给妹妹孙兰香的信
    Date类添加一个新的方法,用prototype
    jquery动画相关函数
    斐波那契数列 递归调用
    怎样才能升天?
    jquery tabs切换插件
    vmware桥接共享的问题
    C#,mysql 添加数据的问题
    一根神奇的网线
  • 原文地址:https://www.cnblogs.com/PIESat/p/10143123.html
Copyright © 2011-2022 走看看