[terminé] Evolution du logiciel des cartes
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
[terminé] Evolution du logiciel des cartes
Je vous propose une réorganisation du logiciel des cartes de refuges.info
La raison de départ est une difficulté de maintenance des modules Leaflet qui m'a amené à reconsidérer Openlayers.
Le but est de conserver des fonctionnalités identiques mais c'est l'occasion d'améliorer et d'ajouter ce que vous voulez.
FONCTIONS NON REPORTEES DE LA VERSION LEAFLET :
- L'affichage en degrés/minutes/secondes des coordonnées. Pas sûr que quelqu’un utilise le sexagésimal et ça faisait une lourdeur de code que je n'ai pas repris (mais c'est faisable si nécessaire)
- Il n'y a plus de suivi du chargement des couches (en cours / chargé / ...), l'interface avec le retour XMLHttpRequest n'est pas accessible dans le core openlayers
FONCTIONS NOUVELLES:
- Affichage de 2 fonds de cartes par transparence.
La transparence est réglable par un curseur pour passer progressivement d'une carte à l'autre.
On obtient 2 fonds en cliquant avec Ctrl sur le deuxième.
Ce n'est pas une fonction liée à Openlayers, on peut très bien la faire sur leaflet, c'est dû au fait que tous les fonds de cartes sont maintenant livrés en projection Mercator (même IGN et SwissTopo) et qu'elles sont donc superposables.
Seules les cartes anglaises (ordnance survey) ne le sont pas mais on les récupère en Mercator par Bings (Microsoft)
- Dalles SwissTopo limitées aux échèles et coordonnées où elles sont pertinentes afin de réduire l'impact des quotas d'utilisation
- Bouton d'impression de la carte.
2 formats prédéfinis permettent de recadrer des impressions A4 en mode portrait ou paysage.
- Bouton d'export des icones, lignes et polygones affiches dans la fenêtre de la carte.
On n'exporte que ce qu'on voit (cadrage & zoom). Le nombre est limité à 500 : si le cadrage est trop grand, on n'aura pas tout !
FONCTIONS NOUVELLES (MODERATION):
- Edition des contours de massifs sous forme de polygones (et non plus de lignes).
Ce n'est pas non plus spécifique à Openlayers mais je me suis fait plaisir.
- Edition des massifs non connexes et des massifs à "trous". Idem
CHOIX DE OPENLAYERS VERSUS LEAFLET
Leaflet :
- Met en jeu trop de modules de trop d'auteurs différents, dont les évolutions sont rarement synchronisées dans le temps
- Trop difficile à générer : je suis allergique à node.js et NPM. Désolé ! (mon addiction à Windows y est certainement pour quelque chose)
- Pas de livraison d'un code généré à utiliser de suite.
Openlayers :
- la lib est plus grosse mais contient toutes les fonctions nécessaires
- 2 modules externes :
* le geocodeur : jonataswalker en a fait un qui me plait bien
* proj4j : pour la traduction des coordonnée suisses, en affichage ou saisie sur la page seulement.
ARCHITECTURE OPENLAYERS:
Je choisis le minimum de fichiers :
2 includes .js & .css pour openlayers (les libs compressées de la distrib officielle de version)
2 includes .js & .css pour le géocodeur (les libs compressées de la distrib officielle de version)
proj4.js quand il faut
Mon code spécifique est entièrement contenu dans 2 fichiers myol.js et .css
C'est du javascript très simple (ECMA es6), compatible I.E., qui ne contient que des fonctions (pas de classes, jquery, ...)
Toutes les fonctions sont dans le même fichier myol.js, bien séparées et peuvent être utilisées séparément moyennant quelques dépendances documentées.
La doc est intégrée dans le code (pas de générateur ni de page donc fournie à part ça)
Toutes les icônes (les boutons) spécifiques sont codées dans le .css en images url svg
Pas de générateur, minificateur, ...
Attention : ne pas modifier ces 2 fichiers dont les sources ne sont pas dans WRI. Demander au développeur.
ARCHITECTURE WRI:
- Création d'une page /edit qui isole les fonctions d'éditions précédemment dans /nav, la factorisation n'apportant rien et complexifiant le code de /nav
MAQUETTE :
Vous pouvez essayer une maquette sur http://dom.refuges.info
Il s'agit d'une proposition, tout est discutable, modifiable, ...
Je n'ai pas eu le temps de mener des tests approfondis mais je vous encourage vivement à faire le max de tests (il s'agit d'une base de test) et à me remonter le max de problèmes.
La raison de départ est une difficulté de maintenance des modules Leaflet qui m'a amené à reconsidérer Openlayers.
Le but est de conserver des fonctionnalités identiques mais c'est l'occasion d'améliorer et d'ajouter ce que vous voulez.
FONCTIONS NON REPORTEES DE LA VERSION LEAFLET :
- L'affichage en degrés/minutes/secondes des coordonnées. Pas sûr que quelqu’un utilise le sexagésimal et ça faisait une lourdeur de code que je n'ai pas repris (mais c'est faisable si nécessaire)
- Il n'y a plus de suivi du chargement des couches (en cours / chargé / ...), l'interface avec le retour XMLHttpRequest n'est pas accessible dans le core openlayers
FONCTIONS NOUVELLES:
- Affichage de 2 fonds de cartes par transparence.
La transparence est réglable par un curseur pour passer progressivement d'une carte à l'autre.
On obtient 2 fonds en cliquant avec Ctrl sur le deuxième.
Ce n'est pas une fonction liée à Openlayers, on peut très bien la faire sur leaflet, c'est dû au fait que tous les fonds de cartes sont maintenant livrés en projection Mercator (même IGN et SwissTopo) et qu'elles sont donc superposables.
Seules les cartes anglaises (ordnance survey) ne le sont pas mais on les récupère en Mercator par Bings (Microsoft)
- Dalles SwissTopo limitées aux échèles et coordonnées où elles sont pertinentes afin de réduire l'impact des quotas d'utilisation
- Bouton d'impression de la carte.
2 formats prédéfinis permettent de recadrer des impressions A4 en mode portrait ou paysage.
- Bouton d'export des icones, lignes et polygones affiches dans la fenêtre de la carte.
On n'exporte que ce qu'on voit (cadrage & zoom). Le nombre est limité à 500 : si le cadrage est trop grand, on n'aura pas tout !
FONCTIONS NOUVELLES (MODERATION):
- Edition des contours de massifs sous forme de polygones (et non plus de lignes).
Ce n'est pas non plus spécifique à Openlayers mais je me suis fait plaisir.
- Edition des massifs non connexes et des massifs à "trous". Idem
CHOIX DE OPENLAYERS VERSUS LEAFLET
Leaflet :
- Met en jeu trop de modules de trop d'auteurs différents, dont les évolutions sont rarement synchronisées dans le temps
- Trop difficile à générer : je suis allergique à node.js et NPM. Désolé ! (mon addiction à Windows y est certainement pour quelque chose)
- Pas de livraison d'un code généré à utiliser de suite.
Openlayers :
- la lib est plus grosse mais contient toutes les fonctions nécessaires
- 2 modules externes :
* le geocodeur : jonataswalker en a fait un qui me plait bien
* proj4j : pour la traduction des coordonnée suisses, en affichage ou saisie sur la page seulement.
ARCHITECTURE OPENLAYERS:
Je choisis le minimum de fichiers :
2 includes .js & .css pour openlayers (les libs compressées de la distrib officielle de version)
2 includes .js & .css pour le géocodeur (les libs compressées de la distrib officielle de version)
proj4.js quand il faut
Mon code spécifique est entièrement contenu dans 2 fichiers myol.js et .css
C'est du javascript très simple (ECMA es6), compatible I.E., qui ne contient que des fonctions (pas de classes, jquery, ...)
Toutes les fonctions sont dans le même fichier myol.js, bien séparées et peuvent être utilisées séparément moyennant quelques dépendances documentées.
La doc est intégrée dans le code (pas de générateur ni de page donc fournie à part ça)
Toutes les icônes (les boutons) spécifiques sont codées dans le .css en images url svg
Pas de générateur, minificateur, ...
Attention : ne pas modifier ces 2 fichiers dont les sources ne sont pas dans WRI. Demander au développeur.
ARCHITECTURE WRI:
- Création d'une page /edit qui isole les fonctions d'éditions précédemment dans /nav, la factorisation n'apportant rien et complexifiant le code de /nav
MAQUETTE :
Vous pouvez essayer une maquette sur http://dom.refuges.info
Il s'agit d'une proposition, tout est discutable, modifiable, ...
Je n'ai pas eu le temps de mener des tests approfondis mais je vous encourage vivement à faire le max de tests (il s'agit d'une base de test) et à me remonter le max de problèmes.
Dominique http://chemineur.fr
-
- Messages : 4232
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
Re: Evolution du logiciel des cartes
Premier essai à partir de http://dom.refuges.infoDominique a écrit : ↑13 déc. 2019, 11:36 MAQUETTE :
Vous pouvez essayer une maquette sur http://dom.refuges.info
Il s'agit d'une proposition, tout est discutable, modifiable, ...
Je n'ai pas eu le temps de mener des tests approfondis mais je vous encourage vivement à faire le max de tests (il s'agit d'une base de test) et à me remonter le max de problèmes.
Je choisis dans les zones couvertes "Pyrénées" : la carte de France s'affiche avec...rien !
Je recule et choisis "Andorre" sur la page d'Accueil, la carte de France s'affiche...puis celle d'Andorre avec un retard avec rien ; je clique alors sur le choix de "autres sites" (chemineur et PRC) : les icones apparaissent, mais si je supprime les choix "autres sites", le contour reste OK, mais c'est vide, à part un "?" tout en haut... Alors que l'option "Tout" est toujours choisie.
Pour l'instant, c'est déroutant, voire zarbi.
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
Merci Claude
En effet, j'ai peut-être publié trop tôt.
Merci pour tes remarques, ça va m'aider à finir la mise au point.
En effet, j'ai peut-être publié trop tôt.
Merci pour tes remarques, ça va m'aider à finir la mise au point.
Dominique http://chemineur.fr
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
RéparéClaude Mauguier a écrit : ↑13 déc. 2019, 14:06Je choisis dans les zones couvertes "Pyrénées" : la carte de France s'affiche avec...rien !
RéparéClaude Mauguier a écrit : ↑13 déc. 2019, 14:06Je recule et choisis "Andorre" sur la page d'Accueil, la carte de France s'affiche...puis celle d'Andorre avec un retard
C'est normal : nous sommes sur la base de test qui a été initialisée alors que les Pyrénées n'étaient pas remplis.Claude Mauguier a écrit : ↑13 déc. 2019, 14:06le contour reste OK, mais c'est vide, à part un "?" tout en haut... Alors que l'option "Tout" est toujours choisie
Essaye un massif que nous avons rempli plus tôt.
A noter que le menu du bandeau "Cartes" (choix de OSM, IGN, ...) n'est pas encore fonctionnel.
Dominique http://chemineur.fr
-
- Messages : 4232
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
Re: Evolution du logiciel des cartes
Bon, cette fois j'ai choisi le massif "Ariégeois"...ça marche
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Re: Evolution du logiciel des cartes
Dans l'ensemble ça marche très bien, bravo pour ce travail !
Je ne relève que des petits soucis :
1) quand 2 points (fontaine et cabane par exemple) sont trop proches, on arrive pas à cliquer facilement celui qu'on veut :
https://dom.refuges.info/nav/0/MRI?map= ... 4/45.71874
2) Les détails des points OSM sont plus pauvres qu'avant : (alti, description, téléphone, email)
Elle était pas bien l'icône de camping, tu lui préfères la nouvelle entrée de grotte ?
3) Quand on clic sur un "service" genre Hôtel, il ne se passe rien si on est pas assez zoomé. Pas de points, pas d'alertes.
4) l'icone des Hôtels ne se différencie pas de nos refuges gardés, quand on active les deux ça fait confusion
5) refuge, abri et cabanes en provenance d'osm, leur qualité vaut-elle d'en proposer la liste ici ? Risque de confusion d'interface entre nos points et les leurs ? Icônes à différencier ?
Pour les points d'eau, y'a moins d'erreur possible, notre base est plus pauvre qu'OSM (en nombre), je pense que c'est une bonne idée de les proposer (alti ? type=source naturelle/fontaine/ ?)
6) la flèche du bas qui download que ce qu'on voit, comme je l'indiquais par ailleurs, me semble perturbante, certains ne comprendrons pas pourquoi il en manque il me semble.
WKT ? ça a un usage dans une interface ?
7) quand on est en mode "choix d'un massif" que l'on se promène sur la carte pour finalement allez ailleurs, le "permalink" n'est pas pris en compte, la vue revient centrée sur le massif. (Bon, c'était pareil avant je remarque !)
https://dom.refuges.info/nav/54/massif/ ... 1/45.68471
8 ) Le menu de gauche devient de plus en plus grand, c'est pas évident de comprendre qu'on peut scroller vers le bas pour voir plus d'options
9) manque le mode "carte en plein écran" qui est plus poussé et plus grand qu'un F11 qui veut dire page en plein écran
10) "Cabines téléphoniques" sérieusement ?
Je ne relève que des petits soucis :
1) quand 2 points (fontaine et cabane par exemple) sont trop proches, on arrive pas à cliquer facilement celui qu'on veut :
https://dom.refuges.info/nav/0/MRI?map= ... 4/45.71874
2) Les détails des points OSM sont plus pauvres qu'avant : (alti, description, téléphone, email)
Elle était pas bien l'icône de camping, tu lui préfères la nouvelle entrée de grotte ?
3) Quand on clic sur un "service" genre Hôtel, il ne se passe rien si on est pas assez zoomé. Pas de points, pas d'alertes.
4) l'icone des Hôtels ne se différencie pas de nos refuges gardés, quand on active les deux ça fait confusion
5) refuge, abri et cabanes en provenance d'osm, leur qualité vaut-elle d'en proposer la liste ici ? Risque de confusion d'interface entre nos points et les leurs ? Icônes à différencier ?
Pour les points d'eau, y'a moins d'erreur possible, notre base est plus pauvre qu'OSM (en nombre), je pense que c'est une bonne idée de les proposer (alti ? type=source naturelle/fontaine/ ?)
6) la flèche du bas qui download que ce qu'on voit, comme je l'indiquais par ailleurs, me semble perturbante, certains ne comprendrons pas pourquoi il en manque il me semble.
WKT ? ça a un usage dans une interface ?
7) quand on est en mode "choix d'un massif" que l'on se promène sur la carte pour finalement allez ailleurs, le "permalink" n'est pas pris en compte, la vue revient centrée sur le massif. (Bon, c'était pareil avant je remarque !)
https://dom.refuges.info/nav/54/massif/ ... 1/45.68471
8 ) Le menu de gauche devient de plus en plus grand, c'est pas évident de comprendre qu'on peut scroller vers le bas pour voir plus d'options
9) manque le mode "carte en plein écran" qui est plus poussé et plus grand qu'un F11 qui veut dire page en plein écran
10) "Cabines téléphoniques" sérieusement ?
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
-
- Messages : 4232
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
Re: Evolution du logiciel des cartes
Juste en passant : vérifiez que le nouveau format "cartes" ne vous vire pas la connexion (sur le format "test"), à la suite de quoi on vous répond "mot de passe incorrect" et c'est foutu...
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
Merci pour toutes ces remarques
Il y avait une fonction pour ça avant, je vais voir ce que j'en fait.
Mon idée est de donner sur les étiquettes et en extraction le minimum vital, identique pour tous les types de points et sources d'info. Soit :
- nom
- sym : le nom d'un symbole Garmin
- type : c'est en fait le nom de l'icône, permet de préciser un peu le symbole (plusieurs types peuvent afficher le même symbole
- link : l'url du site
Pour les autres :
- ele : ça se discute : je ne vois pas l'utilité d'afficher l'altitude sur une carte ou un GPS qui donnent déjà cette info. je ne vois pas à quoi ça sert : je me demande à quelle altitude je suis, pas à quelle altitude se trouve telle cabane.
- src : la source d'où provient cette info (quoi qu'on a l'info dans link)
- On pourrait discuter d'un champ desc et surtout son contenu (n° tel, ...)
Problème : Openlayers ne restituent pas de base src & desc. Il faudrait charcuter.
J'avais une tonne de code imbitable et inmaintenable pour afficher le nombre d' * d'un hôtel (avec l'accent sur le ô !) et un beau picto de lit pour le nob de places (mais il y ale nombre l'été et le nombre l'hiver !) quand je me suis dit qu'on délirait sur une étiquette de carte ou une extraction.
A discuter de façon générale (API simple / complète).
Ce n'est pas la même chose que l'extraction (complète) de "tous les points du massif" qui, lui à sa place dans la fiche avec la remarque qui va bien.
Par contre, on n'est pas obligé d'afficher la flèche sur la carte nav qui pointe sur un massif ou un zone. Seulement sur la carte nav "libre" : là, pas d'ambiguïté.
Je suis ouvert à la discussion mais ce n'est pas qu'un simple fait de programmation, c'est une fonction en elle même.
Dans ma petite tête, il suffisait de zoomer
Il y avait une fonction pour ça avant, je vais voir ce que j'en fait.
C'est voulu.
Mon idée est de donner sur les étiquettes et en extraction le minimum vital, identique pour tous les types de points et sources d'info. Soit :
- nom
- sym : le nom d'un symbole Garmin
- type : c'est en fait le nom de l'icône, permet de préciser un peu le symbole (plusieurs types peuvent afficher le même symbole
- link : l'url du site
Pour les autres :
- ele : ça se discute : je ne vois pas l'utilité d'afficher l'altitude sur une carte ou un GPS qui donnent déjà cette info. je ne vois pas à quoi ça sert : je me demande à quelle altitude je suis, pas à quelle altitude se trouve telle cabane.
- src : la source d'où provient cette info (quoi qu'on a l'info dans link)
- On pourrait discuter d'un champ desc et surtout son contenu (n° tel, ...)
Problème : Openlayers ne restituent pas de base src & desc. Il faudrait charcuter.
J'avais une tonne de code imbitable et inmaintenable pour afficher le nombre d' * d'un hôtel (avec l'accent sur le ô !) et un beau picto de lit pour le nob de places (mais il y ale nombre l'été et le nombre l'hiver !) quand je me suis dit qu'on délirait sur une étiquette de carte ou une extraction.
A discuter de façon générale (API simple / complète).
Fait (sauf gestion des erreurs httpRequest mais OL n'y donne pas facilement accés.
Fait
c'était facile au niveau code, alors j'ai laissé passer => Zou
C'est un choix personnel. Je pense qu'extraire "ce qu'on voit" à son utilité (avec le commentaire qui va bien en survolant le symbole). On peut vouloir extraire une zone qui n'a rien à voir avec un massif (autour d'un lac, ...). Ce bouton doit être sur la carte.
Ce n'est pas la même chose que l'extraction (complète) de "tous les points du massif" qui, lui à sa place dans la fiche avec la remarque qui va bien.
Par contre, on n'est pas obligé d'afficher la flèche sur la carte nav qui pointe sur un massif ou un zone. Seulement sur la carte nav "libre" : là, pas d'ambiguïté.
Je suis ouvert à la discussion mais ce n'est pas qu'un simple fait de programmation, c'est une fonction en elle même.
C'était facile au niveau code, alors j'ai laissé passer => Zou
Fait
Bon, ça a maigri.
Bha ! il y a un carré, en haut à gauche de la carte, juste à droite du + du zoom.
C'était facile au niveau code, alors j'ai laissé passer => Zou
Dominique http://chemineur.fr
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
Malheureusement, ça n'a rien à voir. (si c'était le cas, je saurais comment résoudre le problème des déconnexions)Claude Mauguier a écrit : ↑16 déc. 2019, 22:08 Juste en passant : vérifiez que le nouveau format "cartes" ne vous vire pas la connexion (sur le format "test"), à la suite de quoi on vous répond "mot de passe incorrect" et c'est foutu...
Du moins, j'espère car je ne sais toujours pas d'où vient ce problème
Dominique http://chemineur.fr
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
Bonsoir
En ce qui me concerne, j'ai terminé les tests et les derniers développement que je voulais faire : https://dom.refuges.info
J'ai aussi pris en compte pas mal de remarques de Sly.
J'attend vos avis, remarques et bugs éventuels pour mettre (ou pas) en service.
Quelqu'un (modérateur) a t'il essayé le nouvel éditeur de massifs ? (il est très différent du précédent !)
Il reste un dernier point à discuter : que fait-on sur les points proches ?
https://dom.refuges.info/nav/0/MRI?map= ... 4/45.71874
1/ On laisse comme ça: il suffit de zoomer pour les séparer
2/ Des clusters : https://openlayers.org/en/latest/examples/cluster.html
mais ce n'est pas mieux qu'un tas d'icônes : il faut zoomer pour les séparer
3/ "Écarter" les icônes lorsqu'on les survole avec la souris : mais les icônes ne sont plus à la bonne place !
4/ Avez-vous une idée géniale ?
Je n'ai pas un problème de codage mais de spécification : qu'est-ce qu'on veut voir ?
En ce qui me concerne, j'ai terminé les tests et les derniers développement que je voulais faire : https://dom.refuges.info
J'ai aussi pris en compte pas mal de remarques de Sly.
J'attend vos avis, remarques et bugs éventuels pour mettre (ou pas) en service.
Quelqu'un (modérateur) a t'il essayé le nouvel éditeur de massifs ? (il est très différent du précédent !)
Il reste un dernier point à discuter : que fait-on sur les points proches ?
https://dom.refuges.info/nav/0/MRI?map= ... 4/45.71874
1/ On laisse comme ça: il suffit de zoomer pour les séparer
2/ Des clusters : https://openlayers.org/en/latest/examples/cluster.html
mais ce n'est pas mieux qu'un tas d'icônes : il faut zoomer pour les séparer
3/ "Écarter" les icônes lorsqu'on les survole avec la souris : mais les icônes ne sont plus à la bonne place !
4/ Avez-vous une idée géniale ?
Je n'ai pas un problème de codage mais de spécification : qu'est-ce qu'on veut voir ?
Dominique http://chemineur.fr
-
- Messages : 4232
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
Re: Evolution du logiciel des cartes
Et si tu essayais la superposition...? Si, sur un même point, correspondent deux icônes raisonnablement proches, n'y aurait-il pas moyen de les faire apparaître simultanément l'une se superposant à l'autre mais de taille différente : disons que la "recouvrante" aurait 1/2 surface de la recouverte, par ex. ceci nécessiterait d'avoir la place suffisante pour cliquer sur l'une ou l'autre.
-
- Messages : 3704
- Enregistré le : 08 avr. 2006, 21:58
Re: Evolution du logiciel des cartes
J'ai trouvé un compromis sans générer un code débile.sly a écrit : ↑16 déc. 2019, 14:06quand 2 points (fontaine et cabane par exemple) sont trop proches, on arrive pas à cliquer facilement celui qu'on veut :
https://dom.refuges.info/nav/0/MRI?map=17/6.21/45.7181
Les icônes ne bougent pas (avec OL, c'est un peu compliqué !) mais les 2 étiquettes sont affichées tour à tour et peuvent être cliquées.
Pour moi, rien d'autre
En attente de vos avis
Dominique http://chemineur.fr