JA:Mapnik
Mapnik | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ライセンス: | GNU LGPL | |||||||||||||||||||||
動作環境: | Windows、 macOS および Linux | |||||||||||||||||||||
版数: | 3.0.20 (2018-04-12) | |||||||||||||||||||||
言語: | 英語 | |||||||||||||||||||||
ウェブサイト: | http://mapnik.org | |||||||||||||||||||||
プログラミング言語: | C++ および Python | |||||||||||||||||||||
|
Mapnik は地図をレンダリングするためのオープンソースのツールキットです。 特に、 OpenStreetMap のウェブサイトで4つの主要なスリッピーマップレイヤーをレンダリングするために使われています。様々な地理データ形式と、数多くの種類の地図をデザインできるよう柔軟なスタイルオプションに対応しています。
MapnikはC++で書かれており、JavaScript(Node.js)、Python、Ruby、Javaなどのバインディング言語を使用してスクリプト化できます。 AGG rendering libraryを使用し、サブピクセル精度のアンチエイリアスレンダリングを提供します。 ESRIシェープファイル、PostGIS、TIFFラスタ、.osmファイル、GDALまたはOGRでサポートされているフォーマット、CSVファイルなどを読むことができます。 あらかじめ構築されたパッケージは、OS XとWindowsで利用でき、Mapnik.org/downloadにあります。 多くのLinuxディストリビューションはパッケージを提供しています - the Mapnik Installation Wiki GitHubでそれらについて学んでください。
The Mapnik Wiki GitHubや#mapnik channel on freenodeでMapnikの使用方法についてさらに学ぶことができます。
Mapnikは地図を描画するツールキットであり、Mapnikを基盤とする一般的な地図のスタイルシートと混同しないように注意してください。 これらのうちの1つ、OpenStreetMap CartoがOSMウェブサイトのメインマップとして使用されています。
用語
長い間、Mapnikという用語は、地理空間データを画像としてレンダリングするライブラリと、www.openstreetmap.org のメイン地図のレンダリングに使用されるMapnik XML スタイリング言語で記述された地図スタイルの両方に使用されていました(スタイルは OSM Mapnik と呼ばれることもあります)。
2012年12月以降、www.openstreetmap.org のマップは、OpenStreetMap Carto と呼ばれるスタイルの CartoCSS ポートを使用してレンダリングされます。 このwikiの古いガイドやメーリングリストやフォーラムでの議論を読む場合は、名前の混乱に注意してください。
レンダリングエンジンを示す場合は Mapnik を使用し、スタイルルールを示す場合はその地図スタイルの名称を使用してください。
概要
Mapnikは、種々のグラフィックフォーマットで地図画像を出力できます。それらには、PNG、JPEG、SVGとPDFがあります。OpenStreetMap が Mapnik を主に使うことは、JavaScript スリッピーマップインタフェース中で表示される、非常に数多くの地図タイルのレンダリングの改善に繋がっています。
Mapnik スタイル
Mapnikは、すべての地図製作における観点においてカスタマイズが可能です。それらは、データ機能、アイコン、フォント、色、パターン、さらには疑似3D建造物表示やドロップシャドウのような特定の効果もあります。これは、データソースとスタイルルールを定義することによりすべて制御でき、通常はMapnik特有のXML言語で記述されます。
OSMの標準タイルレイヤーに使用されるMapnikスタイルのルールはオープンソースであり、OSMデータのカスタムレンダリングの基礎として使用できます。Humanitarian map styleのような他のスタイルも利用できます。
Mapnikスタイルの作成を支援するための多くの外部ツールがあります。それらはMapnikに組み込まれたXML言語よりも、コンパクトで読み書きがしやすいスタイル言語を提供しています。 TileMillとKosmtikは、CartoCSSをMapnix XMLスタイルに変換する前処理としてCartoCSSを使用するための開発環境です。MagnaCartoはCartoCSSも使用しますが、Mapserverの地図ファイルを生成するコンバーターも付属しています。
データソース
Mapnikのデータソースは異なったソースを使うことができます。それらは、OSMデータの直接処理、PostGISデータベース、shapefilesやその他です。
PostGIS
これは、最も一般的な、Mapinkを使ってOSMデータをレンダリングする方法です。OSMはOsmosis、osm2pgsqlやImposmのようなツールを使ってロードされ、SQLクエリとMapnikスタイル中で定義されたGIS関数を経由してアクセスされます。この方法は、より高度なレンダリング用にも使う事ができ、その主要データソースは標準タイルレイヤーで使われます。
Shapefile
Shapefilesは、地図データのための、共通的な保存および交換形式です。PostGISに加えて、標準タイルレイヤーは地図を描画するためにいくつかのshapefilesを使います。たとえば、陸地は Coastlineエラーチェッカによって、natural=coastlineウェイから生成されたshapelinesを使う事によって描画されます。JA:海岸線#Rendering を参照してください。
GeoTIFF
Mapnikは、ラスタイメージとしてGeoTIFFもレンダリングできます。これは一般的に、reliefマップ用に使われます。ステップバイステップのチュートリアルはHillshading with Mapnikを参照してください。
ラスタイメージ
GeoTIFFと同じような方法で、Mapnikは、地図情報を含まない形でビットマップイメージをレンダリングすることもできます。それらのイメージの境界線は、別のパラメータで指定するこ必要があります。
導入
数多くのプラットフォームに対する、インストールについての詳細は、Mapnik Github wiki上で保守されています。
参照
- switch2osm.org - Mapnikを使用したタイルサーバのセットアップガイド
- Renderd, Tirex - Mapnikを使用したタイルサーバ
- Shaded relief maps using mapnik
- Gopnik Mapnikライブラリを使用したタイルサーバと地図のレンダリング