Estou usando o TileStache para servir meus próprios blocos de vetor usando uma fonte de dados postgis. Primeiro, eu re-projetei os shapefiles que eu tinha usando o ArcMap (reprojetado no Web Mercator (Auxilary Sphere)) e os carreguei no Postgres usando shp2pgsql (SRID: 900913).
Eu sou capaz de gerar os azulejos usando este arquivo de configuração:
{ "cache": { "nome": "teste", "caminho": "/ tmp / stache", "umask": "0000" } "camadas": { "tpl": { "origem permitida": "*", "projeção": "mercator esférico", "fornecedor": { "class": "TileStache.Goodies.VecTiles: Provider", "kwargs": { "dbinfo": { "host": "localhost", "usuário": "postgres", "password": "postgres", "database": "tpl" } "consultas": { "7": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4) - zoom 7+", "8": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4)", "9": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4)", "10": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4)", "11": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4,3,2)", "12": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4,3,2)", "13": "SELECIONE geom AS __geometria __, nome, prioridade FROM isl_roads_sm WHERE prioridade IN (5,4,3,2)", "14": "SELECT geom AS __geometry __, nome, prioridade FROM isl_roads_sm - zoom 14+" } } } "preview": {"ext": "json"} } } }
Estou renderizando os blocos gerados usando Leaflets TileLayer.GeoJSON. O problema que tenho é que os ladrilhos não se sobrepõem ao mapa base, há uma lacuna muito grande entre meus ladrilhos e os recursos no mapa base.
Quando uso o WGS84 como projeção no arquivo de configuração (usando dados no WGS84), obtenho blocos vazios, sem outros erros.
Como posso sobrepor os ladrilhos corretamente? Por que o WGS84 não funciona?
+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
. Ou verificar com um qry: SELECT * FROM geometry_columns
, ver se srid é de fato 900913
900913
. Eu tentei com o SRID 3857
também (depois de mudar a projeção para 3857 no QGIS), mas isso me dá um erro dizendo que o tilestache não funciona com SRIDs mistos.