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/xteMCP
Pangalan ng tool
calculate_cross_track_errorKahilingan
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
}
}{
"ok": false,
"error": {
"code": "invalid_request",
"message": "Invalid request input."
}
}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"
]
}