7 votos

Amontonamiento de capas vectoriales en TileStache

Estoy al servicio de varios vectores de baldosas de capas de diferentes geometrías (punto, línea y polígono) en TileStache usando VecTiles:Provider, con este cfgarchivo:

{
"caché":
{
 "nombre": "DISCO",
"ruta de acceso":"/tmp/stache",
 "umask": "0000" 
},
 "capas": 
 { 
"el mundo":
 { 
 "permitió origen":"*",
 "proyección": "spherical mercator",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:El Proveedor", 
"kwargs":
{
"dbinfo":
{
"host":"localhost",
"usuario":"postgres",
"contraseña":"postgres123",
"base de datos":"prueba"
},
"consultas":
{
 "0":"SELECCIONE geom COMO __geometría__,name_0 DE worldcountries1 -- zoom 0+"
}
}
},
"vista previa":{"ext":"json"}
},
"el límite":
 { 
 "permitió origen":"*",
 "proyección": "spherical mercator",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:El Proveedor", 
"kwargs":
{
"dbinfo":
{
"host":"localhost",
"usuario":"postgres",
"contraseña":"postgres123",
"base de datos":"prueba"
},
"consultas":
{
 "6":"SELECCIONE geom COMO __geometría__,name_2 DE islamabad_bound -- zoom 6+",
 "7":"SELECCIONE geom COMO __geometría__,name_2 DE islamabad_bound",
 "8":"SELECCIONE geom COMO __geometría__,name_2 DE islamabad_bound",
 El "9": null

}
}
},
"vista previa":{"ext":"json"}
},
"cartográfica":
 { 
 "permitió origen":"*",
 "proyección": "spherical mercator",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:El Proveedor", 
"kwargs":
{
"dbinfo":
{
"host":"localhost",
"usuario":"postgres",
"contraseña":"postgres123",
 "base de datos":"prueba" 
},
"consultas":
{
 "8":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua') -- zoom de 8+",
 El "9":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua')",
 "10":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua')",
 "11":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua')",
 "12":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua')",
 "13":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua','industria','educación','cementerio','hospitales','lugares religiosos','plazas','puerto de lugares','la pista')",
 "14":"SELECCIONE geom COMO __geometría__,nombre, prioridad,categoría, tipo DE cartográficos DONDE tipo EN ('parques','bosques','agua','industria','educación','cementerio','hospitales','lugares religiosos','plazas','puerto de lugares','la pista','building_low')"
}

}
},
"vista previa":{"ext":"json"}
},
"caminos":
 { 
 "permitió origen":"*",
 "proyección": "spherical mercator",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:El Proveedor", 
"kwargs":
{
"dbinfo":
{
"host":"localhost",
"usuario":"postgres",
"contraseña":"postgres123",
 "base de datos":"prueba" 
},
"consultas":
{
 "7":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4) -- zoom 7+",
 "8":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4)",
 El "9":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4)",
 "10":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4)",
 "11":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4,3,2)",
 "12":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4,3,2)",
 "13":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads en el que la prioridad EN (5,4,3,2)",
 "14":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_roads -- zoom 14+"
}

}
},
"vista previa":{"ext":"json"}
},
"puntos de interés":
 { 
 "permitió origen":"*",
 "proyección": "spherical mercator",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:El Proveedor", 
"kwargs":
{
"dbinfo":
{
"host":"localhost",
"usuario":"postgres",
"contraseña":"postgres123",
 "base de datos":"prueba" 
},
"consultas":
{
 "12":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level = 12 -- zoom 12+",
 "13":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13)",
 "14":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14)",
 "15":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15)",
 "16":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15,16)",
 "17":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15,16,17)",
 "18":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15,16,17,18)",
 "19":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15,16,17,18,19)",
 "20":"SELECCIONE geom COMO __geometría__,nombre, prioridad DE isl_pois_priority DONDE zoom_level EN (12,13,14,15,16,17,18,19,20) -- zoom 20+"
}

}
},
"vista previa":{"ext":"json"}
}
}
}

Para representar los azulejos en la web que estoy haciendo uso de La GeoJSON plugin en el Prospecto de manera individual para llamar a las capas. Cada capa de mosaico corresponde a una sola JSON capa.

var geojsonURL = 'http://localhost:8080/roads/{z}/{x}/{y}.json';
 var geojsonTileLayer = new L. TileLayer.GeoJSON(geojsonURL, {
 clipTiles: true,
 único: function () {
 de retorno de la función.id; 
}
 }, {
 estilo: estilo,
 onEachFeature: function (función, capa) {
 si (característica.propiedades) {
 var popupString = ";
 for (var k en función.propiedades) {
 var v = característica.propiedades[k];
 popupString += k + ': '+ v + ' ';
}
 popupString += ";
la capa.bindPopup(popupString);
}
 si (!(capa instanceof L. de Punto)) {
 la capa.en('mouseover', function () {
la capa.setStyle(hoverStyle);
});
 la capa.("mouseout', function () {
la capa.setStyle(style);
});
}
}
}
);
mapa.addLayer(geojsonTileLayer);

He mirado en el Compuesto y el Sándwich de proveedores en TileStache , pero parece que solo funciona para datos Ráster, yo no puedo ponerme a trabajar en mi Vectorial Capas del Azulejo.

¿Puedo usar el Composite proveedor de pila/fusionar el vector de las capas del azulejo, o hay alguna otra manera de devolver todas mis fichas en una sola JSON?

Actualización: he encontrado una manera de combinar múltiplesGeoJSONs el uso de python , ¿cómo puedo integrar esto en TileStache así que puedo usar esto como el composite proveedor (algo como proveedor personalizado tal vez, aunque no puedo averiguar cómo hacer que funcione exactamente)?

5voto

EasilyBaffled Puntos 106

Así que soy capaz de conseguir todas las capas en una sola capa, un "compuesto" por el uso de la MultiProvider proveedor en la clase y de paso se las capas quiero en la composición de los argumentos. Esto se traduce en una sola JSON archivo que contiene todas mis capas. Esta es la capa que he añadido en la cfg


"composite":
{
 "permitió origen":"*",
"el proveedor":
{
 "clase": "TileStache.Golosinas.VecTiles:Multisitio",
"kwargs":
{
 "nombres": [ "límite", "cartográfica", "caminos", "puntos de interés"]
}
}
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X