#CACHE{0} [(#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 fichiers COPYING.txt et LICENCE-BIODIV.md * \*******************************************************************************/ ]
[[(#SESSION{nom}|sinon{"Visiteur"})]] > Accueil > Recherche dans un polygone

# Recherche dans un polygone

[(#REM) Le 'perimetre' est un fichier temporaire geojson 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})][(#SET{confidentialite,#LISTE{rien}}) ][(#AUTORISER{rechercher,observation}|oui) [(#SET{confidentialite,#LISTE{non}})] ][(#AUTORISER{exporter,observation}|oui) [(#SET{confidentialite,#LISTE{non}})] ][(#AUTORISER{debusquer,observation}|oui) [(#SET{confidentialite,#LISTE{oui,non,inconnu}})] ]= #GET{minlat} } {lng <= #GET{maxlng} } {lng >= #GET{minlng} } >[(#REM)

#ID_OBSERVATION dans la bbox

][(#SET{obsl,[(#GET{obsl}|push{#ARRAY{id,#ID_OBSERVATION,lat,#LAT,lng,#LNG}})]})] [ (#SET{obsok,[(#GET{obsl}|lieu_polygonal{[(#ENV{perimetre})]})]})][ (#SET{class,#ENV{class,carte_large}}) ][(#REM) On force les coordonnées sur le lieu central par défaut ][ (#SET{lat,[(#ENV**{lat,[(#CONFIG{feuillet/lat})]})]})][ (#SET{lng,[(#ENV**{lng,[(#CONFIG{feuillet/lng})]})]})][ (#SET{zoom,[(#ENV**{zoom,[(#CONFIG{feuillet/zoom})]})]}) ]

#TOTAL_BOUCLE observations dans ce périmètre entre le [(#DATE_OBS|affdate{d.m.Y}|sinon{début de l'inventaire})] et le [(#DATE_OBS|affdate{d.m.Y})]. Aucune observation dans ce périmètre.

[(#SET{anneemois,#ARRAY})][(#SET{annee,#ARRAY})][(#SET{especesok,#ARRAY}) ][ (#SET{quanda,[x(#DATE_OBS|annee)]})][ (#SET{quandm,[x(#DATE_OBS|annee)][-(#DATE_OBS|mois)]})][ (#SET{icia,[(#GET{annee}|table_valeur{[(#GET{quanda})]}|sinon{0}|plus{1})]})][ (#SET{icim,[(#GET{anneemois}|table_valeur{[(#GET{quandm})]}|sinon{0}|plus{1})]})][ (#SET_MERGE{annee,#GET{annee},#ARRAY{#GET{quanda},#GET{icia}}})][ (#SET_MERGE{anneemois,#GET{anneemois},#ARRAY{#GET{quandm},#GET{icim}}})][ (#SET{especesok,#GET{especesok}|push{#ID_ESPECE}}) ]

## Observations par période

[(#INCLURE{fond=inc/serie_graphique}{data=#GET{anneemois},titre=Périmètre du polygone})]

## Liste des observations

[(#AUTORISER{exporter,observation})

Exports : CSV KML GeoJson GPX SINP

]
[(#INCLURE{fond=inc/obs_especes,ajax,env,espliste=#GET{especesok}})]