pnx-si / geonature-atlas Goto Github PK
View Code? Open in Web Editor NEWApplication WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
License: GNU General Public License v3.0
Application WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
License: GNU General Public License v3.0
Important pour le référencement car sinon les moteurs de recherche vont avoir du mal à indexer les différentes pages
http://flask.pocoo.org/snippets/108/ Ou un module Flask comme https://github.com/inveniosoftware/flask-sitemap?files=1 ?
Si pas de titre :
© nom_auteur
Si pas d'auteur :
Titre
Ce bouton est top aussi et serait bien à ajouter sur la carte.
https://github.com/Leaflet/Leaflet.fullscreen
Proposé en lien CDN chez MapBox (comme pour MarkerCluster - #17)
Ici je vois qu'il le prend directement avec un lien vers un autre projet - https://github.com/makinacorpus/django-mapentity/tree/master/mapentity/static/mapentity
dans la vue public.geometry_columns le srid des geom est à zéro.
Pouvoir filtrer la liste des espèces d'une commune en cliquant sur l'icone d'un groupe, affichées en haut de la liste.
Lorsque l'on choisi d'afficher sous forme d'une fiche espèce, un genre par exemple, il faudrait voir la liste des taxons observés appartenant à ce genre (avec nombres d'obs pour chacune si possible). Idem pour la fiche d'une espèce possédant plusieurs sous espèces observées.
Infos calculées automatiquement pour chaque espèce :
Infos saisies sur chaque espèce (dans TaxHub) :
meta
et utilisateurs
geom
ou the_geom
et non
t_mailles_custom` car sinon la vue vm_observations_maille ne fonctionnera pas ?data/mailles.sql
à renommer data/observations_mailles.sql
Selon les structures, il n'est pas souhaité d'afficher les obs sous forme de point.
Cela se gérera notamment au niveau de la vue qui alimente l'atlas mais pourra avoir des répercussions sur l'interface, les filtres etc...
Pour les filtres par exemple, il faudra d'autant plus qu'ils soient génériques en se basant sur les données retournées par la vue (par exemple si la vue ne retourne que des données du règne Flore, alors ne pas afficher le filtre permettant de n'afficher que le règne Faune, idem pour les groupes...). Ou en se basant sur un paramètre listant les valeurs disponibles.
Quand on est sur une fiche ESPECE qui a des obs faites au niveau de ses SOUS-ESPECES (ou variétés...), les observations sont agglomérées ainsi que les photos.
Mais actuellement, il liste tous les medias dans la galerie photo, pas seulement ceux de type PHOTO.
Géré au niveau de la vue qui renvoie les observations ?
Impacte aussi l'application ?
Créer une première page listant des taxons avec un critère de filtre (une commune, un groupe, une classe, une famille...) passé en paramètre.
Trier par défaut par nombre d'observation.
Pouvoir trier sur les autres colonnes.
Page paginée.
Afficher :
Exemple :
https://inpn.mnhn.fr/collTerr/commune/05061/tab/especes
pour tester, choisir Parnassius apollo, zoomer sur le vallon du Fournel. Au fond du vallon, il y a 2 observations sur le même point sur la cote 2000 sous le lieu dit le "Queyrellet". Si on clique sur le cluster, les 2 obs s'éclatent en 2 points. Seul un des 2 points peut afficher la popup.
Le calcul de l'observation la plus ancienne côté client est un peu lourde. A voir si c'est pas plus performant de la calculer directement dans la vue.
Actuellement on se base sur vm_observations_maille
pour cela mais du coup on renvoie autant d'objets qu'il y a d'observations. Du coup les mailles peuvent être dupliqués de nombreuses fois et cela alourdit le JSON. On pourrait renvoyer uniquement le nombre de mailles observées en se basant sur une vm_taxons_mailles
.
Mais cela casserait le fonctionnement du slider pour filtrer les observations par année.
Lorsque l'on zoom on voit que l'appli charge le fond OSM en arrière plan. Il ne faut afficher qu'un seul fond pour accélérer le chargement des tuiles.
Pour faciliter la mise à jour de l'application, il est préférable de regrouper tous les fichiers de customisation pour pouvoir les rapatrier simplement dans la nouvelle installation :
Différents tests n'ont pas fonctionné :
Autre piste :
La vm_medias
renvoit soit une URL soit un chemin, selon que le média est local ou distant.
Selon la manière de saisir, TaxHub renvoie bien null
pour le champ vide, parfois non (si le curseur a été placé dans la champs lors de la saisie).
Cela pose des soucis dans l'atlas qui sait actuellement uniquement détecter les champs ayant null
comme valeur mais pas les champs vides. En effet ceux-ci ne sont pas égal à ''
mais à ' '
.
Du coup pour contourner une solution temporaire a été mise en place (fb47a37) :
Comme le champs chemin n'est jamais égal à "NULL", je vérifie simplement si le premier caractère que renvoie ce champs est égal à "s" (le chemin est actuellement toujours '/static/medias').
Si c'est le cas, je renvoie le champs chemin, sinon je renvoie le champs URL.
Mais cela n'est pas pérenne, le chemin pouvant varier dans d'autres contextes.
Ce problème de BDD qui renvoie des longs espaces même quand les champs sont renseignés est à creuser globalement.
Ne pas permettre d'avoir de fiches pour les espèces non observées sur le parc.
Générer une 404 ?
http://flask.pocoo.org/docs/0.11/patterns/errorpages/
Comme dans une fiche espèce, lorsque l'on est sur la liste des taxons d'un genre ou d'une famille par exemple, il faudrait pouvoir cliquer sur un des niveaux taxonomiques supérieurs pour avoir la liste des taxons observés pour ce niveau. Actuellement pour faire cela, il faut repasser par la fiche espèce.
Remplacer : Nombre d'observation sur le parc: n
par
n observation(s)
D'autre part il y a une incohérence entre le nbre d'obs en haut de la fiche et le résultat dans le slider (même si on affiche toutes les années). Test réalisé avec "Boloria graeca"
Après avoir diagnostiquer la source de l'incohérence, se poser la question : faut-il conserver l'information au 2 endroits ?
Ne trouvant pas directement comment installer TaxHub (pas trouvé de doc d'install), je me suis dis que j'utiliserai directement les tables de taxref que j'ai en base.
Cependant, dans le fichier data/atlas.sql, la requête est SELECT * FROM taxonomie.taxref;
D'où deux questions :
Piwik et/ou Google Analytics.
Voir PnEcrins/GeoSites#65
Pour mieux identifier les espèces dans les listes, éventuellement les cartes ainsi que les fiches espèces.
Sans avoir toucher le code, j'ai l'erreur suivante:
voir http://docs.postgresql.fr/9.2/runtime-config-connection.html
Voir commentaires de #56
Idem à tous les endroits où l'on récupère les geojson des mailles (accueil, fiche espèce...) ?
Ajouter le nombre d'observations, d’espèces et d'observateurs comme sur la liste d'un groupe sur un rang taxonomique
Accessible depuis les fiches espèces en cliquant sur le picto du groupe.
Depuis cette liste, pouvoir basculer sur un autre groupe en cliquant sur son icone en haut de la liste.
Je me demande si il faut la prendre directement chez MapBox comme actuellement https://github.com/PnEcrins/GeoNature-atlas/blob/master/templates/ficheEspece.html#L35-L37
Ou si il faut prendre directement le plugin chez Leaflet - https://github.com/Leaflet/Leaflet.markercluster
C'est peut-être plus sur de l'embarquer comme dans le projet du PnC - https://github.com/PnCevennes/projet_suivi/tree/master/web/js/lib
Ils embarquent le JS et le CSS - https://github.com/PnCevennes/projet_suivi/blob/master/web/suivi.html#L18-L34
Voir les développements de l'API dans le cadre du stage au CEN LR pour mettre en place un atlas basé sur les données présentes dans SiCen :
Précisions @mathieubossaert :
Pour faire court, nous sommes partis du postulat de départ que toutes les données d'observation stockées dans SiCen sont rattachées à un référentiel taxonomique, qui a une structure arborescente.
Nous disposons dans nos base de données des outils pour interroger et explorer ce type de structure de données (récursivité). Ainsi, en tout nœud du référentiel, nous pouvons faire la synthèse sur l'ensemble des fils du nœud, sans connaitre a priori la profondeur de l'arbre.
Et donc afficher une page de synthèse pour n'importe quel taxon :
- /ordre des lépidioptères : http://xxxxx/atlas/papillons/
- /famille des geometridae : http://xxxxx/atlas/papillons/185259/
- /espèce pyronia tithonus : http://xxxxx/atlas/papillons/608405/
Prévoir dès le début un maximum d'éléments en paramètres.
Quelques exemples :
Idéalement, l'application disposera d'un fichier de configuration avec une valeur par défaut pour tous les paramètres et ceux-ci pourront être surcouchés (override) par un fichier spécifique à l'installation.
Les paramètres non surcouchés utiliseront la valeur par défaut.
Ce fonctionnement simplifie grandement la mise à jour de l'appli et l'ajout de nouveaux paramètres.
Bonjour,
J'ai testé l'installation avec les données présentes dans le dossier data/ref en changeant le nom des fichiers :
mv /home/MONUSER/atlas/data/ref/communes.shp.sample /home/MONUSER/atlas/data/ref/mescommunes.shp
mv /home/MONUSER/atlas/data/ref/emprise_territoire.sample.shp /home/MONUSER/atlas/data/ref/emprise_territoire.shp
et, effectivement, ça ne fonctionne pas :
Unable to open datasource XXX with the following drivers.
Les fichiers ne sont pas complet.
Ça pourrait être top, pour tester l'installation, d'avoir un jeu test clé en main et prévoir le fichier de config sur ce jeu
Bonjour!
C'est pas grand chose, mais j'ai remarqué que les lignes de commandes concernant la récupération la dernière version (X.Y.Z), par rapport à la nomenclature de vos release, il manque un v :
wget https://github.com/PnEcrins/GeoNature-atlas/archive/vX.Y.Z.zip
unzip vX.Y.Z.zip
Voilou
Test de l'installation en cours
Bonne journée
Rendre optionnel la partie qui créé les tables FWD de GeoNature.
Pour pouvoir ne créer que le schéma atlas et l'adapter pour le faire pointer sur autre chose.
Mal écrit corrologie dans le code - https://github.com/PnEcrins/GeoNature-atlas/search?utf8=%E2%9C%93&q=corrologie
A voir dans la foulée si on ne l'appelle pas Distribution sur l'atlas pour utiliser un terme moins technique.
On utilise désormais le champs calculé nb_obs
dans atlas.vm_taxons
pour éviter de calculer cette info à la volée.
Cependant ce champs ne prend pas (à priori) en compte la récursivité, du coup si le taxon a des observations à un niveau inférieur, elles ne seront pas prises en compte dans le calcul global.
Par contre sur la fiche espèce, c'est bien la somme des obs qui est calculée et affichée ?
Désormais on ne cherche plus sur une liste de taxons de référence, mais sur la liste des taxons avec tous leurs synonymes :
f7edb7a
b127ef2
Tous les synonymes renvoient à la fiche détail du taxon de référence.
Mais du coup c'est un peu perturbant :
Une première piste serait d'inverser nom latin et nom français dans la liste pour réduire l'impression de doublons dans le liste de recherche.
Ensuite il faudrait aussi afficher les synonymes sur chaque fiche espèce comme ça les visiteurs comprendraient mieux qu'il n'y a qu'une fiche de référence pour tous les synonymes.
Bonjour,
Savez-vous s'il est possible d'utiliser GeoNature-atlas avec des vues non matérialisés (même si du coup, cela est moins intéressant)?
En effet, je travaille avec Postgresql 9.1... (désolé ^^)
Créer une table des classes d'altitude, comme ça il est simple pour chacun de personnaliser ou rajouter des classes.
La VM boucle sur cette bib pour chaque taxon.
exemple pour les données PNE : le rat noir, la taupe, la myrtille, ...etc ne sont ni patrimoniaux ni protégés
Les mailles en bordure du territoire ne devraient pas être découpées, une maille doit toujours rester complète.
Donc prendre toutes les mailles dans le territoire et intersectes par le territoire mais ne pas couper celles en bordure
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.