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 cfg
archivo:
{ "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)?