TL
API & MCPDokumentasyon

Platform ng Agent at API ng Mariner GPS Tools

Kalkulahin ang cross track error (XTE)

Kalkulahin ang perpendikular na distansya ng isang posisyon mula sa isang great-circle route.

Mga interface

POST
REST endpoint/api/v1/xte
MCP
Pangalan ng toolcalculate_cross_track_error

Kahilingan

Ipadala ang kahilingan bilang JSON. Ang mga kliyente ng MCP ay pumasa sa parehong mga field bilang mga argumento ng tool.

cURLshell
curl -X POST https://marinergps.tools/api/v1/xte \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "start": {
    "lat": 50,
    "lng": -4
  },
  "end": {
    "lat": 50,
    "lng": -2
  },
  "position": {
    "lat": 50.2,
    "lng": -3
  }
}'
Humiling ng katawanjson
{
  "start": {
    "lat": 50,
    "lng": -4
  },
  "end": {
    "lat": 50,
    "lng": -2
  },
  "position": {
    "lat": 50.2,
    "lng": -3
  }
}

Tugon

Binabalot ng REST ang resulta ng pagkalkula sa karaniwang sobre ng tagumpay. Ibinabalik ng MCP ang parehong data ng pagkalkula bilang structured na output ng tool.

JSON
{
  "ok": true,
  "data": {
    "xte": {
      "km": 21.761189017395775,
      "nm": 11.75010633826597,
      "mi": 13.52177178092823,
      "m": 21761.189017395776,
      "ft": 71394.95500330106
    },
    "side": "port",
    "alongTrack": {
      "km": 71.47269030854304,
      "nm": 38.592179440929975,
      "mi": 44.4110570497097,
      "m": 71472.69030854304,
      "ft": 234490.3812224672
    },
    "remaining": {
      "km": 71.47269030856953,
      "nm": 38.59217944094428,
      "mi": 44.41105704972615,
      "m": 71472.69030856952,
      "ft": 234490.3812225541
    },
    "nearestPoint": {
      "lat": 50.00429719577797,
      "lng": -3.0000000000002274
    },
    "beforeStart": false,
    "beyondEnd": false
  }
}

Mga scheme

Ang mga kahulugan sa ibaba ay nagpapakita ng kumpletong JSON Schema na ginamit upang patunayan ang mga input at ilarawan ang mga output.

Input schema

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "start": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lat": {
          "type": "string",
          "description": "Latitude as signed decimal degrees (-33.8688), decimal degrees with a hemisphere letter (33.8688° S), degrees and decimal minutes (33° 52.13′ S) or DMS (51° 30′ 26.4″ N). S is negative. Do not combine a sign with a hemisphere letter."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as signed decimal degrees (-4.15), decimal degrees with a hemisphere letter (4.15° W), degrees and decimal minutes (4° 09.0′ W) or DMS (0° 07′ 39″ W). W is negative. Do not combine a sign with a hemisphere letter."
        }
      },
      "required": [
        "lat",
        "lng"
      ],
      "description": "Track start waypoint (A)."
    },
    "end": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lat": {
          "type": "string",
          "description": "Latitude as signed decimal degrees (-33.8688), decimal degrees with a hemisphere letter (33.8688° S), degrees and decimal minutes (33° 52.13′ S) or DMS (51° 30′ 26.4″ N). S is negative. Do not combine a sign with a hemisphere letter."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as signed decimal degrees (-4.15), decimal degrees with a hemisphere letter (4.15° W), degrees and decimal minutes (4° 09.0′ W) or DMS (0° 07′ 39″ W). W is negative. Do not combine a sign with a hemisphere letter."
        }
      },
      "required": [
        "lat",
        "lng"
      ],
      "description": "Track end waypoint (B)."
    },
    "position": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lat": {
          "type": "string",
          "description": "Latitude as signed decimal degrees (-33.8688), decimal degrees with a hemisphere letter (33.8688° S), degrees and decimal minutes (33° 52.13′ S) or DMS (51° 30′ 26.4″ N). S is negative. Do not combine a sign with a hemisphere letter."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as signed decimal degrees (-4.15), decimal degrees with a hemisphere letter (4.15° W), degrees and decimal minutes (4° 09.0′ W) or DMS (0° 07′ 39″ W). W is negative. Do not combine a sign with a hemisphere letter."
        }
      },
      "required": [
        "lat",
        "lng"
      ],
      "description": "Vessel position (P)."
    }
  },
  "required": [
    "start",
    "end",
    "position"
  ]
}

Output schema

{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "xte": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nm": {
          "type": "number"
        },
        "mi": {
          "type": "number"
        },
        "km": {
          "type": "number"
        },
        "m": {
          "type": "number"
        },
        "ft": {
          "type": "number"
        }
      },
      "required": [
        "nm",
        "mi",
        "km",
        "m",
        "ft"
      ],
      "description": "Cross track error magnitude — perpendicular distance from position to track."
    },
    "side": {
      "type": "string",
      "enum": [
        "port",
        "starboard",
        "on-track"
      ],
      "description": "Side of the track the position lies on, travelling start → end."
    },
    "alongTrack": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nm": {
          "type": "number"
        },
        "mi": {
          "type": "number"
        },
        "km": {
          "type": "number"
        },
        "m": {
          "type": "number"
        },
        "ft": {
          "type": "number"
        }
      },
      "required": [
        "nm",
        "mi",
        "km",
        "m",
        "ft"
      ],
      "description": "Distance from start along the track to the point abeam of the position. Negative when the position is abeam a point behind the start."
    },
    "remaining": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nm": {
          "type": "number"
        },
        "mi": {
          "type": "number"
        },
        "km": {
          "type": "number"
        },
        "m": {
          "type": "number"
        },
        "ft": {
          "type": "number"
        }
      },
      "required": [
        "nm",
        "mi",
        "km",
        "m",
        "ft"
      ],
      "description": "Distance remaining along the track from the abeam point to the end waypoint."
    },
    "nearestPoint": {
      "type": "object",
      "additionalProperties": false,
      "description": "Nearest point on the track (foot of the perpendicular), decimal degrees.",
      "properties": {
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        }
      },
      "required": [
        "lat",
        "lng"
      ]
    },
    "beforeStart": {
      "type": "boolean",
      "description": "True when the abeam point falls before the start waypoint."
    },
    "beyondEnd": {
      "type": "boolean",
      "description": "True when the abeam point falls beyond the end waypoint."
    }
  },
  "required": [
    "xte",
    "side",
    "alongTrack",
    "remaining",
    "nearestPoint",
    "beforeStart",
    "beyondEnd"
  ]
}

Mga resulta ng benchmark ng MCP

Sinukat para sa tool na ito nang may at walang nakakabit na MCP server ng Mariner GPS Tools.

96%mas kaunting token na ginenerate ng modelMedian para sa tool na ito sa 7 sa 9 model na may sapat na tamang baseline result para maikumpara.
11×mas mabilis sa mga benchmarkMedian para sa tool na ito sa 7 sa 9 model na may sapat na tamang baseline result para maikumpara.
100%tamang sagot gamit ang MCP, kumpara sa 78.5% nang walang tool135/135 na MCP observation para sa tool na ito ang nasa loob ng tolerance.

Sinukat noong Setyembre 2026 · 9 model · 5 navigation case · 3 pag-uulit · 270 observation · Production MCP

API at MCP dokumentasyon