Saya menggunakan TileStache untuk melayani ubin vektor saya sendiri menggunakan sumber data postgis. Pertama saya memproyeksikan kembali shapefile yang saya gunakan ArcMap (diproyeksikan kembali ke Web Mercator (Auxilary Sphere)) dan memuatnya di Postgres menggunakan shp2pgsql (SRID: 900913).
Saya dapat membuat ubin menggunakan file konfigurasi ini:
{ "cache": { "name": "test", "path": "/ tmp / stache", "umask": "0000" }, "lapisan": { "tpl": { "asal yang diizinkan": "*", "proyeksi": "mercator bola", "pemberi": { "class": "TileStache.Goodies.VecTiles: Provider", "kwargs": { "dbinfo": { "host": "localhost", "pengguna": "postgres", "kata sandi": "postgres", "database": "tpl" }, "pertanyaan": { "7": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4) - zoom 7+", "8": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4)", "9": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4)", "10": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4)", "11": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4,3,2)", "12": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4,3,2)", "13": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm WHERE priority IN (5,4,3,2)", "14": "SELECT geom AS __geometry __, nama, prioritas DARI isl_roads_sm - zoom 14+" } } }, "preview": {"ext": "json"} } } }
Saya merender ubin yang dihasilkan menggunakan Leaflets TileLayer.GeoJSON. Masalah yang saya miliki adalah bahwa ubin tidak overlay dengan basemap, ada celah yang cukup besar antara ubin saya dan fitur-fitur pada basemap.
Ketika saya menggunakan WGS84 sebagai proyeksi dalam file konfigurasi (menggunakan data dalam WGS84) saya mendapatkan ubin kosong, tidak ada kesalahan lain.
Bagaimana saya bisa membuat ubin untuk overlay dengan benar? Mengapa WGS84 tidak berfungsi?
+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
. Atau periksa dengan qry:, SELECT * FROM geometry_columns
lihat apakah srid memang 900913
900913
. Saya mencobanya dengan SRID 3857
juga (setelah mengejar proyeksi ke 3857 di QGIS) tetapi itu hanya memberi saya kesalahan mengatakan bahwa tilestache tidak bekerja dengan SRID campuran.