[(#REM)
/*******************************************************************************\
* BIODIV, plugin et squelette pour SPIP - https://www.spip.net/ *
* dédié à la gestion d'observations naturalistes *
* *
* Copyright (C) 2008-2024 Renaud LAURETTE *
* *
* BIODIV a été développé initialement pour le projet Biodiv.Balma de l'APCVEB *
* (Association de Protection du Cadre de Vie et de l'Environnement balmanais) *
* voir Biodiv.Balma : https://balma.biodiv.fr/ *
* voir APCVEB : https://apcveb.fr/ *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir les fichier COPYING.txt et LICENCE-BIODIV.md *
\*******************************************************************************/
][(#HTTP_HEADER{Content-type: text/csv[;charset=(#CHARSET)]})][(#HTTP_HEADER{Content-Disposition: attachment; filename=observations-#ENV{regne}-lieu.csv})]#CACHE{0}[
(#SET{confidentialite,#LISTE{rien}})
][(#AUTORISER{exporter,observation}|oui)[(#SET{confidentialite,#LISTE{non}})
]][(#AUTORISER{debusquer,observation}|oui)[(#SET{confidentialite,#LISTE{oui,non,inconnu}})
]][(#REM)
Export CSV pour l'Observatoire de la Biodiversité en Occitanie (OBOC)
Le 'perimetre' est un fichier geojson (ou lieu) contenant la description du lieu.
On charge les limites de la bounding box.
][
(#SET{bbox,[(#ENV{perimetre}|bounding_box)]})][
(#SET{maxlat,[(#GET{bbox}|table_valeur{maxlat})]})][
(#SET{minlat,[(#GET{bbox}|table_valeur{minlat})]})][
(#SET{maxlng,[(#GET{bbox}|table_valeur{maxlng})]})][
(#SET{minlng,[(#GET{bbox}|table_valeur{minlng})]})
][(#REM)
Avec la bounding box, on peut récupérer les observations
puis les filtrer selon le polygone du lieu.
][(#SET{obsl, #ARRAY})
]"permid";"nomcite";"cdnom";"group1";"group2";"jourdebut";"jourfin";"obsident";"obsnomorg";"statobs";"denbrmin";"denbrtyp";"objdenbr";"geom_wkt";"natobjgeo";"precisgeo";"jddmetaid";"orggestdat";"idorigine";"jddid";"jddcode";"statsource";"dspublique";"deeflou";"difnivprec";"cdcom";
[(#REM)
]= #ENV{de}}{date_obs <= #ENV{a}}
{id_espece=#ID_ESPECE}
{discret IN #GET{confidentialite}}
{lat <= #GET{maxlat} }
{lat >= #GET{minlat} }
{lng <= #GET{maxlng} }
{lng >= #GET{minlng} }
>[(#SET{obsl,[(#GET{obsl}|push{#ARRAY{id,#ID_OBSERVATION,lat,#LAT,lng,#LNG}})]})][(#REM)
][(#REM)
][(#SET{obsok,[(#GET{obsl}|lieu_polygonal{[(#ENV{perimetre})]})]})
]
"[(#URL_OBSERVATION|generer_uid)]";"[(#NOM|textebrut|replace{\"})]";#ID_TAXREF;"[(#GROUP1|textebrut|replace{\"})]";"[(#GROUP2|textebrut|replace{\"})]";"[(#DATE_OBS|affdate{'Y-m-d'})]";"[(#DATE_OBS|affdate{'Y-m-d'})]";"[(#MODELE{observation_auteur}{id_observation=#ID_OBSERVATION}|textebrut|replace{\"})]";"[(#NOM_SITE_SPIP|textebrut|replace{\"})]";"Pr";#QUANTITE;"#DENOMBREMENT";"IND";"SRID=4326;POINT(#LNG #LAT)";"In";10;"";"[(#CONFIG{proprietaire/nom_long}|textebrut|replace{\"})]";#ID_OBSERVATION;"[(#CONFIG{sinp/jddid}|textebrut|replace{\"})]";"[(#CONFIG{sinp/jddcode}|textebrut|replace{\"})]";"Te";"Pr";"NON";[(#DISCRET|=={oui}|?{1,5})];[(#INSEE)];