私はTileStacheを使用して、postgisデータソースを使用して独自のベクタータイルを提供しています。まず、ArcMap(Webメルカトル(補助球)に再投影)を使用していたシェイプファイルを再投影し、shp2pgsql(SRID:900913)を使用してそれらをPostgresにロードしました。
この構成ファイルを使用してタイルを生成できます:
{ "キャッシュ": { "名前": "テスト"、 "パス": "/ tmp / stache"、 "umask": "0000" }、 「レイヤー」: { 「tpl」: { "許可されたオリジン": "*"、 "投影": "球状メルカトル"、 「プロバイダー」: { "クラス": "TileStache.Goodies.VecTiles:Provider"、 "kwargs":{ 「dbinfo」: { "ホスト": "ローカルホスト"、 "ユーザー": "postgres"、 "パスワード": "postgres"、 "データベース": "tpl" }、 「クエリ」: { "7": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4)-zoom 7+"、 "8": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4)"、 "9": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4)"、 "10": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4)"、 "11": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4,3,2)"、 "12": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4,3,2)"、 "13": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm WHERE priority IN(5,4,3,2)"、 "14": "SELECT geom AS __geometry __、name、priority FROM isl_roads_sm-ズーム14+" } } }、 "プレビュー":{"ext": "json"} } } }
Leaflets TileLayer.GeoJSONを使用して生成されたタイルをレンダリングしています。私が抱えている問題は、タイルがベースマップとオーバーレイしないことです。タイルとベースマップ上のフィーチャの間にかなり大きなギャップがあります。
(WGS84のデータを使用して)構成ファイルのプロジェクションとしてWGS84を使用すると、空のタイルが表示され、他のエラーは発生しません。
タイルを正しくオーバーレイするにはどうすればよいですか?WGS84が機能しないのはなぜですか?
+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
。またはqryで確認してください:SELECT * FROM geometry_columns
sridが実際に900913かどうかを確認してください
900913
。SRIDでも試してみ3857
ました(投影をQGISで3857に変更した後)が、タイルスタックが混合SRIDでは機能しないというエラーが表示されます。