10
24 nov 2010

Imagimap HillshadingVous reprendrez bien un peu d'ombrage ... Je trouve les rendus OSM ou Google Maps un peu trop lisse à mon goût.
Par contre, j'aime bien le relief que propose la vue TERRAIN de Google ; alors comment concilier les rendus Mapnik et Google Maps normal avec de l'ombrage ?


Pour cela, nous avons utilisé les bibliothèques ExtJS, GeoExt et OpenLayers pour avoir une mise en page sympathique des 4 cartes. Une synchronisation a été mise en place afin d'avoir une vue simultanée sur chacune.
L'ombrage a quant à lui été ajouté à la carto en utilisant la classe Layer TMS d'OpenLayers et d'une fonction de récupération d'URL :

function osm_getTileURL(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
var z = this.map.getZoom();
var limit = Math.pow(2, z);

if (y < 0 || y >= limit) {
return OpenLayers.Util.getImagesLocation() + "404.png";
} else {
x = ((x % limit) + limit) % limit;
return this.url + z + "/" + x + "/" + y + "." + this.type;
}
}

Les tuiles nous ont été fournies par Hike & Bike Map. Merci à Colin !

Cliquez sur l'image pour lancer l'application :-)

A propos de l'auteur: 
GeoTribu

Toute l'actualité de la géomatique Open Source ! Mais aussi des tutoriels, des billets de blog, des tests et surtout une bonne humeur géographique !

Commentaires

Intéressant, par contre peut on jouer sur une échelle de visibilité, car je trouve qu'à une plus petite échelle que celle proposée par défaut pour l'application, le rendu n'est pas très agréable, mais peut être est ce simplement car l'ombrage est construit pour une échelle particulière ?

Ludo

En effet, à petite échelle ce n'est pas super. Je n'ai pas eu la main sur l'ombrage, ne l'ayant pas 'fabriqué' par moi-même.
J'attends de trouver pas mal d'espace disque sur un serveur pour me lancer dans le tuilage.
Sinon, en attendant je vais virer l'ombrage lors d'un zoom trop faible, en mettant une petite alerte.
Fab

Merci pour ta réponse Fabien, on peut donc paramétrer son affichage ou non en fonction de l'échelle, c'est déjà très intéressant.
Ludo

On peut paramétrer l'ombrage, je suis en train de regarder.

Merci pour cet exemple qui va m'être très utile. Je suis en train de réaliser une interface carto avec OpenLayers et je vais ajouter l'effet d'ombrage que je trouve très sympa. Mais plutôt que de passer par un serveur distant comme celui de Colin, j'aimerai mettre en place les tuiles d'ombrage sur mon propre serveur. Savez-vous où je peux télécharger ces tuiles dans le bon format TMS pour OpenLayers ? Et quel volume cela représente-t-il pour la planète entière ?

Je pense qu'il va falloir les générer ces tuiles. En cherchant un peu sur le wiki d'OSM, il devrait y avoir des infos :
- http://wiki.openstreetmap.org/wiki/Category:Relief_maps
- http://wiki.openstreetmap.org/wiki/HikingBikingMaps
Cependant pour tous les niveaux de zoom et sur la terre entière, ça risque d'être méchamment volumineux.

Fabien

Merci Fabien pour ta réponse.
Le volume n'est pas un problème pour moi.
En fait je me demandais si Colin n'avait pas mis quelque part en téléchargement les dalles qu'il a déjà généré pour Hike&Bike Map. J'ai essayé de chercher sur le site et sur son profil perso du wiki OSM, mais je n'ai rien trouvé. Je veux bien refaire le travail pour générer les tuiles ombrées à partir du SRTM, mais bon pourquoi refaire ce qui a déjà été fait ;-)
Je vais contacter directement Colin pour avoir plus d'infos. A noter que si il m'en donne l'autorisation, je peux mettre en téléchargement public l'ensemble des tuiles sur un serveur de la Maison de la Télédétection.
Nicolas

Les tuiles se trouvent sur chez Wikimedia Deutschland - http://toolserver.org/~cmarqu/hill/
Par contre, je pense qu'il faut lui demander l'autorisation d'utilisation.
Et je pense qu'il faudrait refaire les tuiles pour les petites échelles. De plus, les tuiles de Colin ne couvrent pas la Terre entière.

Fabien

Je lui ai envoyé un message sur sa boîte OpenStreetMap. J'attends sa réponse. Pour l'instant seule la France m'intéresse et ça me semble totalement couvert au moins jusqu'au zoom 15. Effectivement j'avais repéré l'adresse sur Wikimedia Deutschland et je pourrais scripter le téléchargement avec wget, mais j'attends d'abord son autorisation. Et puis je préfèrerai éviter d'utiliser wget pour ne pas surcharger le serveur de requêtes. Si il peut me fournir une archive contenant l'ensemble c'est quand même mieux :-)

Je n'ai pas eu de réponse de la part de Colin. Je pense qu'il ne doit pas très souvent consulter sa boîte sur le site OpenStreetMap... Je n'ai trouvé son adresse email nulle part pour le contacter directement. Auriez-vous son adresse à me transmettre ? Si vous l'avez, pouvez-vous me l'envoyer sur ma boîte OpenStreetMap : http://www.openstreetmap.org/user/Ptigrouick
Merci.