Suite

Node JS et Tilestrata pour servir les tuiles SRTM


J'ai envoyé un e-mail à l'un des auteurs et il s'avère que tilestrata-disk n'était pas destiné à être utilisé comme "fournisseur" dans leur système. Pas étonnant! Voici ce que Brian Reavis a dit sur le fonctionnement du cache :

Un cache s'attend à ce que les tuiles viennent d'ailleurs. Son travail consiste à envelopper une source de tuile (fournisseur) avec une sorte de mécanisme de stockage et de récupération. Le cache disque a sa propre structure de fichiers et de répertoires qu'il attend, donc l'utiliser pour servir vos tuiles prédécoupées serait probablement un problème.

Donc, je ne vais pas faire ça. Maintenant, je vais travailler sur le service avec une pile plus complète qui inclut Mapnik pour le rendu via tilestrata-mapnik. Il a réécrit une partie de tilestrata-disk afin qu'il puisse être utilisé comme un "fournisseur" si quelqu'un veut essayer cela.


Je suis coincé avec un serveur qui fonctionne sans erreur, mais n'offre aucune sortie. Je ne sais pas ce qui ne va pas, mais mes suppositions ont quelque chose à voir avec la feuille de style xml du raster (utilisé par Mapnik pour rendre les tuiles de leur source GTiff) ou le projection de la couche source (EPSG:3857 - mercator sphérique).

Voici ce que j'ai jusqu'à présent dans mon fichier server.js :

var tilestrata = require('tilestrata'); var disk = require('tilestrata-disk'); var mapnik = require('tilestrata-mapnik'); var strates = tilestrata.createServer(); //définir les couches strata.layer('srtm') .route('tile.png">http://localhost:8080/0/0/0/tile.png">http://localhost:8080/0/ 0/0/tuile.png">

J'ai oublié d'inclure le calque dans l'url.

Comme le souligne clairement la documentation, le format d'URL fonctionne comme ceci :

http://localhost ://///

Avec ce petit changement, je le fais maintenant fonctionner sur ma carte Mapbox.js sans aucun problème.