TL
API & MCPDokumentasyon

Platform ng Developer ng Mariner GPS Tools

Kalkulahin ang cross track error (XTE)

Kalkulahin ang cross track error mula sa ruta sa pagitan ng dalawang waypoint

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 output ng structured 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 decimal degrees or a coordinate string such as 51° 30′ 26.4″ N."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as decimal degrees or a coordinate string such as 0° 07′ 39″ W."
        }
      },
      "required": [
        "lat",
        "lng"
      ],
      "description": "Track start waypoint (A)."
    },
    "end": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lat": {
          "type": "string",
          "description": "Latitude as decimal degrees or a coordinate string such as 51° 30′ 26.4″ N."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as decimal degrees or a coordinate string such as 0° 07′ 39″ W."
        }
      },
      "required": [
        "lat",
        "lng"
      ],
      "description": "Track end waypoint (B)."
    },
    "position": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lat": {
          "type": "string",
          "description": "Latitude as decimal degrees or a coordinate string such as 51° 30′ 26.4″ N."
        },
        "lng": {
          "type": "string",
          "description": "Longitude as decimal degrees or a coordinate string such as 0° 07′ 39″ W."
        }
      },
      "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"
  ]
}
API at MCP dokumentasyon