地图投影与球面路线对比 / 26
三维地球、大圆路径与投影比较工作台

直接打开
双击 index.html。地球模型、真实低分辨率陆地、绘图和字体全部内嵌，运行无需联网。默认显示东京→温哥华→旧金山，球面总距 8836.989399 km。

完成一条自己的路线
1. 在航点表中填写名称、纬度和经度。点击某行选择它，可复制、上下排序、删除或反向整条路线。最多 30 点。经纬度也可以 CSV 批量导入。
2. “看整条路线”调整地球视角；选定一个航点后可“定位所选点”。拖动球体或使用方向与缩放按钮。三维路线略高于表面以便看清，长度始终按球面计算。
3. 选择 Lambert 圆柱等面积、Mercator 或等距圆柱；改变中央经线，可以让路线跨过或避开地图的裁切边界。相同路线、纬度探针和航点同步到地图。
4. 调整“纬度探针”，比较东西尺度、南北尺度与面积比。地图中的椭圆是该纬度无穷小圆的局部形变示意，不是假装地球上有同样大小的实体物体。
5. 导出路线 GeoJSON、分段/航点/插值 CSV、地图 PNG 或当前地球 PNG。保存 JSON 可以恢复全部航点与显示条件。

航点 CSV
UTF-8，支持 BOM、双引号内逗号与换行。列名为 name,lat,lon；空数字不当作 0。示例：
name,lat,lon
东京,35.6762,139.6503
温哥华,49.2827,-123.1207
旧金山,37.7749,-122.4194

纬度 −90° 至 90°，经度 −180° 至 180°；名称最多 60 个 UTF-16 单元；文件最大 256 KiB。地图添加按钮打开后，可点地图按实际逆投影新增航点，再到表里精调。

球面模型
默认半径为 6371.0088 km，可改成 100 至 10000 km。两点用球面单位向量确定中心角，再计算 R×中心角；初始航向从正北顺时针。航向会随行程变化，分段表报告的不是一条恒向线。
精确重合点的距离为 0，但方向未定义。从极点出发也不提供伪精确的初始航向。对跖点最短距离可确定为 πR，却没有唯一最短弧；极近对跖点数值对方向敏感。工具明确报告并要求增加中间点，此时完整路线 GeoJSON 不可导出。
大圆插点的最大间距由“采样步长”设置（20 至 1000 km）。跨反经线时，在球面弧上二分定位边界交点，正确切成 GeoJSON 的多段线。经过地理极点的路线会按入射/出射经线拆开，避免在平面上产生横跨全图的伪连接。
这是一套球体几何工具，不是 WGS84 椭球测地线、气象航路、避障或真实飞行规划。

三种地图的尺度
设相对中央经线为 λ，纬度为 φ。
Mercator：x=λ，y=asinh(tanφ)。东西/南北尺度都是 secφ，局部面积比为 sec²φ。为避免极点无穷，显示限制在 ±85°；CSV/GeoJSON 不裁掉真实极地路线。
Lambert 圆柱等面积：x=λ，y=sinφ。东西尺度 secφ，南北尺度 cosφ，两者乘积为 1。高纬度形状会横向拉长，但局部面积保持。
等距圆柱：x=λ，y=φ。东西尺度 secφ，南北尺度 1，面积比 secφ；“等距”不表示任意方向和任意地点的距离都准确。
图面使用相同的 x/y 投影单位像素比例，不为了装进固定卡片而额外横向或纵向拉伸。因此 Mercator 输出会更高，等面积输出较扁。例：60° 纬度时，Mercator 的尺度为 2、2、4；等面积为 2、0.5、1；等距圆柱为 2、1、2。

地图与许可
陆地来自 Natural Earth 1:110m 陆地 GeoJSON，127 个多边形要素，属于公共领域。它是真实低分辨率全球陆地，不包含用于导航的精确海岸或行政边界。制作中使用 Mapbox Earcut 2.2.4 将多边形（含洞）三角化，再细分贴合球面；其 ISC 许可已保留。最终 HTML 内嵌转换后的 23576 个陆地顶点，运行时不请求地图服务。

导出与恢复
GeoJSON 的坐标顺序是经度、纬度，保留球体半径、采样步长与总距离等属性；多航段大圆由密集折线近似，GeoJSON 本身不会自动把相邻点解释为球面弧。
航点 CSV 可以再次导入；分段 CSV 包含起终点、中心角、距离、初始航向与诊断；插值 CSV 包含每段进度与坐标。完整 JSON 包含所有输入、选择与投影状态。空文档可以保存，尚无路线时不会制造默认距离。
撤销/重做最多 36 次。浏览器暂存提供便利，独立 JSON 才是可带走的备份。异步文件读取使用独立世代和文档版本；后来的输入优先。WebGL 失败时地图和数值功能仍可用。

实际验证范围
9 项模型检查覆盖四分之一圆周、独立 Haversine 对照、近重合、对跖点、反经线、极点、投影局部尺度、最大 30 点回读和无效输入。地图及三维场景来自最终 HTML 的同一模型、Canvas 和原生 EGL 场景。没有使用浏览器截图；DOM/CSS、图像下载对话框、移动设备与本地双击冷启尚未实机验收。

资料
Natural Earth 许可：https://www.naturalearthdata.com/about/terms-of-use/
原始陆地：https://github.com/nvkelso/natural-earth-vector/blob/master/geojson/ne_110m_land.geojson
PROJ Mercator：https://proj.org/en/stable/operations/projections/merc.html
PROJ 等面积：https://proj.org/en/stable/operations/projections/cea.html
球面公式作者资料：https://www.movable-type.co.uk/scripts/latlong.html
GeoJSON RFC 7946：https://www.rfc-editor.org/rfc/rfc7946
Earcut：https://github.com/mapbox/earcut
Noto Sans CJK SC 字体子集及完整 SIL OFL 1.1 许可内嵌。
