Nil METEO IA
Nil METEO IA · Actions GPT
OpenMeteo-Geocoding
Geocoding per obtenir latitud/longitud i timezone via Open-Meteo.
GET /v1/searchCerca de localitzacions (geocoding)
Schéma original API
{
"openapi": "3.1.0",
"info": {
"title": "OpenMeteo-Geocoding",
"version": "1.0.0",
"description": "Geocoding per obtenir latitud/longitud i timezone via Open-Meteo."
},
"servers": [
{
"url": "https://geocoding-api.open-meteo.com"
}
],
"paths": {
"/v1/search": {
"get": {
"operationId": "searchLocations",
"summary": "Cerca de localitzacions (geocoding)",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Text a cercar (p. ex. Avia, Berga, Barcelona)"
},
{
"name": "count",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10
}
},
{
"name": "language",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "ca"
}
},
{
"name": "countryCode",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "ISO-3166-1 alpha2 (p. ex. ES)"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"elevation": {
"type": "number"
},
"feature_code": {
"type": "string"
},
"country_code": {
"type": "string"
},
"admin1": {
"type": "string"
},
"admin2": {
"type": "string"
},
"admin3": {
"type": "string"
},
"admin4": {
"type": "string"
},
"timezone": {
"type": "string"
},
"population": {
"type": "integer"
},
"postcodes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "boolean"
},
"reason": {
"type": "string"
}
},
"additionalProperties": true
}
}
}
}
}
}
}
}
}OpenMeteo-Forecast
Prediccio meteorologica (current/hourly/daily) i comparacio de models via Open-Meteo.
GET /v1/forecastPrediccio meteorologica amb seleccio de models
Schéma original API
{
"openapi": "3.1.0",
"info": {
"title": "OpenMeteo-Forecast",
"version": "1.0.0",
"description": "Prediccio meteorologica (current/hourly/daily) i comparacio de models via Open-Meteo."
},
"servers": [
{
"url": "https://api.open-meteo.com"
}
],
"paths": {
"/v1/forecast": {
"get": {
"operationId": "getForecast",
"summary": "Prediccio meteorologica amb seleccio de models",
"parameters": [
{
"name": "latitude",
"in": "query",
"required": true,
"schema": {
"type": "number"
}
},
{
"name": "longitude",
"in": "query",
"required": true,
"schema": {
"type": "number"
}
},
{
"name": "timezone",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "auto"
},
"description": "auto o IANA (p. ex. Europe/Madrid)"
},
{
"name": "current",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Variables current separades per comes (CSV). Ex: temperature_2m,wind_speed_10m"
},
{
"name": "hourly",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Variables hourly separades per comes (CSV)."
},
{
"name": "daily",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Variables daily separades per comes (CSV)."
},
{
"name": "models",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Models separats per comes (CSV). Si no s'indica, auto."
},
{
"name": "forecast_days",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"maximum": 16,
"default": 7
}
},
{
"name": "temperature_unit",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"celsius",
"fahrenheit"
],
"default": "celsius"
}
},
{
"name": "wind_speed_unit",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"kmh",
"ms",
"mph",
"kn"
],
"default": "kmh"
}
},
{
"name": "precipitation_unit",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"mm",
"inch"
],
"default": "mm"
}
},
{
"name": "timeformat",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"iso8601",
"unixtime"
],
"default": "iso8601"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"generationtime_ms": {
"type": "number"
},
"utc_offset_seconds": {
"type": "integer"
},
"timezone": {
"type": "string"
},
"timezone_abbreviation": {
"type": "string"
},
"elevation": {
"type": "number"
},
"current_units": {
"type": "object",
"additionalProperties": true
},
"current": {
"type": "object",
"additionalProperties": true
},
"hourly_units": {
"type": "object",
"additionalProperties": true
},
"hourly": {
"type": "object",
"additionalProperties": true
},
"daily_units": {
"type": "object",
"additionalProperties": true
},
"daily": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "boolean"
},
"reason": {
"type": "string"
}
},
"additionalProperties": true
}
}
}
}
}
}
}
}
}ACA - Dades obertes en temps real
Acció per consultar directament les dades obertes en temps real de l'Agència Catalana de l'Aigua (ACA) sobre embassaments i aforaments.
GET /catalogObté el catàleg de sensorsRetorna el catàleg de sensors autoritzats. Es pot filtrar per tipus de component. Per a aquest GPT, els valors més útils són embassament i aforament.
GET /data/{provider}/{sensor}Obté dades d'un sensorRetorna observacions d'un sensor concret. Sense paràmetres addicionals, normalment retorna la darrera observació. Amb limit, from i to es poden recuperar més observacions o un interval temporal.
Schéma original API
{
"openapi": "3.1.0",
"info": {
"title": "ACA - Dades obertes en temps real",
"version": "1.0.0",
"description": "Acció per consultar directament les dades obertes en temps real de l'Agència Catalana de l'Aigua (ACA) sobre embassaments i aforaments.\n"
},
"servers": [
{
"url": "https://aplicacions.aca.gencat.cat/sdim2/apirest",
"description": "API pública de dades en temps real de l'ACA"
}
],
"paths": {
"/catalog": {
"get": {
"operationId": "getCatalog",
"summary": "Obté el catàleg de sensors",
"description": "Retorna el catàleg de sensors autoritzats. Es pot filtrar per tipus de component. Per a aquest GPT, els valors més útils són embassament i aforament.\n",
"parameters": [
{
"name": "componentType",
"in": "query",
"required": false,
"description": "Tipus de component.",
"schema": {
"type": "string",
"enum": [
"embassament",
"aforament",
"pluviometre",
"piezometre"
]
}
}
],
"responses": {
"200": {
"description": "Catàleg de sensors retornat correctament",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogResponse"
},
"example": [
{
"provider": "EMBASSAMENT-EST",
"permission": "READ",
"sensors": [
{
"sensor": "080581-002-ANA006",
"description": "Nivell absolut",
"dataType": "NUMBER",
"location": "41.255617318 1.651034658",
"type": "0020",
"unit": "msnm",
"timeZone": "CET",
"publicAccess": true,
"state": "online",
"component": "080581-002",
"componentType": "embassament",
"componentDesc": "Foix (Castellet i la Gornal)",
"componentPublicAccess": true,
"additionalInfo": {
"Temps mostreig (min)": "5",
"Rang mínim": "90",
"Rang màxim": "220"
}
}
]
}
]
}
}
}
}
}
},
"/data/{provider}/{sensor}": {
"get": {
"operationId": "getSensorData",
"summary": "Obté dades d'un sensor",
"description": "Retorna observacions d'un sensor concret. Sense paràmetres addicionals, normalment retorna la darrera observació. Amb limit, from i to es poden recuperar més observacions o un interval temporal.\n",
"parameters": [
{
"name": "provider",
"in": "path",
"required": true,
"description": "Provider del sensor, per exemple EMBASSAMENT-EST o AFORAMENT-EST.",
"schema": {
"type": "string"
}
},
{
"name": "sensor",
"in": "path",
"required": true,
"description": "Codi del sensor obtingut del catàleg.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Nombre màxim d'observacions a retornar.",
"schema": {
"type": "integer",
"minimum": 1
}
},
{
"name": "from",
"in": "query",
"required": false,
"description": "Instant inicial en format dd/mm/yyyyThh:mm:ss.",
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"required": false,
"description": "Instant final en format dd/mm/yyyyThh:mm:ss.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Observacions retornades correctament",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SensorDataResponse"
},
"example": {
"observations": [
{
"value": "403.61",
"timestamp": "08/07/2024T12:05:00",
"location": ""
}
]
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"CatalogResponse": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CatalogProvider"
}
},
"CatalogProvider": {
"type": "object",
"additionalProperties": true,
"properties": {
"provider": {
"type": "string",
"description": "Identificador del provider"
},
"permission": {
"type": "string",
"description": "Permís sobre els sensors"
},
"sensors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CatalogSensor"
}
}
},
"required": [
"provider",
"sensors"
]
},
"CatalogSensor": {
"type": "object",
"additionalProperties": true,
"properties": {
"sensor": {
"type": "string",
"description": "Codi del sensor o variable"
},
"description": {
"type": [
"string",
"null"
],
"description": "Descripció de la variable"
},
"dataType": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
],
"description": "Coordenades del sensor o estació"
},
"type": {
"type": [
"string",
"null"
],
"description": "Tipus intern de variable"
},
"unit": {
"type": [
"string",
"null"
],
"description": "Unitat de mesura"
},
"timeZone": {
"type": [
"string",
"null"
]
},
"publicAccess": {
"type": [
"boolean",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"component": {
"type": [
"string",
"null"
],
"description": "Codi de l'estació"
},
"componentType": {
"type": [
"string",
"null"
],
"description": "Tipus de component"
},
"componentDesc": {
"type": [
"string",
"null"
],
"description": "Nom o descripció de l'estació"
},
"componentPublicAccess": {
"type": [
"boolean",
"null"
]
},
"additionalInfo": {
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "string"
},
"description": "Informació addicional del sensor"
}
},
"required": [
"sensor"
]
},
"SensorDataResponse": {
"type": "object",
"additionalProperties": true,
"properties": {
"observations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Observation"
}
}
},
"required": [
"observations"
]
},
"Observation": {
"type": "object",
"additionalProperties": true,
"properties": {
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Valor observat"
},
"timestamp": {
"type": [
"string",
"null"
],
"description": "Instant de la mesura en format dd/mm/yyyyThh:mm:ss"
},
"location": {
"type": [
"string",
"null"
]
}
},
"required": [
"value"
]
}
}
}
}