GA
API & MCPDoiciméadúchán

Ardán Forbróra Mariner GPS Tools

Ríomh earráid trasriain

Ríomh earráid trasriain ó rian idir dhá phointe bealaigh

Comhéadain

POST
críochphointe REST/api/v1/xte
MCP
Ainm uirlisecalculate_cross_track_error

Iarratas

Seol an t-iarratas mar JSON. Pasann cliaint MCP na réimsí céanna le hargóintí uirlisí.

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
  }
}'
Comhlacht iarrataisjson
{
  "start": {
    "lat": 50,
    "lng": -4
  },
  "end": {
    "lat": 50,
    "lng": -2
  },
  "position": {
    "lat": 50.2,
    "lng": -3
  }
}

Freagra

Fillteann REST an toradh ríofa sa chlúdach caighdeánach rathúlachta. Tugann MCP na sonraí ríofa céanna ar ais agus aschur uirlisí struchtúrtha.

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
  }
}

Scéimeanna

Léiríonn na sainmhínithe thíos Scéimre JSON iomlán a úsáidtear chun ionchuir a bhailíochtú agus chun cur síos a dhéanamh ar aschuir.

Scéimre ionchuir

{
  "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"
  ]
}

Scéimre aschuir

{
  "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"
  ]
}
Doiciméid API & MCP