tilemillをコマンドで実行
tilemillを使ってプロジェクトの保存→コマンドでタイル作成→tilestreamサーバー起動→Openlayersで確認 する方法を紹介します(下書き)。
tilemillをインストール
tilemillを起動
- データ読み込み
- 各種設定を保存
設定ファイル(project.mml,style.mss)は以下に保存される。
C:\Users\name\Documents\MapBox\project
コマンドからタイル作成
Tilemillからエクスポートもできますが、全国レベルのデータをAWSのハイパフォーマンスEC2でタイル化するのを想定してるので、コマンドで作成します。
-
- 管理者権限でコマンドプロンプトを実行
- 以下コマンドでmbtilesを作成(pyramid)
cd c:\Program Files\TileMill-v0.10.1\tilemill >node.exe index.js export vegetation veg.mbtiles --format=mbtiles --bbox=135,35,135.1,35.1 --minzoom=1 --maxzoom=10 --metatile=2 --scale=1 --scheme=pyramid --quiet
- pyramidについて
http://mapbox.com/blog/rendering-the-world/
- metatileについて
http://mapbox.com/tilemill/docs/guides/metatiles/
- scaleについて
タイルレベルに従って全フォントとライン幅を太くするための乗数
http://support.mapbox.com/discussions/tilemill/1911-512x512-tiles-in-mbtile-export
- 出力タイルのカスタマイズについて
https://github.com/mapnik/mapnik/wiki/OutputFormats
※mbtilesにあとから追加できる?要確認←自分
mbtilesの確認
spatialiteのGUIで開いてみる。(mbtilesはSQLiteなので、spatialiteでなくてもいいです)
http://www.gaia-gis.it/gaia-sins/windows-bin-x86/
tilestreamの起動
以下で起動
>node index.js tile
ここで確認
http://localhost:20008/tile/geography-class/1/1/1.png←こっちはprojectの中のソースから読み込む
http://localhost:20008/tile/geography-class.mbtiles/1/1/1.png←こっちはexportのmbtilesを読み込む
デフォルトでは
C:\Documents and Settings\mizutani\Documents\MapBox\exportの中のmbtilesが呼び出される。
地図で確認
https://github.com/zzolo/tilemill-viewer
wax,leafletを展開して中身をlibrariesのleaflet,waxの中に入れる
http://leafletjs.com/download.html
https://github.com/mapbox/wax
map.jsはxyzなので、tmsに変更
(デフォルトではprojectのソースを表示するようになっているけど、mbtilesを表示させたいから)
// Add new layer layer = new L.TileLayer(url, { maxZoom: 15, minZoom: 2, scheme: 'xyz' ,tms: true});
>node index.js tile でタイルサーバーを起動して、tilemill-viewerのindex.htmlを開く
vegetation.mbtilesをテキストボックスにaddすると表示できる!
Tilemillとpolytiles.pyの比較
Tilemill
- mbtilesの作成は追加ができない。
マルチコアに対応していない。http://mapbox.com/blog/tilemill-now-twice-fast/- 配信にtilestreamが必要→mbutilでファイルに展開して解決?
polytiles
- polytilesの-b -p は領域なので海の部分もタイルに書き出して無駄。
- metatileに対応していない。http://geowebcache.org/docs/current/concepts/metatiles.html
- polytilesのmbtilesへのutfgridは実装していない。→実装する?
- metatileは実装していない。→実装する?
- 海の部分のタイルが無駄。→polytilesでpyramid的なプログラム(海は無視)を実装する?