ArcGISEngine时态数据浏览回放

2024-03-05 00:08

本文主要是介绍ArcGISEngine时态数据浏览回放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ArcGIS10新增了对时态数据的可视化功能,二次开发组件ArcGIS Engine也提供了相应的开发接口供用户根据实际要求开发相应的时态数据回放功能。

    所谓的时态数据是某个时间点的状态的数据,如不同时间点的飓风位移、降雨量等。

    时态数据图层必须包含时间字段,如下图所示

下面介绍如何通过ArcGISEngine编程实现时态数据的回放浏览功能。

    ITimeExtent pLayerTimeExtent = null;

    Int32 pCount = 0;

    privatevoid DoReplay(IFeatureLayer  pFLyr)

   {

     try

    {

     ITimeZoneFactory pTimeZoneFactory = newTimeZoneFactoryClass();

     ITimeData pTimeData = pFLyr asITimeData;

     pTimeData.UseTime = true;

     String slocalTimeZoneWId =pTimeZoneFactory.QueryLocalTimeZoneWindowsID();

     ITimeReference pTimeReference =pTimeZoneFactory.CreateTimeReferenceFromWindowsID(slocalTimeZoneWId);

     if (!pTimeData.SupportsTime) return;

     pTimeData.UseTime = true;

     ITimeTableDefinition pTimeDataDef = pFLyr asITimeTableDefinition;

     pTimeDataDef.StartTimeFieldName = “Date_Time;

     pTimeDataDef.TimeReference = pTimeReference;

              //获取图层时态数据时间

    pLayerTimeExtent = pTimeData.GetFullTimeExtent();

                //激活timer控件

                timer1.Enabled = true;

                pCount = 0;

    }

     catch (Exception Err)

    {

       string msg = Err.Message;

    }

  }

       //timer控件

  privatevoid timer1_Tick(objectsender, EventArgs e)

  {

    try

    {

       IMap pMap = axMapControl1.Map;

      IActiveView pActiveView = pMap asIActiveView;

      IScreenDisplay pScreenDisplay =pActiveView.ScreenDisplay;

      ITimeDisplay pTimeDisplay = pScreenDisplay asITimeDisplay;

      ITime startTime = pLayerTimeExtent.StartTime;

      ITime endTime = (ITime)((IClone)startTime).Clone();

              //每次递进12小时

      ((ITimeOffsetOperator)endTime).AddHours(12.0 * pCount);

       ITimeExtent pTimeExt = newTimeExtentClass();

       pTimeExt.SetExtent(startTime, endTime);

       pTimeExt.Empty = false;

       pTimeDisplay.TimeValue = pTimeExt asITimeValue;

       pActiveView.Refresh();

       pCount += 1;

//当前浏览时间已到达图层时态数据终止时间时,停止timer控件

       if (endTime.Compare(pLayerTimeExtent.EndTime)== 1)

       {

          timer1.Enabled = false;

          button1.Enabled = true;

       }

      }

      catch (Exception Err)

      {

       }

    }

主要接口:

      ITime设置时间点

      ITimeData图层时间数据

    ITimeExtent时间范围

    ITimeDisplay显示时间范围

    ITimeTableDefinition设置图层时间数据字段

    ITimeReference时间参考

    ITimeZoneFactory设置时区

 

 

 

 

这篇关于ArcGISEngine时态数据浏览回放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/774704

相关文章

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T