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 3857també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.
