altitude
Get elevation data for any geographic coordinate by providing latitude and longitude values. This tool queries France's Géoplateforme altimetry database to return precise altitude measurements.
Instructions
Renvoie l'altitude pour une position donnée par sa longitude et sa latitude (source : Géoplateforme (altimétrie)).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lon | Yes | La longitude du point | |
| lat | Yes | La latitude du point |
Implementation Reference
- src/tools/AltitudeTool.ts:27-30 (handler)The main handler function for the 'altitude' tool. It logs the input coordinates and delegates the altitude retrieval to the getAltitudeByLocation helper function.async execute(input: AltitudeInput) { logger.info(`altitude(${input.lon},${input.lat})...`); return getAltitudeByLocation(input.lon, input.lat); }
- src/tools/AltitudeTool.ts:16-25 (schema)Zod-based input schema defining longitude (lon) and latitude (lat) as numbers with French descriptions.schema = { lon: { type: z.number(), description: "La longitude du point", }, lat: { type: z.number(), description: "La latitude du point", }, };
- src/tools/AltitudeTool.ts:12-14 (registration)Tool class definition extending MCPTool, setting the name to 'altitude' and providing a description. This likely serves as the registration point within the MCP framework.class AltitudeTool extends MCPTool<AltitudeInput> { name = "altitude"; description = `Renvoie l'altitude pour une position donnée par sa longitude et sa latitude (source : ${ALTITUDE_SOURCE}).`;
- src/gpf/altitude.js:15-38 (helper)Core helper function that queries the Géoplateforme API to retrieve altitude data for given coordinates, handling errors by returning null altitude.export async function getAltitudeByLocation(lon, lat) { logger.info(`getAltitudeByLocation(${lon},${lat})...`); const url = `https://data.geopf.fr/altimetrie/1.0/calcul/alti/rest/elevation.json?lon=${lon}&lat=${lat}&resource=ign_rge_alti_wld`; try { const json = await fetchJSON(url); const elevation = json.elevations[0] ; return { lon: lon, lat: lat, altitude: elevation.z, accuracy: elevation.acc, }; }catch(e){ return { lon: lon, lat: lat, altitude: null, accuracy: 'No data', }; } }