IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Histoire de tuiles reçues


Sujet :

IGN API Géoportail

  1. #1
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut Histoire de tuiles reçues
    Ma page de test

    Depuis un certain temps (avec au moins deux demandes d'explications dans ce forum) je m'étonne qu'avec ce fichier js de gestion de l'api je télécharge environ 150 tuiles alors qu'à l'écran (grand format) je n'en affiche au maximum qu'une quarantaine . Je relève des tuiles de l'Isère comme par exemple http://wxs.ign.fr/tto8auv4p9ht2l50lc...T=image%2Fjpeg qui ne seront jamais affichées dans l'api car j'y ai interdit le zoom et les déplacements, et que donc l'affichage des tuiles se limite à la surface de l'écran.

    Je ne doute pas d'une erreur de codage de ma part, mais pouvez-vous m'aider à résoudre ce problème ?

  2. #2
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Au moins me dire si c'est un comportement qui vous semble normal ou non.

  3. #3
    Membre éclairé Avatar de jrenard
    Homme Profil pro
    Webdesigner / développeur front-end
    Inscrit en
    Septembre 2013
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webdesigner / développeur front-end
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 456
    Points : 894
    Points
    894
    Par défaut
    Bonjour Christian,

    On essaie de regarder, mais ce n'est pas simple. Dans l'absolu, il ne semble pas que ce soit un comportement normal, en témoignent certaines tuiles requêtées à un niveau de zoom qui n'est pas celui affiché (cela se voit à la donnée plus précise sur ces tuiles).

    Le code utilisé dans cette page peut potentiellement être en jeu, mais le débroussaillage n'est pas des plus aisés.

    Désolé de ne pas pouvoir en dire plus.

  4. #4
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    en témoignent certaines tuiles requêtées à un niveau de zoom qui n'est pas celui affiché
    J'avais vu cela aussi, mais je ne voulais pas étendre la question car je n'étais pas sûr de cette anormalité...

  5. #5
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Sur les remarques de Gilles concernant la loupe cartographique (deuxième viewer) qui pouvait introduire des appels de tuiles supplémentaires...
    J'ai repris une vieille version de ma page, qui ne comprend pas cette loupe (donc sans second viewer) et qui est visible à cette url http://new.obs43.fr/index7-05.php


    Vous verrez que comme le disait Jeremy, le surplus des tuiles chargées sont des tuiles à un zoom supérieur, comme par exemple celle-ci http://wxs.ign.fr/tto8auv4p9ht2l50lc...T=image%2Fjpeg

    Comment faire pour ne pas les charger, puisque je n'en ai pas besoin?

  6. #6
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Christian,

    sur la page que tu cites, la loupe est toujours active (un appui sur la touche CTRL permet de s'en apercevoir). Les tuiles chargées à un niveau supérieur doivent venir de là.

  7. #7
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Pardon, je m'y perds dans mes versions!!!!
    Je vais refaire le point...

  8. #8
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Mon principe de chargement est le suivant:
    1/ Chargement du loader principal
    2/ Au callback : onView de ce premier loader, je charge le loader secondaire (loupe cartographique)

    Cela amène le chargement de mes 150 tuiles à la queu leu leu sans aucune hiérarchie d'importance : c'est-à-dire d'abord les tuiles du premier loader puis celles du second loader.

    J'ai fait quelques essais en remplaçant onViewer par onViewerLoaded, mais cela bloque >>> Pas compris le déclenchement de onViewerLoaded???

    J'ai aussi tenté un truc du genre:
    chargement du premier loader avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'GEOGRAPHICALGRIDSYSTEMS.MAPS' : {				visibility : true
    				 ,eventListeners:{
            "loadend":function(){
                 console.log("Chargement du second loader");
            }}
    			},
    Mais je n'ai pas l'impression que c'est opérationnel?

    Bref comment faire pour que le premier loader se charge complètement avec toutes ses tuiles (et seulement ses tuiles), puis une fois ce viewer bien en place avec toutes ses tuiles, le second viewer se charge ensuite avec ses propres tuiles.

  9. #9
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Autrement dit:
    Comment contrôler la fin du chargement initial de toutes les tuiles d'un viewer (pour éventuellement déclencher une action secondaire par exemple l'appel à un second viewer)?

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765

  11. #11
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Merci Marc, ton exemple m'a donné quelques idées...

    Mais je reprends la question d'une manière différente :
    Cette page basique de l'api http://essai.obs43.fr/essai2014-2-2.html à l'échelle 10, charge 25 tuiles pour 16 affichées. Comportement normal car, m'avait-on dit jadis, l'api charge des tuiles dans la prévision d'un futur déplacement de la carte.

    Où je commence à ne plus trop comprendre. Sur cette page http://essai.obs43.fr/essai2014-2-2-0.html comparable à la précédente, sauf que j'y interdis le déplacement avec un "restrictedExtent: (new OpenLayers.Bounds(3.2, 44.72, 4.4, 45.45))......."
    Le calage des deux cartes est un peu différent car ma définition géographique de OpenLayers.Bounds n'est pas très précise. Mais ce n'est pas là le problème.
    Sur cette page, l'api charge 25 tuiles pour 20 affichées alors que la carte est figée (via restrictedExtent sur un domaine plus petit que la taille du viewer) >>>> Que sont ces 5 tuiles en rab? Il y a notamment celle-là http://wxs.ign.fr/3tv4etb56fpphqqaos...T=image%2Fjpeg qui ne servira jamais...

    Je soupçonne aussi que quand l'api est en plein écran, (malgré restrictedExtent fixé) le nombre de tuiles inutiles est plus conséquent....

    Qu'en pensez-vous?
    Peut-on ne charger que les tuiles visibles quand aucun déplacement n'est possible ? Sans bien sûr reprendre les primitives!

  12. #12
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Bonjour Christian,

    j'attire ton attention sur l'exemple suivant :

    http://dev.openlayers.org/releases/O...es/buffer.html

    qui montre comment jouer sur la taille du buffer de tuiles chargées dans la visu avec OpenLayers.

    Ce paramétrage est masqué par notre API pour les couches Géoportail. Il y a peut-être moyen de jouer dessus, mais je t'avouerais être sceptique quand à la qualité du résultat final par rapport au temps passé pour y arriver...

    Ceci motive mes considérations suivantes par rapport à tes tests :

    1. 25 tuiles chargées pour 20 ou 16 affichées : c'est déjà pas mal, non ?

    2. Il me semble que les tuiles se chargent à partir du centre de la visu. L'affichage des tuiles qui ne se verront pas ne pénalise donc pas celui de celles qui se voient. De plus, le chargement est asynchrone. Je ne pense donc pas que ce surplus pénalise tant que ça le chargement de la page : est-ce vraiment là l'élément déterminant du ralentissement ?

  13. #13
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Il y a peut-être moyen de jouer dessus, mais je t'avouerais être sceptique quand à la qualité du résultat final par rapport au temps passé pour y arriver...
    D'accord avec toi d'autant plus qu'en passant à des versions sup de ol, le problème devrait disparaitre suivant tes anciens propos...
    25 tuiles chargées pour 20 ou 16 affichées : c'est déjà pas mal, non ?
    Oui, mais ce constat rapporté à obs43.fr (avec 2 viewers) en ouverture plein écran, j'explose à 150 tuiles. C'est là mon problème qui se résume ainsi (rappel) : Comment contrôler la fin du chargement initial de toutes les tuiles d'un viewer (pour éventuellement déclencher une action secondaire par exemple l'appel à un second viewer)? As-tu une idée ou est-ce impossible à mon niveau?

    Il me semble que les tuiles se chargent à partir du centre de la visu.
    Oui,
    est-ce vraiment là l'élément déterminant du ralentissement ?
    C'est la question que je me pose...

  14. #14
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Comment contrôler la fin du chargement initial de toutes les tuiles d'un viewer (pour éventuellement déclencher une action secondaire par exemple l'appel à un second viewer)?
    Avant de rentrer dans des considérations d’événements, pourquoi ne pas simplement déclencher la création du viewer lors de la première utilisation de la loupe (au premier appui sur CTRL) ? Sinon, ton viewer associé à la loupe se charge avec des tuiles qui ne seront sans doute pas utilisées car l'utilisateur n'a pas encore positionné sa loupe.

  15. #15
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Avant de rentrer dans des considérations d’événements, pourquoi ne pas simplement déclencher la création du viewer lors de la première utilisation de la loupe (au premier appui sur CTRL) ? Sinon, ton viewer associé à la loupe se charge avec des tuiles qui ne seront sans doute pas utilisées car l'utilisateur n'a pas encore positionné sa loupe.
    Tout à fait d'accord avec toi. J'ai bien essayé de le faire (et l'idée est toujours présente) mais je n'y suis pas arrivé! Je ne suis pas très doué! Mais je n'y renonce pas. Mais en attendant j'envisage d'autres pistes qui pourraient être plus accessible. Visiblement, tu me renvoies vers ce premier appui du ctrl.

    Et puis, il y avait ce premier temps de latence de chargement des tuiles...

Discussions similaires

  1. [C#] histoire de commit et de roolback
    Par dupin40 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 18/05/2021, 18h45
  2. [Indy TCPClient] Recupérer le données reçues
    Par fandor7 dans le forum Web & réseau
    Réponses: 8
    Dernier message: 29/06/2003, 22h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo