Ich verwende TileStache, um meine eigenen Vektorkacheln mithilfe einer Postgis-Datenquelle bereitzustellen. Zuerst habe ich die Shapefiles, die ich mit ArcMap hatte (neu projiziert in Web Mercator (Auxilary Sphere)), neu projiziert und sie mit shp2pgsql (SRID: 900913) in Postgres geladen.
Ich kann die Kacheln mit dieser Konfigurationsdatei generieren:
{ "Zwischenspeicher": { "name": "test", "Pfad": "/ tmp / stache", "umask": "0000" }, "Schichten": { "tpl": { "erlaubter Ursprung": "*", "Projektion": "sphärischer Mercator", "Anbieter": { "class": "TileStache.Goodies.VecTiles: Provider", "kwargs": { "dbinfo": { "host": "localhost", "user": "postgres", "Passwort": "postgres", "Datenbank": "tpl" }, "Abfragen": { "7": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4) - Zoom 7+", "8": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4)", "9": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4)", "10": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4)", "11": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4,3,2)", "12": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4,3,2)", "13": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm WHERE Priorität IN (5,4,3,2)", "14": "SELECT geom AS __geometry __, Name, Priorität FROM isl_roads_sm - Zoom 14+" }} }} }, "Vorschau": {"ext": "json"} }} }} }}
Ich rendere die mit Leaflets TileLayer.GeoJSON generierten Kacheln. Das Problem, das ich habe, ist, dass die Kacheln nicht mit der Grundkarte überlagern. Es gibt eine ziemlich große Lücke zwischen meinen Kacheln und den Merkmalen auf der Grundkarte.
Wenn ich WGS84 als Projektion in der Konfigurationsdatei verwende (unter Verwendung von Daten in WGS84), erhalte ich leere Kacheln, keine weiteren Fehler.
Wie kann ich die Kacheln richtig überlagern? Warum funktioniert WGS84 nicht?
+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
. Oder überprüfen Sie mit einem qry:, SELECT * FROM geometry_columns
sehen Sie, ob srid tatsächlich 900913 ist
900913
. Ich habe es auch mit SRID versucht 3857
(nachdem ich die Projektion in QGIS auf 3857 geändert habe), aber das gibt mir nur den Fehler, dass Tilestache mit gemischten SRIDs nicht funktioniert.