GeoSpark

Verifiable geospatial tools: distances, topology, isochrones, Overture Maps, with sources.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
93%
Integridad del esquema
93%
Calidad de los nombres
87%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • LOWTool 'calculate_distance' description lacks action verben calculate_distance
  • LOWTool 'get_active_fires' description lacks action verben get_active_fires
  • LOWTool 'sun_position' description lacks action verben sun_position

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~9,510Tokens (definiciones de herramientas)
~4.5 KBTamaño de respuesta típico
Impacto significativo en la atención (7.43% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "geospark": {
      "url": "https://geospark.terrascout.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://geospark.terrascout.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (21)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢calculate_distance(place_a, place_b, point_a, point_b)

Exact geodesic distance between two places or geometries on the WGS84 ellipsoid. Use for any "how far" question instead of estimating. For NAMED places pass place_a and place_b; the server geocodes them, so never type coordinates for a place yourself. Use point_a/point_b only for coordinates the user gave or another tool returned. For lines and polygons the distance is between their nearest points. Returns metres and kilometres.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "place_a": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred)",
      "title": "Place A"
    },
    "place_b": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred)",
      "title": "Place B"
    },
    "point_a": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A GeoJSON geometry, e.g. {\"type\": \"Point\", \"coordinates\": [lon, lat]}; only for coordinates the user gave or a tool returned",
      "title": "Point A"
    },
    "point_b": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A GeoJSON geometry, e.g. {\"type\": \"Point\", \"coordinates\": [lon, lat]}; only for coordinates the user gave or a tool returned",
      "title": "Point B"
    }
  },
  "title": "calculate_distanceArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "distance_m": {
      "description": "Geodesic distance in metres (WGS84 ellipsoid)",
      "title": "Distance M",
      "type": "number"
    },
    "distance_km": {
      "title": "Distance Km",
      "type": "number"
    },
    "places": {
      "description": "Named places as geocoded on the server: query, display_name, coordinates [lon, lat]",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Places",
      "type": "array"
    }
  },
  "required": [
    "distance_m",
    "distance_km"
  ],
  "title": "DistanceResult"
}
🟢check_spatial_relationship(geometry_a, geometry_b, relationship)

Ground-truth topology: does geometry_a <relationship> geometry_b? Use instead of guessing containment, overlap or adjacency. Invalid geometries (for example self-intersecting polygons) are refused with the reason.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "geometry_a": {
      "additionalProperties": true,
      "description": "A GeoJSON geometry, e.g. {\"type\": \"Point\", \"coordinates\": [lon, lat]}",
      "title": "Geometry A",
      "type": "object"
    },
    "geometry_b": {
      "additionalProperties": true,
      "description": "A GeoJSON geometry, e.g. {\"type\": \"Point\", \"coordinates\": [lon, lat]}",
      "title": "Geometry B",
      "type": "object"
    },
    "relationship": {
      "enum": [
        "contains",
        "intersects",
        "within",
        "touches",
        "crosses",
        "overlaps",
        "disjoint"
      ],
      "title": "Relationship",
      "type": "string"
    }
  },
  "required": [
    "geometry_a",
    "geometry_b",
    "relationship"
  ],
  "title": "check_spatial_relationshipArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "relationship": {
      "title": "Relationship",
      "type": "string"
    },
    "holds": {
      "description": "Whether geometry_a <relationship> geometry_b is true",
      "title": "Holds",
      "type": "boolean"
    }
  },
  "required": [
    "relationship",
    "holds"
  ],
  "title": "RelationshipResult"
}
🟢spatial_operation(operation, geometry, radius_m)

Compute a buffer (shape-preserving, metres), geodesic area or length, centroid or convex hull. Returns the resulting geometry as GeoJSON with its measurements and units.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "operation": {
      "enum": [
        "buffer",
        "area",
        "length",
        "centroid",
        "convex_hull"
      ],
      "title": "Operation",
      "type": "string"
    },
    "geometry": {
      "additionalProperties": true,
      "description": "A GeoJSON geometry, e.g. {\"type\": \"Point\", \"coordinates\": [lon, lat]}",
      "title": "Geometry",
      "type": "object"
    },
    "radius_m": {
      "anyOf": [
        {
          "maximum": 100000,
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buffer radius in metres",
      "title": "Radius M"
    }
  },
  "required": [
    "operation",
    "geometry"
  ],
  "title": "spatial_operationArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢geocode(query, limit)

Find coordinates for an address or place name (OpenStreetMap Nominatim). Check `geospark.warnings` for ambiguous names (e.g. "Springfield") and ask the user which one they mean, or add a region.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Address or place name",
      "maxLength": 500,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "geocodeArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢reverse_geocode(latitude, longitude)

Find the address or place at a coordinate (OpenStreetMap Nominatim).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "reverse_geocodeArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢get_elevation(latitude, longitude)

Ground elevation in metres (Copernicus GLO-30, Open Elevation fallback), with its vertical datum and accuracy.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "get_elevationArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "latitude": {
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "title": "Longitude",
      "type": "number"
    },
    "elevation_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Elevation M"
    },
    "vertical_datum": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vertical Datum"
    },
    "quality": {
      "additionalProperties": true,
      "description": "e.g. vertical_accuracy_le90_m",
      "title": "Quality",
      "type": "object"
    },
    "attribution": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Attribution"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "elevation_m"
  ],
  "title": "ElevationResult"
}
🟢route(from_latitude, from_longitude, to_latitude, to_longitude)

Driving route between two points (OSRM over OpenStreetMap): line geometry, distance in metres and duration in seconds.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "from_latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "From Latitude",
      "type": "number"
    },
    "from_longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "From Longitude",
      "type": "number"
    },
    "to_latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "To Latitude",
      "type": "number"
    },
    "to_longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "To Longitude",
      "type": "number"
    }
  },
  "required": [
    "from_latitude",
    "from_longitude",
    "to_latitude",
    "to_longitude"
  ],
  "title": "routeArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢get_weather(latitude, longitude, forecast_days)

Current weather and a daily forecast for a point (Open-Meteo, no key needed).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "forecast_days": {
      "default": 3,
      "maximum": 16,
      "minimum": 1,
      "title": "Forecast Days",
      "type": "integer"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "get_weatherArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "channel": {
      "title": "Channel",
      "type": "string"
    },
    "features": {
      "description": "Records from the data source",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "total_results": {
      "default": 0,
      "title": "Total Results",
      "type": "integer"
    },
    "query": {
      "additionalProperties": true,
      "title": "Query",
      "type": "object"
    }
  },
  "required": [
    "channel",
    "features"
  ],
  "title": "DataResult"
}
🟢get_air_quality(latitude, longitude)

Latest PM2.5, NO2, O3 from the nearest monitoring stations (OpenAQ; the server needs an OPENAQ_API_KEY), with each station's data licence.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "get_air_qualityArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "channel": {
      "title": "Channel",
      "type": "string"
    },
    "features": {
      "description": "Records from the data source",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "total_results": {
      "default": 0,
      "title": "Total Results",
      "type": "integer"
    },
    "query": {
      "additionalProperties": true,
      "title": "Query",
      "type": "object"
    }
  },
  "required": [
    "channel",
    "features"
  ],
  "title": "DataResult"
}
🟢get_active_fires(latitude, longitude, days)

Satellite active-fire detections near a point (NASA FIRMS; the server needs a FIRMS_MAP_KEY).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "days": {
      "default": 1,
      "maximum": 2,
      "minimum": 1,
      "title": "Days",
      "type": "integer"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "get_active_firesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "channel": {
      "title": "Channel",
      "type": "string"
    },
    "features": {
      "description": "Records from the data source",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "total_results": {
      "default": 0,
      "title": "Total Results",
      "type": "integer"
    },
    "query": {
      "additionalProperties": true,
      "title": "Query",
      "type": "object"
    }
  },
  "required": [
    "channel",
    "features"
  ],
  "title": "DataResult"
}
🟢isochrone(latitude, longitude, minutes, mode)

Where can you get to from a point within N minutes on foot, by bike or by car? Returns one polygon per contour with its geodesic area (Valhalla over OpenStreetMap).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "minutes": {
      "default": [
        10
      ],
      "description": "Contour times, 1-60",
      "items": {
        "type": "integer"
      },
      "maxItems": 4,
      "minItems": 1,
      "title": "Minutes",
      "type": "array"
    },
    "mode": {
      "default": "walk",
      "enum": [
        "walk",
        "bike",
        "drive"
      ],
      "title": "Mode",
      "type": "string"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "isochroneArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢travel_time_matrix(origins, destinations, mode)

Network travel time (minutes) and distance (metres) from each origin to each destination. Note: points here are [latitude, longitude] pairs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "origins": {
      "description": "[[lat, lon], ...]",
      "items": {
        "maxItems": 2,
        "minItems": 2,
        "prefixItems": [
          {
            "type": "number"
          },
          {
            "type": "number"
          }
        ],
        "type": "array"
      },
      "maxItems": 5,
      "minItems": 1,
      "title": "Origins",
      "type": "array"
    },
    "destinations": {
      "description": "[[lat, lon], ...]",
      "items": {
        "maxItems": 2,
        "minItems": 2,
        "prefixItems": [
          {
            "type": "number"
          },
          {
            "type": "number"
          }
        ],
        "type": "array"
      },
      "maxItems": 5,
      "minItems": 1,
      "title": "Destinations",
      "type": "array"
    },
    "mode": {
      "default": "walk",
      "enum": [
        "walk",
        "bike",
        "drive"
      ],
      "title": "Mode",
      "type": "string"
    }
  },
  "required": [
    "origins",
    "destinations"
  ],
  "title": "travel_time_matrixArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢overture_features(theme, latitude, longitude, radius_m, category, ...)

Open global map data from Overture Maps, no API key: points of interest (with categories), building footprints (height, floors, geodesic footprint area), road and path segments (geodesic length), or `divisions`, the administrative areas containing the point (country, region, city, neighbourhood). Results are nearest first, with distances in metres. Can take 5-20 s on a cold cache.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "theme": {
      "enum": [
        "places",
        "buildings",
        "transportation",
        "divisions"
      ],
      "title": "Theme",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "radius_m": {
      "default": 300,
      "description": "Search radius in metres",
      "exclusiveMinimum": 0,
      "maximum": 2000,
      "title": "Radius M",
      "type": "number"
    },
    "category": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Places only, e.g. 'cafe'",
      "title": "Category"
    },
    "limit": {
      "anyOf": [
        {
          "maximum": 2000,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "required": [
    "theme",
    "latitude",
    "longitude"
  ],
  "title": "overture_featuresArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢transform_coordinates(source_crs, target_crs, coordinates, epoch)

Convert coordinates between CRSs as the official transformation does: GDA94 to GDA2020, MGA zones, British National Grid (OSTN15), NAD27 to NAD83 (NADCON), ITRF at an epoch, and any other EPSG pair. Uses national grids (downloaded once), refuses PROJ's ballpark approximations, and returns the operation and its stated accuracy. Use this instead of applying datum parameters yourself.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "source_crs": {
      "description": "CRS name or EPSG code, e.g. 'GDA94 / MGA zone 55' or EPSG:28355",
      "maxLength": 100,
      "title": "Source Crs",
      "type": "string"
    },
    "target_crs": {
      "description": "CRS name or EPSG code, e.g. 'GDA2020 / MGA zone 55' or EPSG:7855",
      "maxLength": 100,
      "title": "Target Crs",
      "type": "string"
    },
    "coordinates": {
      "description": "[x, y] or [x, y, z]: [lon, lat] or [easting, northing]",
      "items": {
        "items": {
          "type": "number"
        },
        "type": "array"
      },
      "maxItems": 1000,
      "minItems": 1,
      "title": "Coordinates",
      "type": "array"
    },
    "epoch": {
      "anyOf": [
        {
          "maximum": 2100,
          "minimum": 1900,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Decimal year, for ITRF/ATRF frames",
      "title": "Epoch"
    }
  },
  "required": [
    "source_crs",
    "target_crs",
    "coordinates"
  ],
  "title": "transform_coordinatesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "coordinates": {
      "description": "Transformed points, in the target CRS's x/y(/z) order",
      "items": {
        "items": {
          "type": "number"
        },
        "type": "array"
      },
      "title": "Coordinates",
      "type": "array"
    },
    "source_crs": {
      "title": "Source Crs",
      "type": "string"
    },
    "target_crs": {
      "title": "Target Crs",
      "type": "string"
    },
    "method": {
      "description": "The EPSG operation used",
      "title": "Method",
      "type": "string"
    },
    "accuracy_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "The operation's stated accuracy; null for an exact conversion",
      "title": "Accuracy M"
    },
    "grids": {
      "description": "Official grid files the operation used",
      "items": {
        "type": "string"
      },
      "title": "Grids",
      "type": "array"
    },
    "area_of_use": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Area Of Use"
    }
  },
  "required": [
    "coordinates",
    "source_crs",
    "target_crs",
    "method",
    "accuracy_m"
  ],
  "title": "TransformResult"
}
🟢convert_height(latitude, longitude, height_m, from_reference, to_reference)

Convert a height between the ellipsoid (GNSS, drones) and a national height datum with the official geoid model: AHD (AUSGeoid2020), ODN (OSGM15), NZVD2016 (NZGeoid2016), NAVD88 (GEOID18), or global EGM2008. Never estimate a geoid separation from memory: it is often tens of metres and varies by metres across a region.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "height_m": {
      "description": "The height to convert, in metres",
      "maximum": 10000,
      "minimum": -1000,
      "title": "Height M",
      "type": "number"
    },
    "from_reference": {
      "description": "'ellipsoidal', AHD, ODN, NZVD2016, NAVD88 or EGM2008",
      "title": "From Reference",
      "type": "string"
    },
    "to_reference": {
      "description": "'ellipsoidal', AHD, ODN, NZVD2016, NAVD88 or EGM2008",
      "title": "To Reference",
      "type": "string"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "height_m",
    "from_reference",
    "to_reference"
  ],
  "title": "convert_heightArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "height_m": {
      "title": "Height M",
      "type": "number"
    },
    "from_reference": {
      "title": "From Reference",
      "type": "string"
    },
    "to_reference": {
      "title": "To Reference",
      "type": "string"
    },
    "geoid_model": {
      "title": "Geoid Model",
      "type": "string"
    },
    "separation_m": {
      "description": "Ellipsoidal height minus the datum height at this point",
      "title": "Separation M",
      "type": "number"
    },
    "method": {
      "title": "Method",
      "type": "string"
    },
    "accuracy_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Accuracy M"
    },
    "grids": {
      "items": {
        "type": "string"
      },
      "title": "Grids",
      "type": "array"
    }
  },
  "required": [
    "height_m",
    "from_reference",
    "to_reference",
    "geoid_model",
    "separation_m",
    "method",
    "accuracy_m"
  ],
  "title": "HeightResult"
}
🟢sun_position(latitude, longitude, time, tz, object_height_m)

The Sun's apparent elevation and azimuth (from true north) at a place and time, and the shadow a vertical object casts on level ground (NOAA solar position, refraction included).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "time": {
      "description": "ISO 8601, with a UTC offset (2026-12-21T12:00:00+11:00) or local with tz",
      "maxLength": 40,
      "title": "Time",
      "type": "string"
    },
    "tz": {
      "anyOf": [
        {
          "maxLength": 60,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "IANA time zone for a local time, e.g. Australia/Melbourne",
      "title": "Tz"
    },
    "object_height_m": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "maximum": 10000,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Height of a vertical object, for its shadow",
      "title": "Object Height M"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "time"
  ],
  "title": "sun_positionArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "time": {
      "title": "Time",
      "type": "string"
    },
    "elevation_deg": {
      "description": "Apparent elevation above a flat horizon, refraction included",
      "title": "Elevation Deg",
      "type": "number"
    },
    "azimuth_deg": {
      "description": "Clockwise from true north",
      "title": "Azimuth Deg",
      "type": "number"
    },
    "declination_deg": {
      "title": "Declination Deg",
      "type": "number"
    },
    "equation_of_time_min": {
      "title": "Equation Of Time Min",
      "type": "number"
    },
    "above_horizon": {
      "title": "Above Horizon",
      "type": "boolean"
    },
    "method": {
      "title": "Method",
      "type": "string"
    },
    "shadow_length_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "On level ground, for object_height_m",
      "title": "Shadow Length M"
    },
    "shadow_direction_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Direction the shadow points, from true north",
      "title": "Shadow Direction Deg"
    }
  },
  "required": [
    "time",
    "elevation_deg",
    "azimuth_deg",
    "declination_deg",
    "equation_of_time_min",
    "above_horizon",
    "method"
  ],
  "title": "SunResult"
}
🟢sun_times(latitude, longitude, date, tz, terrain)

Sunrise, solar noon, sunset and day length on a date for a flat horizon; with terrain=True, also the hours of direct sun once hills are taken into account.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "date": {
      "description": "Local date, YYYY-MM-DD",
      "maxLength": 10,
      "title": "Date",
      "type": "string"
    },
    "tz": {
      "anyOf": [
        {
          "maxLength": 60,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "IANA time zone, e.g. Australia/Melbourne; default UTC",
      "title": "Tz"
    },
    "terrain": {
      "default": false,
      "description": "Also count hours of direct sun above the terrain horizon (reads the DEM; ~10-60 s)",
      "title": "Terrain",
      "type": "boolean"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "date"
  ],
  "title": "sun_timesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "date": {
      "title": "Date",
      "type": "string"
    },
    "time_zone": {
      "title": "Time Zone",
      "type": "string"
    },
    "sunrise": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sunrise"
    },
    "solar_noon": {
      "title": "Solar Noon",
      "type": "string"
    },
    "sunset": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sunset"
    },
    "day_length_h": {
      "title": "Day Length H",
      "type": "number"
    },
    "solar_noon_elevation_deg": {
      "title": "Solar Noon Elevation Deg",
      "type": "number"
    },
    "terrain_hours": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Hours of direct sun above the terrain horizon",
      "title": "Terrain Hours"
    },
    "first_direct_sun": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "First Direct Sun"
    },
    "last_direct_sun": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Last Direct Sun"
    },
    "method": {
      "title": "Method",
      "type": "string"
    }
  },
  "required": [
    "date",
    "time_zone",
    "sunrise",
    "solar_noon",
    "sunset",
    "day_length_h",
    "solar_noon_elevation_deg",
    "method"
  ],
  "title": "SunTimesResult"
}
🟢terrain_horizon(latitude, longitude, observer_height_m, max_distance_m, step_deg)

The skyline the terrain makes around a point: for each azimuth, the elevation angle of the horizon and how far away the blocking terrain is (Copernicus 30 m DEM, Earth curvature and refraction). Use for solar-panel shading, valley sunlight, or what hills hide. ~10-60 s.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "observer_height_m": {
      "default": 1.5,
      "description": "Eye or sensor height above ground",
      "maximum": 500,
      "minimum": 0,
      "title": "Observer Height M",
      "type": "number"
    },
    "max_distance_m": {
      "default": 20000,
      "maximum": 50000,
      "minimum": 500,
      "title": "Max Distance M",
      "type": "number"
    },
    "step_deg": {
      "default": 5,
      "description": "Azimuth spacing; must divide 360",
      "maximum": 10,
      "minimum": 0.5,
      "title": "Step Deg",
      "type": "number"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "terrain_horizonArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "latitude": {
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "title": "Longitude",
      "type": "number"
    },
    "ground_elevation_m": {
      "title": "Ground Elevation M",
      "type": "number"
    },
    "observer_height_m": {
      "title": "Observer Height M",
      "type": "number"
    },
    "max_distance_m": {
      "title": "Max Distance M",
      "type": "number"
    },
    "azimuths_deg": {
      "items": {
        "type": "number"
      },
      "title": "Azimuths Deg",
      "type": "array"
    },
    "horizon_elevation_deg": {
      "description": "Skyline elevation angle at each azimuth",
      "items": {
        "type": "number"
      },
      "title": "Horizon Elevation Deg",
      "type": "array"
    },
    "obstruction_distance_m": {
      "items": {
        "type": "number"
      },
      "title": "Obstruction Distance M",
      "type": "array"
    },
    "highest": {
      "additionalProperties": {
        "type": "number"
      },
      "title": "Highest",
      "type": "object"
    },
    "method": {
      "title": "Method",
      "type": "string"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "ground_elevation_m",
    "observer_height_m",
    "max_distance_m",
    "azimuths_deg",
    "horizon_elevation_deg",
    "obstruction_distance_m",
    "highest",
    "method"
  ],
  "title": "HorizonResult"
}
🟢line_of_sight(lat_a, lon_a, lat_b, lon_b, height_a_m, ...)

Whether A and B can see each other over the terrain (Copernicus 30 m DEM, curvature and refraction), the minimum clearance and where it occurs; with frequency_mhz, the first Fresnel zone clearance of a radio link (60% clear is the usual rule).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "lat_a": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Lat A",
      "type": "number"
    },
    "lon_a": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Lon A",
      "type": "number"
    },
    "lat_b": {
      "description": "Latitude in degrees (WGS84)",
      "maximum": 90,
      "minimum": -90,
      "title": "Lat B",
      "type": "number"
    },
    "lon_b": {
      "description": "Longitude in degrees (WGS84)",
      "maximum": 180,
      "minimum": -180,
      "title": "Lon B",
      "type": "number"
    },
    "height_a_m": {
      "default": 1.5,
      "description": "Height above ground at A (e.g. a mast)",
      "maximum": 1000,
      "minimum": 0,
      "title": "Height A M",
      "type": "number"
    },
    "height_b_m": {
      "default": 1.5,
      "description": "Height above ground at B",
      "maximum": 1000,
      "minimum": 0,
      "title": "Height B M",
      "type": "number"
    },
    "frequency_mhz": {
      "anyOf": [
        {
          "maximum": 300000,
          "minimum": 1,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "For a radio link: report first Fresnel zone clearance",
      "title": "Frequency Mhz"
    }
  },
  "required": [
    "lat_a",
    "lon_a",
    "lat_b",
    "lon_b"
  ],
  "title": "line_of_sightArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "default": "ok",
      "enum": [
        "ok",
        "partial",
        "cannot_answer"
      ],
      "title": "Status",
      "type": "string"
    },
    "units": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Unit of each numeric field",
      "title": "Units",
      "type": "object"
    },
    "warnings": {
      "description": "Caveats to tell the user",
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    },
    "provenance": {
      "description": "Source, licence, attribution, retrieval time and method",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Provenance",
      "type": "array"
    },
    "visible": {
      "title": "Visible",
      "type": "boolean"
    },
    "distance_m": {
      "title": "Distance M",
      "type": "number"
    },
    "bearing_deg": {
      "title": "Bearing Deg",
      "type": "number"
    },
    "min_clearance_m": {
      "description": "Smallest gap between the sight line and the terrain; negative = blocked",
      "title": "Min Clearance M",
      "type": "number"
    },
    "min_clearance_at": {
      "additionalProperties": {
        "type": "number"
      },
      "title": "Min Clearance At",
      "type": "object"
    },
    "fresnel": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fresnel"
    },
    "method": {
      "title": "Method",
      "type": "string"
    }
  },
  "required": [
    "visible",
    "distance_m",
    "bearing_deg",
    "min_clearance_m",
    "min_clearance_at",
    "method"
  ],
  "title": "LineOfSightResult"
}
🟢location_report(location, radius_m)

A dossier for a place: address, elevation, weather, and nearby amenities with exact distances, as a GeoJSON map layer listing every data source used. Takes ~10-30 s.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "location": {
      "description": "Place to analyse",
      "maxLength": 500,
      "minLength": 1,
      "title": "Location",
      "type": "string"
    },
    "radius_m": {
      "default": 1000,
      "exclusiveMinimum": 0,
      "maximum": 10000,
      "title": "Radius M",
      "type": "number"
    }
  },
  "required": [
    "location"
  ],
  "title": "location_reportArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}
🟢select_site(within, near, avoid, facility_type, radius_m)

Rank candidate sites in an area by geodesic distance to amenities you want nearby and away from ones to avoid (OpenStreetMap data). Takes ~10-30 s.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "within": {
      "description": "City or neighbourhood",
      "maxLength": 500,
      "minLength": 1,
      "title": "Within",
      "type": "string"
    },
    "near": {
      "default": [],
      "description": "Amenity types to be close to",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "title": "Near",
      "type": "array"
    },
    "avoid": {
      "default": [],
      "description": "Amenity types to stay away from",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "title": "Avoid",
      "type": "array"
    },
    "facility_type": {
      "default": "restaurant",
      "maxLength": 100,
      "title": "Facility Type",
      "type": "string"
    },
    "radius_m": {
      "default": 3000,
      "exclusiveMinimum": 0,
      "maximum": 10000,
      "title": "Radius M",
      "type": "number"
    }
  },
  "required": [
    "within"
  ],
  "title": "select_siteArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "type": {
      "const": "FeatureCollection",
      "default": "FeatureCollection",
      "title": "Type",
      "type": "string"
    },
    "features": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "array"
    },
    "bbox": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bbox"
    },
    "geospark": {
      "additionalProperties": true,
      "title": "Geospark",
      "type": "object"
    }
  },
  "required": [
    "features"
  ],
  "description": "An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings, provenance.",
  "title": "FeatureCollection"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada21 herramientas