首页 / 算法 / PIE SDK创建金字塔算法
PIE SDK创建金字塔算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PIE SDK创建金字塔算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2498字,纯文字阅读大概需要4分钟。
内容图文
![PIE SDK创建金字塔算法](/upload/InfoBanner/zyjiaocheng/748/bdf5fe5da7a34de085a16d60c8b52e0b.jpg)
1.算法功能简介
为栅格影像建立了金字塔,这些影像便能快速进行显示。除了在屏幕上显示外,金字塔还包含了很多其他信息。如果没有金字塔,那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像元被显示。金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选择一个与显示区域相似的分辨率,只需进行少量的查询和少量的计算,从而减少显示时间。
PIE支持金字塔创建算法功能的执行,下面对该算法功能进行介绍。
2.算法功能实现说明
2.1 实现步骤
第一步 |
算法参数设置 |
第二步 |
算法执行 |
第三步 |
结果显示 |
2.2 算法参数
算法名称 |
创建金字塔 |
|
C++算法DLL |
ImagePyramidBuildAlgo.dll |
|
C#算法DLL |
PIE.CommonAlgo.dll |
|
C#算法名称 |
PIE.CommonAlgo.ImagePyramidBuildAlgo |
|
参数结构体 |
无 |
|
参数说明 |
||
IList<String> |
输入创建金字塔的文件或文件夹路径集合 |
2.3 示例代码
数据路径 |
百度云盘地址下/ PIE示例数据/栅格数/04.World/World.tif |
示例代码 |
|
![]() ![]() 1 /// <summary> 2 /// 金字塔创建 3 /// </summary> 4 public void BuildPyramic() 5 { 6 #region 参数设置 7 string filePath = @"D:\data\China1\world\World.tif"; 8 IList<string> listFile = new List<string>(); 9 listFile.Add(filePath); 10 #endregion 11 12 #region 创建算法对象 13 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.ImagePyramidBuildAlgo"); 14 if (algo == null) return; 15 algo.Name = "创建金字塔"; 16 algo.Params = listFile; 17 #endregion 18 19 #region 执行算法 并显示结果 20 IRasterDataset dataset = DatasetFactory.OpenDataset(filePath, OpenMode.ReadOnly) as IRasterDataset; 21 if (dataset == null) return; 22 int oldLevel = dataset.GetPyramidLevel();//获取金字塔级别 23 bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo); 24 if (result) 25 { 26 IRasterDataset dataset1 = DatasetFactory.OpenDataset(filePath, OpenMode.ReadOnly) as IRasterDataset; 27 if (dataset1 == null) return; 28 int newLevel = dataset.GetPyramidLevel(); 29 string info = string.Format("金字塔算法执行成功,原来金字塔级别为:{0},转换后的为:{1}", oldLevel, newLevel); 30 MessageBox.Show(info); 31 IRasterLayer rLayer = LayerFactory.CreateDefaultRasterLayer(dataset1); 32 if (rLayer == null) return; 33 m_HookHelper.ActiveView.FocusMap.AddLayer(rLayer as ILayer); 34 m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 35 (dataset1 as IDisposable).Dispose(); 36 dataset1 = null; 37 } 38 (dataset as IDisposable).Dispose(); 39 dataset = null; 40 #endregion 41 }View Code |
2.4 示例截图
内容总结
以上是互联网集市为您收集整理的PIE SDK创建金字塔算法全部内容,希望文章能够帮你解决PIE SDK创建金字塔算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。