一条路没有变,地图改变了你对它的想象。从球面出发,比较路线、距离与投影的取舍。
输入十进制度;北纬、东经为正。顺序决定分段路线,选中号码可在地球上定位。
球面大圆是本模型中的最短弧。实际交通与椭球测地线需要另外的模型;这里不提供导航路线。
以用户指定半径 R 的球体计算,两站的单位方向向量为 a、b,角距 δ = atan2(|a×b|, a·b),距离 Rδ。沿最短大圆弧做球面插值;插点最大间距是地表距离,不是地图上量出的距离。初始航向由正北顺时针计,沿大圆前进时一般会变化。重合点或极点的北向基准可能使航向未定义。
精确对跖点的最短路线不唯一。距对跖小于 10⁻⁷ 弧度的段,方向数值敏感,本工具要求加一个中间站,再导出完整路径。此时最短距离仍可计算,距离总和不会伪装成已确定的路线。球体没有地形、椭率、交通网络、天气或航管条件;这不是导航软件。
设纬度 φ、相对中央经线的经差 λ,图上以球半径为单位:Mercator 为 x=λ,y=asinh(tanφ);Lambert 圆柱等面积为 x=λ,y=sinφ;等距圆柱为 x=λ,y=φ。画布保持横纵投影单位比例,不把世界图拉伸去填满一个固定框。
局部东西/南北尺度:Mercator 为 secφ / secφ,面积比 sec²φ;等面积为 secφ / cosφ,面积比 1;等距圆柱为 secφ / 1,面积比 secφ。图上小椭圆是共同参考小圆在微分尺度下的示意,不是区域面积计算器。Mercator 图幅裁剪至 ±85°,导出的坐标不会被裁剪。默认示例坐标是城市中心附近的便于阅读位置,不是机场或道路节点。
CSV 航点格式为 name,lat,lon;name 可省略。UTF-8,允许双引号保护逗号和换行;最多 30 站,文件上限 256 KiB。经纬度必须是有限十进制度。完整 JSON 保留参数、选中点和全部原始站点;地图 PNG 只用于阅读,不是可编辑备份。
GeoJSON 坐标顺序为经度、纬度。大圆路径会先插点,再在 ±180° 反经线分开,必要时使用 MultiLineString;穿过极点的线路也在极点分段,避免画出跨过整张地图的假横线。GeoJSON 本身连接相邻坐标的直线段,因此文件是球面弧线的加密近似;距离属性来自球面解析角距,不是这些直线的长度。坐标按地理经纬度供标准 GIS 显示,球半径只用于本实验计算,未宣称椭球测地线。
Natural Earth 的 1:110m 陆地数据属于公共领域。制作时将实际矢量轮廓内嵌,三维陆面三角细分仅为贴合球面,不增加原数据精度,也不代表政治边界或精确海岸。Mapbox Earcut 2.2.4 用于制作阶段的平面三角化,ISC 许可内嵌;用户不需要运行它。字体为 Noto Sans CJK SC 子集,SIL OFL 1.1,许可内嵌。
运行资源全部内嵌,数据留在页面内。已检查实际模型与同源地图/三维场景,未以此代替浏览器设备与 DOM 验收。