TileMillは、さまざまなデータソースを使用して、Web用のマップをすばやく簡単に作成および描画できる地図製作者向けのツールです。 これは、強力なオープンソースライブラリであるMapnikに基づいています。 TileMillは汎用のマッピングツールではなく、狭いタスクセットを解決するように設計されています。
TileMillの動作原理は非常に簡単です。 ベクターデータをスタジオにインポートします。 TileMillはESRIシェープファイル、KML、GeoJSON、GeoTIFFをサポートし、最近ではPostGISのサポートが発表されました。
Carto言語などのCSSですべてを作成し、いずれかの形式(PNG、PDF、またはMBTiles)にエクスポートします。
特徴
- ローカルソースまたはAmazon S3からデータにアクセスする
- マップレイヤー(形状、ラスター)の管理
- ブラウザーまたは外部エディター(vimなど)でスタイルシートを直接編集する
- スタイルシート編集時のマッププレビュー
- 地理空間データ属性テーブルを表示する
- データをPNG、PDF、およびMBTilesにエクスポートします。
詳細については、猫に招待します。
システム要件
- お客様
- 検証済み:Chrome 6以降、Firefox 3以降、IE8 +
- Opera 11で動作する場合があります
- サーバー
- 検証済み:Mac OS X 10.6、Ubuntu 10.10、Gentoo
- 少なくとも2 GBのRAM
- 他のPOSIX互換システムで動作可能
マプニック
Mapnikは、ベクターデータからラスターマップをレンダリングするためのオープンライブラリです。 これは、同胞のArtem PavlenkoによってOpenStreetMapプロジェクト用に開発されたもので、現在では多くのリソースで使用されていますが、その中でもロシアの
コスモスに注目する価値があります。 OpenStreetMapおよびMapQuestプロジェクトも、一部のマップにこのライブラリを使用しています。 MapnikはC ++およびPythonで記述されています。 AGGライブラリを使用し、サブピクセルの精度でマップ上のオブジェクトを滑らかにすることができます。 ESRIシェープファイル、PostGIS、TIFFラスター、.osmファイル、およびGDALおよびOGR形式をサポートします。 パッケージはほとんどのLinuxディストリビューションで利用でき、バイナリはMac OS XおよびWindowsで利用できます。
Mapnikをインストールする
svn checkout -r 2898 svn.mapnik.org/trunk mapnik2
cd mapnik2
python scons/scons.py configure
python scons/scons.py
sudo python scons/scons.py install
地図作成について少し
GISまたはマッピングに精通している人にとっては、TileMillのマップは常にWebメルカトル(EPSG:900913)に投影されるとすぐに言います。 Microsoft Bing Maps、Google Maps、およびESRI ArcGIS Onlineもこの投影法を使用します。
空間参照システムproj4 SRS(空間参照システム)の形式は広く普及しています。 このシステムは、1つのレコード(SRS文字列(SRS文字列))でデータソースの投影と座標系を記述する機能を提供します。 たとえば、WGS84を説明するSRS行は次のようになります。
+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
ほとんどの場合、TileMillはロード可能なシェープファイルおよびその他のデータソースのSRSを決定できます。 ただし、TileMillが自分でSRSを特定できない場合に備えて、SRSを自分で指定する必要がある場合があります。
タイルとは何ですか?

タイルは、PNG / JPEG形式の256x256ピクセルのビットマップです。
TileMillは、さまざまなレベルのプレゼンテーションをサポートしています。 プレゼンテーションレベルは、事前に設定されたマップ表示スケールです。 OpenStreetMap、Google Maps、およびその他の地図作成Webサービスは、表現のゼロレベルで256x256ピクセルのサイズのタイルを提供し、後続の各レベルでサイズを2倍にします。 たとえば、表現のゼロレベルでは、全世界が表示され、6番目のレベルでは中規模の国、11番目ではメトロポリスが表示されます。 16レベルでは、個々の家を見ることができます。
さらに、TileMillは、MBTiles形式へのマップのエクスポートをサポートしています。 この形式は、カードを保存し、オンラインとオフラインの両方でカードにアクセスするために特別に開発されました。
MBTiles
MBtilesは、SQLite DBMSでタイルに切り分けられたカードを格納して、すぐに戻ることができるようにするための仕様です。 このデータ形式を使用すると、1つのファイルで数千、数十万、さらには数百万ものタイルを転送できます。
MBTilesのアップロード速度は、USB、モバイルデバイスへのダウンロード時、またはネットワーク経由での転送時の数百万個の個々のタイルのアップロード速度よりも高速です。 MBTilesを使用する場合のデータベースまたはファイルシステムへのアクセスの速度の違いはわずかです。
MBTilesは埋め込みSQLite DBMSを使用するため、インターネットに接続せずに使用できます。
タイルはBLOB(バイナリラージOBject-大量のバイナリデータを格納するための形式)として格納されるため、ほとんどのSQLiteクライアントで使用できます。
TileMillをインストールする
TileMillソースコードはGithubで入手できます。
git://github.com/mapbox/tilemill.git
cd tilemill
./ndistro
./tilemill.js
実行します。 ここでブラウザを起動します。デフォルトではTileMillは
localhost:8889
localhost:8889
。
インターフェースの概要
リンクをたどる
localhost:8889
localhost:8889
プレインストールされた一連のプロジェクトにアクセスできます。 それらのいずれかを選択すると、編集ページに移動します。

- ツールバー
- 地図
- レイヤーリスト
- フォント選択とカラーピッカー
- コードエディター

ツールバー
- 設定
- プロジェクト名
- プロジェクトを保存
- 輸出する
- プロジェクト設定
- プロジェクトを閉じる

地図インターフェース
- 地図
- スケール
- 全画面を展開する

レイヤーリスト
- レイヤーを追加
- レイヤーを並べ替える
- レイヤージオメトリアイコン
- 識別子とクラス
- レイヤーの属性テーブルを表示する
- レイヤーを編集
- レイヤーを削除

属性テーブルを表示

スタイルエディター
- アクティブなタブ
- スタイルを削除
- 非アクティブなタブ
- 新しいスタイルを作成する
- MSS構文のヘルプ
- 行番号
- テキストエリア
Cartoのケーススタディ
Cartoは、TileMillで使用されるCSSのようなマップレイアウト言語です。 次のコードは、レイヤー識別子を使用してレイヤーのラインの色とサイズを設定し、それにglowプロパティを追加します。
#layer {
line-color: #C00;
line-width: 1;
}
#layer::glow {
line-color: #0AF;
line-opacity: 0.5;
line-width: 4;
}

これが最終的に得られるものです。
まとめ
このトピックは膨大なものでしたが、まだ伝えたいことがあります。 この記事に興味がある場合は、TileMillをさらに詳しく検討していきます。 さらに、TileMillと組み合わせて使用される別の製品があります-これはTileStreamです。 それを考慮することも理にかなっています。 ご清聴ありがとうございました。
便利なリンク
- 公式サイト
- ソースコード
- Mapbox
- 開発チーム
- GIS Lab-ロシアのGISコミュニティ
- コスモス
- マプニク
- 機能の概要(ビデオ)
- MBTiles
- カルト
PS: FreenodeネットワークのIRCチャネル#mapboxでサポートを見つけることができます。
PPS:残念ながら、関連するブログが見つからなかったので、オープンソースで投稿しました。 私が覚えている限りでは、HabréでGIS専用のブログを作成するというトピックが何度か取り上げられました。
調査から判断すると、これは読者にとって興味深いものです。 たぶん、このトピックの後、UFOはGISに興味を持ちますか?
更新 :
ここで続け
ました 。