WorldWind源码剖析系列:地形访问器类TerrainAccessor
地形访问器类TerrainAccessor
地形访问器类TerrainAccessor提供了对地形(高程)Terrain (elevation)访问的各种接口interface,是NltTerrainAccessor类的基类。类TerrainAccessor和NltTerrainAccessor封装了通过行列,或者经纬度值读取Cachd\Earth\SRTM对应层次BIL文件的高程信息的函数GetElevationAt等直接返回该点的高度值。该类类图如下。

基类TerrainAccessor提供的主要处理方法简要描述如下:
protected string m_name; //地形模型名称
protected double m_north; //地形北部边界
protected double m_south; //地形南部边界
protected double m_east; //地形东部边界
protected double m_west; //地形西部边界
public abstract float GetElevationAt(double latitude, double longitude, double targetSamplesPerDegree);抽象函数通过给定的经度、纬度和在该位置引用帧的分辨率精度来来获取浮点型高程数值。如果磁盘上没有可用的瓦片则返回0。派生类必须实现该函数。
public virtual float GetElevationAt(double latitude, double longitude) 虚函数通过给定的经度和纬度来获取浮点型高程数值。如果磁盘上没有可用的瓦片则返回0。内部实际是调用了上面的抽象函数。派生类可以根据自己的需要重载该函数。
public virtual TerrainTile GetElevationArray(double north, double south, double west, double east, int samples)虚函数通过给定的地形区域的边界包围盒和分辨率来获取高程数组。返回代表指定地形高程的瓦片。派生类可以根据自己的需要重载该函数。
Nlt地形访问器类NltTerrainAccessor
派生类NltTerrainAccessor用来读取NLT存储在BIL文件中的地形/高程数据。
其中,NLT是NASA Learning Technologies的首字母缩写。提供的主要字段、属性和方法简要描述如下:
public static int CacheSize = 100;//缓冲区大小
protected TerrainTileService m_terrainTileService; //地形瓦片服务
protected WmsImageStore m_wmsElevationSet; //WMS影像存储
protected TerrainAccessor[] m_higherResolutionSubsets; //地形访问器
protected Hashtable m_tileCache = new Hashtable();//瓦片缓冲的哈希表
public override float GetElevationAt(double latitude, double longitude, double targetSamplesPerDegree)
public override float GetElevationAt(double latitude, double longitude)
public override TerrainTile GetElevationArray(double north, double south, double west, double east,int samples)
以上三个成员方法重载父类的同名方法,功能不再赘述,具体请查阅代码。
派生类NltTerrainAccessor内嵌的类public class TerrainTileCacheEntry代表地形瓦片缓冲条目。
WorldWind源码剖析系列:地形访问器类TerrainAccessor的更多相关文章
- WorldWind源码剖析系列:影像图层类ImageLayer
影像图层类ImageLayer 影像图层类ImageLayer将单张影像作为纹理映射到星球表面上去.源影像必须是平面笛卡尔坐标系.该类的类图如下. 影像图层类ImageLayer提供的主要字段.属性和 ...
- WorldWind源码剖析系列:影像存储类ImageStore、Nlt影像存储类NltImageStore和WMS影像存储类WmsImageStore
影像存储类ImageStore 影像存储类ImageStore提供了计算本地影像路径和远程影像影像URL访问的各种接口,是WmsImageStore类和NltImageStore类的基类.当划分完层次 ...
- WorldWind源码剖析系列:表面影像类SurfaceImage
表面影像类SurfaceImage描述星球类(如地球)表面纹理影像.该类的类图如下. 表面影像类SurfaceImage包含的主要的字段.属性和方法如下: string m_ImageFilePath ...
- WorldWind源码剖析系列:表面瓦片类SurfaceTile
表面瓦片类SurfaceTile描述星球类(如地球)表面纹理影像的瓦片模型.其类图如下. 表面瓦片类SurfaceTile包含的主要的字段.属性和方法如下: int m_Level;//该瓦片所属金字 ...
- WorldWind源码剖析系列:下载请求类DownloadRequest
下载请求类DownloadRequest是各种下载请求的抽象基类,先派生出网络下载请求类WebDownloadRequest,再派生出地理空间下载请求类GeoSpatialDownloadReques ...
- WorldWind源码剖析系列:四叉树瓦片类QuadTile
四叉树瓦片类QuadTile提供了对影像和地形数据的四叉树访问模型.该类的类图如下. 四叉树瓦片类QuadTile提供的主要字段.属性和方法简要描述如下: public QuadTileSet Qua ...
- WorldWind源码剖析系列:网络下载类WebDownload
网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作.该类使用了两个委托类型和一个枚举类型. 该类的类图如下. 网络下载类WebDownload各个字段和属性的含义说明如下: st ...
- WorldWind源码剖析系列:绘制参数类DrawArgs
绘制参数类DrawArgs主要对绘制时需要的对象如:设备对象Microsoft.DirectX.Direct3D.Device.Microsoft.DirectX.Direct3D.Font字体对象. ...
- WorldWind源码剖析系列:数学引擎类MathEngine
PluginSDK中的MathEngine类是密封类.不可继承,主要完成通用的数学计算功能.由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/ ...
- WorldWind源码剖析系列:代理助手类ProxyHelper
代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数.该类类图如下. 提供的主要处理方法基本上都是静态函数,简要描述如下: 内嵌类型WINHTTP_AUTOPROX ...
随机推荐
- 开源框架--NFine.Framework学习(01)
框架底层采用经典DDD架构,UI层采用jQuery+Bootstrap打造而成的一套符合中国式操作习惯的快速开发框架. 前后端使用技术 1.前端技术 JS框架:jquery-2.1.1.Bootstr ...
- C# 免客户端访问Oracle的DLL
代码示例: OracleConnection con = new OracleConnection(); con.ConnectionString ="user ...
- django项目一 分页器(前端分页和后端分页区别)
1. 客户信息展示 1. 母版和继承 {% extends 'layout'%} {% load static%} {% static '文件路径' %} block css js content 2 ...
- ThinkPHP_5对数据库的CURL操作
Db::query();Db::execute(); Db::table()->select(); 所有数据,二维数组,结果不存在时返回空数组Db::table->find(); 一条数据 ...
- CSS 水平居中和垂直居中
1.水平居中——行内元素 text-align: center; 2.水平居中——定宽块状元素 margin: auto,满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto” ...
- canvas与svg特性和使用对比
什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...
- 【代码笔记】iOS-NSFileManager
一,代码. #import "ViewController.h" @interface ViewController () @end @implementation ViewCon ...
- ArcGIS 中取出面上最大的Z值的坐标点
def MaxZ(shape): line = shape.getPart(0) pnt = line.next() maxValue = float("-in ...
- tomcat报错this web application instance has been stopped already问题
上网搜了下,大部分的报错原因:重启时候 之前的tomcat未正常关闭 ,导致在重启时候 报了这个问题.mac下解决: ps -ef|grep tomcat 找到在进行的tomcat ,kill -9 ...
- jmeter函数简介
1._char:把一组数字转化成Unicode字符. 2._counter:记录线程的迭代次数. 3._CSVRead:可以从文件中指定列的值. 4.${_CSVRead(D:\test.txt,0, ...