# 数据来源、许可与精度边界 ## 单位与尺度 三维世界以地球赤道半径为 1 单位: | 天体 / 常数 | 采用值 | |---|---:| | 地球赤道半径 | 6,378.137 km | | 地球极半径 | 6,356.752314 km | | 月球平均半径 | 1,737.4 km | | 太阳名义半径 | 695,700 km | | 1 AU | 149,597,870.7 km | 日地、地月距离随椭圆轨道变化。没有单独缩放天体、压缩距离或使用另一套近景模型。标签仅用于定位,尤其不能把日地全景的地球标签理解为放大后的地球。 透视中不同深度的物体像素尺寸不直接等于实物比例;在同一坐标系内的物理尺寸与距离一致。 ## 夜光、云、月球、太阳 发布者:[Solar System Scope Textures](https://www.solarsystemscope.com/textures/),许可:[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)。其地球纹理基于 NASA 数据,具体制作和来源说明见发布页面。 | 本地文件 | 原始文件 | 用途 / 修改 | |---|---|---| | `assets/textures/earth-night.jpg` | `8k_earth_nightmap.jpg` | 静态城市夜光合成;原图;着色器仅在夜侧显示 | | `assets/textures/earth-clouds.jpg` | `2k_earth_clouds.jpg` | 静态全球云图;原图;不是实时天气 | | `assets/textures/moon.jpg` | `2k_moon.jpg` | 月球表面;原图 | | `assets/textures/sun.jpg` | `2k_sun.jpg` | 光球纹理;原图;着色器转为太空中接近白色的太阳,非实时太阳成像 | 原始下载路径均为 `https://www.solarsystemscope.com/textures/download/<原始文件>`,详见可重复下载脚本。上述影像为不同年份的合成数据,并非观测时间当时的卫星照片。地图中的城市灯光不是单个灯泡、建筑模型或实时用电数据。 ## 高清自然地表:NASA Blue Marble 瓦片 白天地表已替换为 **NASA GIBS 的 BlueMarble_NextGeneration(MODIS)**,不是行政地图、生成图或包含海底伪彩色的 Bathymetry 图层。 - 数据入口:[NASA GIBS](https://www.earthdata.nasa.gov/engage/open-data-services-and-software/earthdata-developer-portal/gibs);[Blue Marble Next Generation](https://visibleearth.nasa.gov/collection/1484/blue-marble)。归属:**NASA Earth Observatory / Blue Marble Next Generation,Reto Stöckli、Robert Simmon 及 MODIS 团队**。NASA 数据一般可按[媒体使用指南](https://www.nasa.gov/nasa-brand-center/images-and-media/)使用;不表示 NASA 对本站的认可。 - 下载模板:`https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/BlueMarble_NextGeneration/default/500m/6/{row}/{column}.jpeg`。 - 使用该矩阵的 level 6:80×40 张 512px JPEG,共 3,200 张,全球等效 **40,960×20,480**,赤道约 **978 m/像素**(不是源产品最高 500m 层级 7)。保留原始 level 6 JPEG;level 5 和 4 由相邻四张真实影像缩小生成,共 4,200 张本地瓦片。 - `assets/textures/earth-day.jpg` 是由相同瓦片生成的 4,096×2,048 概览,避免不同季节/色调的细节切换;已不再是 Solar System Scope 的 8K 日图。 - `scripts/fetch-detail-tiles.py` 可重复下载/生成;`assets/tiles/day/metadata.json` 记录来源、实际下载时间、级别、大小和内容摘要。**下载时间不等于拍摄时间**;这是历史无云合成,不是实时卫星图,也不随模拟日期更新。 - 浏览器按可见视野和像素密度选择 10K / 20K / 40K 级别。桌面 GPU atlas 上限 24 张(RGBA 24 MiB),手机 12 张(12 MiB),串行下载/解码;不创建 40K 巨型纹理。高分辨率瓦片仅覆盖当前视野中优先级最高的区域,边缘/未就绪区域回退到概览;断网或丢失瓦片不导致黑地球。 - 使用相同影像逐渐混合,并对 atlas 单元采样做半像素夹取,避免串色。无人工随机表面纹理、过度锐化或“无限放大”承诺;过度放大仍受约 1km 影像分辨率限制。城市夜光、云和高程分辨率未因此提高。 ## 测得高程,而非随机凹凸 数据:[Mapzen Terrain Tiles](https://registry.opendata.aws/terrain-tiles/),公开托管于 AWS。Terrarium 编码参考:[tilezen/joerd](https://github.com/tilezen/joerd)。数据为 Mapzen 汇集的公开地形来源,包括 GMTED2010、SRTM、NED 等,来源与归属见上述项目;使用时按其归属要求注明 **Mapzen、USGS 及相应数据贡献者,CC BY 4.0**。 - 输入:`https://s3.amazonaws.com/elevation-tiles-prod/terrarium/3/{x}/{y}.png`,z=3 的 8×8 瓦片。 - 原始海拔:`R × 256 + G + B / 256 − 32768` 米。 - 处理:从 Web Mercator 重采样为等距经纬度 2,048×1,024 栅格;海底负高程归零(海面而不是海床是可见表面);无新增、随机或人为增强的山地。 - 输出:`assets/textures/earth-elevation.png`;`R × 256 + G` 为米,B 为陆地掩码。取整到米,非测量精度承诺。 - `terrain-metadata.json` 记录采样范围、最高样本值与编码。最高栅格样本 6,328 m **不是珠峰高度**;低分辨率重采样会丢失单座山峰极值。 - 几何:512×256 椭球网格上的实际高程位移;另外根据该高程图计算表面坡度法线。位移除以 `6,378,137` 米,垂直比例为 1,没有以“肉眼可见”为由夸大山体。 - 极区:Mercator 输入只覆盖 ±85.05112878°,之外保留扁球面、位移为零,**不声称极区有真实高程复刻**。地表影像仍覆盖极区。 - 水平精度:经度采样约 0.176°,赤道约 19.6 km;地形网格更粗。不能用于测绘、低空飞行、徒步、单个山峰或城市近距离观测。 ## 天文计算 `src/astronomy.js` 不依赖网络: - 太阳:基于 Meeus / NOAA 常用低精度公式的太阳平黄经、平近点角、中心差、黄赤交角与近似视黄经;距离来自椭圆轨道。参考 [NOAA Solar Calculation Details](https://gml.noaa.gov/grad/solcalc/calcdetails.html)。 - 地球:UTC 转 Julian Date,计算 Greenwich Mean Sidereal Time,贴图经度与赤道惯性坐标对应。UTC 近似 UT1,未使用 IERS 地球定向参数、岁差章动完整链或闰秒时标转换。 - 月球:Schlyter 轨道根数 + 主要黄经、黄纬、距离摄动,参考 [Computing planetary positions](https://stjarnhimlen.se/comp/ppcomp.html)。月面采用近似同步转动,未完整模拟物理天平动。 - 不声称 JPL / DE440 级精度;该模型用于现代日期的地球昼夜、月相与尺度教学,不用于精密食象、导航、卫星跟踪或远年代推演。 - 昼夜按当前太阳入射方向计算;高倍速可改变季节与月相,不会更新贴图或云图。 ## 渲染近似 - 海面使用 GGX 微表面反射与水的 Fresnel 系数(F0≈0.0204);陆地采用 Oren–Nayar 粗糙漫反射及低能量宽镜面。植被、裸地、冰雪粗糙度由影像颜色/高程近似推断,**不是实测全球物理材质图**。没有给陆地增加统一亮膜,也未虚构微地形。地形坡度从真实 DEM 计算,只应用一次。 - 云层位于约 10 km,采用静态覆盖图;**默认关闭**,开关直接注明“历史合成云,不是实时天气”。阴影为简化投影,并非完整体积云、实时天气或风场。 - 城市灯光在太阳低于地平线至暮光区逐渐显露,影像不会随年月更新。 - 大气采用约 80 km 的薄壳和角度相关辉光;颜色为简化 Rayleigh / 暮光视觉近似,非逐波长大气传输。 - 食影用有限太阳角直径的简化球形遮挡计算;不作为观测预报。月球不含真实高程网格。 - 星空是固定随机种子的低亮度、稀疏背景,不对应恒星目录,也不把星点误称为真实星位。 - 时间暂停仅冻结模型时刻;镜头依然可交互。 ## 软件 [Three.js](https://threejs.org/) **r170 / 0.170.0**,MIT。本地 `assets/vendor/THREE-LICENSE.txt` 保留版权与许可。`OrbitControls.js` 同版本同许可。运行时不使用外部 CDN、字体服务或遥测。地表概览最多 4K,细节使用上述固定容量瓦片 atlas;夜光 GPU 纹理保持桌面最多 4K、手机最多 2K(也受设备限制),夜光不是本次高清地表瓦片的一部分。 所有界面、时钟、镜头与渲染代码在本项目中实现。桌面与移动端使用相同的天体尺度。未来若加入更高精度 DEM、真实星表或实时云服务,应更新这些边界说明,而不是把视觉近似改称为物理真值。