Sea Route Navigation — 海上航线导航
v1.0.0海路导航:生成两個港口或坐标之间的最短海上路线,输出导航航点和交互式HTML地图。当用户提到海路、航运路线、海事导航、港口间距离、海运航线、航线规划、海上路线、港口距离、船运路线时使用。
运行时依赖
安装命令
点击复制技能文档
海路导航技能 生成两个全球位置之间的最短海路。返回导航航点(坐标)和交互式HTML地图可视化。
何时使用 用户请求两个位置之间的海上/航运/海事路线 用户需要港口到港口的距离或旅行时间估计 用户需要海事路线的导航航点 用户想要航运航线的可视化地图
工作原理 该技能使用由searoute库驱动的Python脚本(scripts/sea_route.py)。它计算海洋上最短的路径,避开陆地,并输出: 航点坐标(经度、纬度)以JSON格式打印到stdout 保存到用户指定路径(默认:./sea_route_map.html)的交互式HTML地图 该脚本使用uv进行依赖管理——无需手动pip install。
使用 步骤1 — 将用户输入解析为坐标 用户可以提供: 城市/港口名称(例如“天津”和“大阪”,“鹿特丹”和“新加坡”) 直接坐标(例如[117.75, 38.99]) 如果用户提供城市或港口名称,则必须在调用脚本之前将其转换为[经度,纬度]坐标。 使用知名港口坐标: 天津港 117.75 38.99 上海港 121.47 31.23 大阪港 135.25 34.65 深圳港 114.27 22.55 香港 114.17 22.28 新加坡 103.85 1.29 鹿特丹 4.50 51.90 汉堡 9.97 53.53 洛杉矶 -118.27 33.73 纽约 -74.04 40.67 迪拜 55.27 25.27 悉尼 151.21 -33.87 釜山 129.04 35.10 东京 139.77 35.45 高雄 120.29 22.61 对于未列出的港口,请查找合理的港口区域坐标。
步骤2 — 运行脚本 使用uv运行:uv run --script /path/to/skills/sea-route/scripts/sea_route.py \ --origin-lon --origin-lat \ --dest-lon --dest-lat \ --origin-name "Port A" --dest-name "Port B" \ --output ./sea_route_map.html 参数: 标志 必需 描述 --origin-lon 是 起点经度 --origin-lat 是 起点纬度 --dest-lon 是 目的地经度 --dest-lat 是 目的地纬度 --origin-name 否 起点显示名称(默认: "Origin") --dest-name 否 目的地显示名称(默认: "Destination") --output 否 输出HTML文件路径(默认: ./sea_route_map.html)
步骤3 — 向用户呈现结果 脚本以JSON对象的形式打印到stdout,其结构为: { "origin": {"name": "Tianjin", "lon": 117.75, "lat": 38.99}, "destination": {"name": "Osaka", "lon": 135.25, "lat": 34.65}, "distance_km": 1891, "duration_hours": 42.5, "waypoints": [ {"seq": 1, "lon": 118.1725, "lat": 38.7726}, ... ], "html_map": "./sea_route_map.html" } 向用户呈现: 摘要:起点 → 目的地,距离,估计时间 航点坐标表 告诉他们HTML地图文件路径并提供打开它
步骤4 — 打开地图(可选) 如果用户想要查看地图: 打开 ./sea_route_map.html # macOS xdg-open ./sea_route_map.html # Linux
示例交互 用户:帮我生成从天津到大阪的海运航线 代理:解析:天津港 → [117.75, 38.99],大阪港 → [135.25, 34.65] 运行:uv run --script ~/.agents/skills/sea-route/scripts/sea_route.py \ --origin-lon 117.75 --origin-lat 38.99 \ --dest-lon 135.25 --dest-lat 34.65 \ --origin-name "天津港" --dest-name "大阪港" \ --output ./tianjin_osaka_route.html 解析JSON输出,呈现航点和摘要 打开HTML地图
注意 searoute库生成适合可视化和距离估计的近似海事路线。它不适用于实际导航。 坐标使用[经度,纬度]顺序(GeoJSON约定)。 该脚本需要uv安装。它使用内联脚本依赖项——无需设置虚拟环境。 估计速度为~25节(典型货船巡航速度)。