{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://vocab.groundx.ag/provider/v1/schemas/crop-analytics-response.json",
  "title": "CropAnalyticsResponse",
  "description": "Respuesta de un endpoint groundx-provider:CropAnalyticsDataset. Esquema permisivo: cada valor estadístico puede ser un número escalar o un objeto con value/unit (alineado con QUDT) y estadísticos derivados (min/max/mean/percentiles).",
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "description": "Información de la consulta y su procesamiento.",
      "properties": {
        "parcel":          { "type": "string", "description": "WKT de la parcela analizada (eco)." },
        "applicationDate": { "type": "string", "format": "date" },
        "computedAt":      { "type": "string", "format": "date-time" },
        "areaHectares":    { "type": "number", "minimum": 0 },
        "source":          { "type": "string", "description": "Fuente o modelo (ej. 'Sentinel-2 + groundx-v3.2')." },
        "crs":             { "type": "string", "description": "CRS de la geometría de entrada (default EPSG:4326)." }
      },
      "additionalProperties": true
    },
    "statistics": {
      "type": "object",
      "description": "Indicadores estadísticos. Las claves son nombres de indicador (preferiblemente conceptos del esquema groundx-provider:AnalyticsTypeScheme: senescence, chlorophyll, ndvi, biomass).",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "number",
            "description": "Escalar simple (sin unidad)."
          },
          {
            "type": "object",
            "description": "Estructura QUDT con valor, unidad y estadísticos derivados.",
            "properties": {
              "qudt:value":  { "type": "number" },
              "qudt:unit":   {
                "type": "object",
                "properties": {
                  "@id": {
                    "type": "string",
                    "format": "uri",
                    "description": "URI QUDT de la unidad. Ej: http://qudt.org/vocab/unit/M3-PER-M3, http://qudt.org/vocab/unit/KiloGM-PER-HA"
                  }
                },
                "required": ["@id"]
              },
              "min":        { "type": "number" },
              "max":        { "type": "number" },
              "mean":       { "type": "number" },
              "stddev":     { "type": "number" },
              "p10":        { "type": "number" },
              "p50":        { "type": "number" },
              "p90":        { "type": "number" },
              "confidence": { "type": "number", "minimum": 0, "maximum": 1 }
            },
            "additionalProperties": true
          }
        ]
      }
    }
  },
  "additionalProperties": true
}
