Vous n'êtes pas identifié(e).
Pages : 1
Super merci pour la réponse, c'est bien ça !
Bonjour,
Je cherche à créer une fonction qui me permettrait d'obtenir un recordset de json à partir d'une table insérée grâce à PostGIS.
J'arrive à obtenir le bon résultat si je fais une "simple" requête :
SELECT row_to_json(fc)
FROM (
SELECT
'Feature' AS "type",
ST_AsGeoJSON(geom,4326) :: json AS "geometry",
(
SELECT json_strip_nulls(row_to_json(t))
FROM (
SELECT '20-07-2021' AS day, ndvi,sf,vigueur
)t
) AS properties
FROM cartocep_tot84
) AS fc;
Résultat correct (exemple d'une ligne de résultat) :
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-0.628998380703444,
44.8235552388883
]
},
"properties": {
"day": "20-07-2021",
"ndvi": 0.58,
"sf": 0.28,
"vigueur": 0.48
}
}
Mais quand je veux insérer cette requête dans une procédure, je me retrouve avec plein de guillemets double qui s'insèrent à chaque élément :
Voici ma procédure :
CREATE OR REPLACE FUNCTION public.get_geojson(measurement_date text)
RETURNS SETOF record
LANGUAGE 'sql'
COST 100
VOLATILE
ROWS 1000
AS $BODY$
SELECT row_to_json(fc)
FROM (
SELECT
'Feature' AS "type",
ST_AsGeoJSON(geom,4326) :: json AS "geometry",
(
SELECT json_strip_nulls(row_to_json(t))
FROM (
SELECT measurement_date AS day, ndvi,sf,vigueur
)t
) AS properties
FROM cartocep_tot84
) AS fc
$BODY$;
ALTER FUNCTION public.get_geojson(text)
OWNER TO postgres;
Et le mauvais résultat (exemple d'une ligne de résultat) :
("{""type"":""Feature"",""geometry"":{""type"":""Point"",""coordinates"":[-0.628998380703444,44.8235552388883]},""properties"":{""day"":""20-07-2021"",""ndvi"":0.58,""sf"":0.28,""vigueur"":0.48}}")
Savez-vous d'où pourraient provenir ces doubles guillemets intempestifs ? Et comment je pourrais faire en sorte qu'ils n'apparaissent pas ?
Merci d'avance pour le temps que vous prendrez !
Pauline
Pages : 1