Le 28 mai 2012 17:24, jo <jonath59...@hotmail.fr> a écrit : > J'ai également une autre question: > J'ai utilisé un peu la libraire de Travelingsaleman, et ma carte s'affiche > bien mais le problème c'est que la carte ne s'affiche pas comme un "plan" à > 90 degrés mais comme une sorte de projection de la carte à 120 degrés. > Y-a-t-il une solution pour résoudre ce problème ? > Car de base, les tuiles utilisé sont ceux de OpenStreetMap donc elles sont à > 90 degrés.
Pour changer l'orientation des tuiles (celles qui sont issues d'un systèmes WMS-C), pas d'autre moyen que d'utiliser ton propre moteur de rendu, ou sinon de faire une rotation de bitmap réduisant la précision des pixels et rendant illisibles nombre de libellés ! Pour que les libellés restent lisibles, par une rotation de tuiles WMS-C, il faudrait qu'elles soient générées avec une résolution plus grande permettant aux glyphes du texte de rester lisible, donc que ceux-ci soient tracés tous avec une graisse suffisante d'au moins 2 pixels de largeur de trait : cela nécessite alors des polices plus grandes et donc de filtrer davantage les libellés que ce qu'on fait sur les tuiles WMS-C calculées pour un niveau de zoom avant plus élevé. A mon avis, il ne serait pas inutile de générer des tuiles WMS-C toujours à 90 degrés, mais cette fois avec des polices plus grandes (tracées donc avec des traits plus épais), permettant ensuite de réduire dynamiquement cette résolution par ajustement linéaire, mais aussi de pouvoir les faire pivoter avant dans un angle arbitraire tout en conservant les libellés lisibles. Bref monter un serveur de tuiles avec un nouveau style de rendu utilisant des polices plus grandes que ce qu'on a actuellement à niveau de zoom équivalent. Cela ne générerait pas forcément plus de requêtes au serveur de tuiles, ni des tuiles plus grandes (en nombre de pixels comme en kilooctets par tuile), cela serait équivalent en terme de volume téléchargé ou en volume généré sur le serveur à celui d'un niveau de zoom supplémentaire. (On sait maintenant facilement faire une transformation linéaire lissée correctement de n'importe quelle image pixellisée, pour des zooms et rotations arbitraires, et même afficher ces images en 3D en lui appliquant une couche d'élévation, ce qui est démontré par des applications comme Google Earth qui utilise la projection sphérique de Mercator et qui permet aussi d'appliquer une transformation non linéaire sur la surface : explorez les zones montagneuses: ce que Google Earth réalise est déjà en démo avec les images produites depuis OSM, et ça marche bien au moins en Flash, ou en HTML5 avec Javascript dans un "canvas" : les cartes graphiques savent toutes maintenant prendre en charge ces transformations et aussi la plupart des smartphones vendus maintenant qui ont tous un GPU capable de rendu 3D accéléré parfaitement accessible en Javascript sans même utiliser la technologie propriétaire Flash/ActiveScript, qu'Adobe d'ailleurs a déjà mentionné qu'il sera bientôt abandonné au profit du Canvas HTML5/Javascript). _______________________________________________ dev-fr mailing list dev-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev-fr