Journal Open Earth View - la suite

Posté par . Licence CC by-sa
Tags : aucun
23
3
juil.
2016

Salut journal,

Où en est le projet Open Earth View?

Pour rappel, il s'agit du développement d'une solution libre de cartographie web 3D. Le projet est ambitieux même s'il avance lentement.
L'objectif est de devenir une architecture ouverte de référence pour le rendu 3D web.

Lors de mon dernier journal sur le sujet, j'ai eu des retours intéressants des lecteurs que j'ai soit déjà pris en compte, soit ajouté au bug tracker

À l'heure actuel, on dispose d'une base de plate-forme de démo plutôt 'fluide'.
Les tuiles d'Open Street Map sont collées sur une sphère, et mises à jour selon la position de la caméra.
La navigation a été rendue plus 'intuitive' en adoptant les contrôles dont l'usage est le plus répandu.
Le chargement des tuiles et le rafraîchissement de la scène 3D ont été optimisés au mieux:
* mise en file d'attente des tuiles à charger en tant que texture, et mise à jour (suppression d'éléments, réordonnancement) de cette file selon la position de la caméra.
* mise à jour du rendu de la scène uniquement en cas de changement du contenu.

La licence adoptée: 'M.I.T'

Les sources: ici

Le wiki: ici

La démo: http://www.openearthview.net

Enjoy!

  • # Affichage des tuiles de moindre résolution

    Posté par . Évalué à 4.

    Super projet, c'est un plaisir de voir les avancées à chaque fois !

    Un petit truc que j'avais déjà remarqué la dernière fois : à tout instant on peut voir des tuiles de niveaux de zoom différents. Au milieu de mon écran, j'ai un carré de niveau très zoomé, puis autour une couronne de tuiles moins zoomées, et ça continue sur les bords avec de tuiles floues.
    Je comprends l'intérêt de précharger des tuiles des niveaux moins détaillés, mais ne devraient-elles pas être en dehors de la portion visible de la carte ?

    • [^] # Re: Affichage des tuiles de moindre résolution

      Posté par . Évalué à 4.

      Merci pour l'enthousiasme.

      Ce comportement est complètement souhaité. L'idée est d'avoir des choses détaillées à proximité, et beaucoup moins à distance.

      Bientôt, on pourra voir des bâtiments en 3D. On verra d'importants détails à proximité de la caméra, et au loin, ce sera juste des cubes.

      Le même principe est calcable sur les élévations de terrain.

      Cela est-il déroutant?

      • [^] # Re: Affichage des tuiles de moindre résolution

        Posté par . Évalué à 7.

        Cela est-il déroutant?

        Complètement.
        Surtout quand les deux niveaux ne se "raccordent pas" naturellement. Ça fait une frontière pas naturelle entre les tuiles et c'est pas vraiment lisible.

      • [^] # Re: Affichage des tuiles de moindre résolution

        Posté par . Évalué à 5.

        Cela est-il déroutant?

        je confirme,
        à un moment j'etais entre 2 tuiles
        la premiere contient le debut du nom de la ville, tronqué car la deuxieme a un niveau de zoom different, et le nom de la ville en entier.

        • [^] # Re: Affichage des tuiles de moindre résolution

          Posté par . Évalué à 2.

          Ok, je comprends. Peut-être devrais-je simplement m'appuyer sur des vues satellite ou bien proposer mes propres tuiles, et un affichage des nom de rues indepedemment intégré dans la scène 3D…

          • [^] # Re: Affichage des tuiles de moindre résolution

            Posté par . Évalué à 3.

            ou prendre en compte la resolution de l'ecran de la personne pour afficher des tuiles de meme niveaux de zoom sur l'integralité de l'affichage,
            et prechargé des tuiles de zoom differents en dehors de cette zone (pour ne pas avoir de tuiles grises quand on se deplace)
            quitte à avoir ensuite le chargement pour reaffiner le detail lorsqu'on arrete de bouger.

            • [^] # Re: Affichage des tuiles de moindre résolution

              Posté par . Évalué à 1.

              Il y aura bien d'autres choses à charger après (élévation de terrain, plan d'étage de bâtiment, etc…) alors je préfère éviter des 'préchargements'.

              Avez-vous essayé de bouger la souris avec le clic droit? Parce que j'ai beaucoup de mal à comprendre vos conseilles de mise en oeuvre sur le chargement des tuiles.

              Si je prends un peu d'angle d'inclinaison (clic droit), je ne vais pas garder le même niveau de zoom pour les tuiles qui apparaissent au loin, non?

              La taille de l'écran n'a plus vraiment son mot à dire, non?

              ???

              • [^] # Re: Affichage des tuiles de moindre résolution

                Posté par . Évalué à 2.

                la taille de l'ecran te permet de calculer une surface qui doit avoir le meme niveau de zoom et qui sera le 'bas' de ta vue 3D (zone la plus proche donc)
                ensuite tu inclines cette surface si tu veux, les objets loins pouvant avoir un niveau de detail moindre.

                là on a la tuile du centre tres detaillée, et au bord des tuiles plus grosses,
                ca donne des artefacts comme ceux-ci.

                Titre de l'image

                • [^] # Re: Affichage des tuiles de moindre résolution

                  Posté par . Évalué à 2.

                  Entendu.
                  J'avoue, j'ai perdu le recul suffisant pour que le problème évoqué soit choquant pour moi…

                  la taille de l'ecran te permet de calculer une surface qui doit avoir le meme niveau de zoom et qui sera le 'bas' de ta vue 3D

                  En fait, je veux éviter les lourdeurs que l'on peut avoir sur cette démo: http://vizicities.com/demos/basic/
                  Il s'agit d'une solution alternative (je ne dirais pas "concurrent" car je suis dans l'échange plus que dans la confrontation).

                  "là on a la tuile du centre tres detaillée, et au bord des tuiles plus grosses"

                  Oui, c'est le comportement attendu. L'idée est de préparer le terrain pour pouvoir afficher des bâtiments en 3D détaillés au centre, et moins aux alentours. C'est un peu comme si on regardait dans une jumelle.

                  L'optimisation des ressources à charger, ainsi que la lourdeur de la scène sont des points très importants pour moi, pris en compte au plus tôt. Ceci permet de pouvoir utiliser le viewer sur un smartphone pas trop puissant, et en mode web pour ne rien avoir à installer (appli dédiée, plugin, flash et merdier en tout genre…).

                  Mon idée n'est pas d'avoir une vue d'ensemble détaillée, mais bien de pouvoir se concentrer sur des points précis du globe (building indoor).

                  Quoi qu'il en soit, j'accorde une grande importance à vos remontées de cas d'usage, soyez en sûrs !

                  • [^] # Re: Affichage des tuiles de moindre résolution

                    Posté par . Évalué à 3.

                    En fait, je veux éviter les lourdeurs que l'on peut avoir sur cette démo: http://vizicities.com/demos/basic/
                    Il s'agit d'une solution alternative (je ne dirais pas "concurrent" car je suis dans l'échange plus que dans la confrontation).

                    ce qui te semble une lourdeur est aussi un avantage,
                    une fois chargé, c'est fluide, il n'y a plus de rafraichissement necessaire, quelque soit le niveau de zoom, les objets sont deja là.

                    mais la demo ne montre que les routes et les batiments, là ou toi tu geres la carto (donc la finesse du dessin et du texte)

                    • [^] # Re: Affichage des tuiles de moindre résolution

                      Posté par . Évalué à 1.

                      Je comprends. Merci.
                      Maintenant, j'ai le choix entre trouver un fournisseur de tuiles adaptées à mon modèle, ou générer moi-même ces tuiles…

                      • [^] # Re: Affichage des tuiles de moindre résolution

                        Posté par . Évalué à 3.

                        Maintenant, j'ai le choix entre trouver un fournisseur de tuiles adaptées à mon modèle, ou générer moi-même ces tuiles…

                        ou juste revoir le calcul de quelle tuile pour quel profondeur.
                        car j'imagine que c'est quand meme toi qui lui demande les tuiles, pour ensuite choisir de les afficher (ou pas) selon la position geographique et le niveau de zoom ?

                        peu importe le fournisseur de tuile, le problement reste le meme

                        qu'est ce qui t'empeche de charger toutes les tuiles autour du point central, dans un rayon de $largeur_ecran/2 (à droite et à gauche du point X,Y)
                        au dessus et en dessous de ce point ?

                        en gros $nb_tuile=$largeur_ecran/$largeur_tuile.
                        en prenant la moité à droite, la moitié à gauche de la position X
                        meme chose avec la hauteur de l'ecran

                        en gros si la resolution ici c'est 1440x900
                        que ta tuile au niveau de zoom A1 : fait 144pixels, il te faut 10 tuiles, 5 à droite, 5 à gauche du centre pour remplir l'ecran.
                        avec le niveau de zoom A2 la tuile fait peut-etre 72pixels, il faut alors 20 tuiles, 10 de chaques cotés, etc

                  • [^] # Re: Affichage des tuiles de moindre résolution

                    Posté par (page perso) . Évalué à 2.

                    Salut,
                    Je rejoint l'avis général à propos des détails. Actuellement il n'y a que le centre de la vue qui est détaillée, les tuiles autour sont plus grossières. Ça limite peut être les ressources nécessaires, mais les tuiles grossières sont complètement inutiles: on ne peut pas lire correctement ce qu'elles contiennent. J'ai un écran 15" mais il n'y a que 7" qui comportent des informations utiles…

                    Les tuiles grossières sont à utiliser uniquement lorsqu'on ne remarque pas la différence: quand on fait basculer la vue avec le clic droit, on peut mettre les tuiles du haut (au loin) en basse résolution. Celles de droite et gauche doivent rester détaillées car elles peuvent contenir des infos utiles (sinon, autant ne pas les afficher…).

                    Pour les bâtiments en 3D, ce sera pareil: si les détails se voient, il faut les afficher. Sinon, on peut effectivement s'en passer.

                    Autre chose un peu gênante, mais je pense que les autres systèmes de cartographie font pareil: les tuiles basse définition ne concordent pas à celles de plus haute définition. En fait, je pense que les basses définitions correspondent à un niveau de zoom différent, donc les inscriptions et chemins ne sont pas de la même taille. Pour que ça s'accorde mieux, il faudrait utiliser la tuile haute définition pour générer la basse définition, en réduisant juste le nombre de pixels. Mais cela demanderait peut-être plus de mémoire…

          • [^] # Re: Affichage des tuiles de moindre résolution

            Posté par . Évalué à 3.

            Dans la série, les villes choisies quand on dézoome le sont sur des critères peu lisibles: par exemple j'ai Saint-Denis à certains niveaux de zoom plutôt que Paris, Florence sans Rome etc.

            "The trouble with quotes on the internet is that it’s difficult to discern whether or not they are genuine.” Abraham Lincoln

      • [^] # Re: Affichage des tuiles de moindre résolution

        Posté par . Évalué à 4.

        Pour moi, le bon comportement est de toujours voir des choses détaillées à l'écran, et d'avoir des choses moins détaillées prêtes à être montrées quand l'utilisateur déplacera la caméra, pour ne pas afficher des tuiles vides pendant le temps de chargement.
        D'ailleurs, après vérification, on peut voir des tuiles grises quand on fait un zoom/dézoom/déplacement rapide. Le préchargement de tuiles est normalement destiné à éviter ça.

        Un autre point de détail, mais que je trouve contre intuitif : le zoom avec la molette se fait sur le centre de l'écran, alors qu'il devrait se faire sur le pointeur souris (si Paris est à droite de l'écran, je mets mon pointeur dessus, quand je molette pour zoomer Paris devrait rester sous mon pointeur). Bon, ça c'est juste pour chipoter :)

  • # Ouch!

    Posté par (page perso) . Évalué à 2.

    ça crashe de suite avec Firefox ESR….

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Ouch!

      Posté par . Évalué à 2.

      Ok. Quelque chose dans les logs?
      Un problème connu avec webgl?

      • [^] # Re: Ouch!

        Posté par (page perso) . Évalué à 2.

        C'est Firefox 45.2.0 ESR (Mageia x86_64). En fait ça crashe sur un ordi récent avec Intel Haswell GT1, et pas avec un relativement vieux avec Intel(R) 965GM. Donc t'en fais pas, c'est plutôt un bug ailleurs.

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

        • [^] # Re: Ouch!

          Posté par . Évalué à 1.

          Ok, merci pour le retour.

          Pour info, je viens de rajouter les bâtiments en 3D. C'est brut de fonderie.

          Il y a une grosse conso CPU à corriger à court terme, et le rendu fin des bâtiments à moyen terme.

          Je ferai un autre journal quand ça sera un peu plus fignolé.

          À++

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.