### World Wind 技术手册知识点总结
#### 一、WorldWind软件架构
**1.1 WW功能介绍**
WorldWind(WW)是由美国国家航空航天局(NASA)开发的一款开源地理信息系统软件。该软件允许用户通过一个三维地球模型来查看来自NASA、美国地质调查局(USGS)以及其他Web Mapping Service (WMS) 提供商提供的地理图像数据。WW不仅提供了一个直观的地球浏览体验,还支持月球、火星等其他星球的可视化。
WW的主要特点包括:
- **交互式浏览**:用户可以自由旋转、缩放地球模型,并查看详细的地名和行政区划信息。
- **数据层次结构**:包括静态数据层(如Bluemarble、Landsat卫星图像、USGS地形图等)和动态数据层(例如动画地球、MODIS实时数据等)。
- **数据下载**:当用户放大到特定区域时,会自动从NASA服务器下载更高分辨率的数据。
**1.2 WW与XML**
WW利用XML来描述数据和服务配置。具体来说,WW使用以下几种XML格式:
- **WorldModel**: 描述整个地球模型的配置信息。
- **图层配置**: 每个图层都有自己的XML配置文件,用于指定其来源、显示属性等。
- **插件配置**: 描述WW插件的功能和如何集成这些插件到主应用中。
- **HTTP/WMS请求**: 使用XML格式来定义向服务器发送的数据请求。
**1.3 Client与Server**
- **1.3.1 WW使用链接**: WW客户端通过网络连接与服务器进行通信,获取地理数据和其他资源。
- **1.3.2 本地缓存路径**: 为了提高性能和减少网络流量,WW会在用户的本地计算机上缓存常用的数据和图像。
- **1.3.3 本地功能配置**: 用户可以通过配置文件调整WW的行为,如地图的默认视图、图层选择等。
- **1.3.4 HTTP请求与ASP**: WW客户端使用HTTP协议与服务器进行交互,而ASP(Active Server Pages)通常用于服务器端的数据处理和响应。
- **1.3.5 WMS、WFS**: WW支持WMS(Web Map Service)和WFS(Web Feature Service),这两种服务分别用于获取地图图像和地理特征数据。
#### 二、WorldWind金字塔体系
**2.1 瓦片金字塔详解及其对应公式**
- **2.1.1 NASA WorldWind Tile Structure**: 这是一种用于存储和管理地图图像的方法,其中地图被划分为多个层级的瓦片。每一级的瓦片代表不同比例尺的地图图像,越高级别的瓦片分辨率越高。
- **2.1.2 NASA WorldWind Map Tile System**: 定义了如何组织和命名瓦片,以及如何根据用户的视图位置和缩放级别请求正确的瓦片。例如,使用特定的坐标系统和编码方案来唯一标识每个瓦片。
**2.2 瓦片请求调度策略**
- **2.2.1 当前显示请求及其显示(客户端)**: 当用户查看某个区域时,WW客户端会根据当前的视图和缩放级别请求相应的瓦片。这种请求机制确保了只加载当前可见范围内的数据,从而提高了效率。
- **2.2.2 目标瓦片快速搜索算法**: 为了解决大规模数据集中的瓦片定位问题,WW采用了高效的搜索算法来快速找到目标瓦片。
- **2.2.3 瓦片数据的请求预测(服务器)**: 服务器端可以预测未来可能需要的瓦片数据,并提前准备好这些数据,以便快速响应客户端的请求。
**2.3 可视化的地球空间数学模型**
- **2.3.1 地球三维LOD模型**: LOD(Level of Detail)是指在不同的距离和视角下,根据用户的需求自动调整模型细节级别的技术。在WW中,这个模型用于实现平滑的缩放和平移操作,同时保持合理的性能消耗。
#### 三、Geospatial Image Processing
- **3.1 步骤**:
- 准备知识:LOTD(0层瓦片大小)、TileSize等参数。
- **3.2 NLTLandsat处理技术范例**: 描述了如何使用特定的技术对NLTLandsat图像进行处理,以适应WW的要求。
- **3.3 dstilehowto**: 提供了一种方法或指南来处理或生成特定类型的瓦片数据。
#### 四、创建新的世界模型
- **4.1 WorldWind本地文件说明**
- **Worlds**: 描述了WW如何组织和管理不同的世界模型文件。
- **安装目录下的文件**: 包括各种配置文件、数据文件等。
- **4.2 创建新的世界模型**: 介绍了如何自定义和创建新的世界模型,包括定义图层、配置数据源等步骤。
#### 五、制作图层
- **5.1 添加新图层**: 指导如何添加自定义图层,包括矢量图层和栅格图层。
- **5.2 Point**: 如何在地图上添加单个点。
- **5.3 Lines**: 如何绘制线要素。
- **5.4 Polygon**: 如何绘制多边形要素。
- **5.5 ModelFeature**: 如何在地图上添加三维模型。
- **5.6 Effects and Multi-Texturing**: 如何应用纹理效果和多重纹理技术。
- **5.7 Shapefile**: 如何导入和显示Shapefile数据。
- **5.8 KML/KMZ**: 如何导入和显示KML或KMZ格式的数据。
#### 六、Addons与Plugins
- **6.1 Addons与Plugins的区别**: 描述了WW插件与附加组件之间的差异,以及它们各自的作用。
- **6.2 插件总汇及其功能**: 列出了WW可用的各种插件,并简要说明了每个插件的功能。
#### 七、Script脚本
- **7.1 Script脚本**: 介绍了如何使用脚本来控制WW的行为,例如自动执行任务、响应用户输入等。
#### 八、编译调试
- **8.1 编译调试**: 提供了有关如何编译和调试WW应用程序的指导。
#### 九、读书籍和论文
- **9.1 推荐书籍和论文**: 列举了一些关于WW及相关技术的书籍和学术论文,帮助用户深入了解WW的内部机制和技术背景。
#### 十、1.4.1版本发展
- **10.1.4.1 版本发展**: 记录了WW 1.4.1版本的发展历程,包括新增功能、改进的地方以及已知问题等内容。