JA:レンダリング

From OpenStreetMap Wiki
(Redirected from JA:Rendering)
Jump to navigation Jump to search
生の地理データをレンダリングして生成した地図には、さまざまなスタイルを与える融通性があります。OpenStreetMap の無料で開放された地理データはとてつもないパワーを秘め、また一連のツールが用意されていて、OpenStreetMap のデータ処理ができます。

地図をレンダリングするプロセスは、一般に生の地理空間データを取得し、視覚的な地図を作ることです。しばしば、ラスターイメージやラスターセットの作成に適用されますが、ベクタベースの形式でマップ出力を作成することもできます。タイル地図データを入力して「3Dレンダリング」も可能です。 新しく面白いスタイルでマップをレンダリングする機能、または特別な関心のある機能を強調する機能は、地理データにオープンアクセスできる最もエキサイティングな側面の1つです。 OpenStreetMapコミュニティ内およびその周辺の開発者は、OpenStreetMapデータをレンダリングするためのさまざまなソフトウェアを作成しました。 既存のレンダリングソフトウェアで使用するために、データを他のデータ形式に変換することもできます。

OpenStreetMap サーバーでのレンダリング

OpenStreetMap データのレンダリングの最もわかりやすい例は、openstreetmap.org ホームページ に表示されている地図です。ページの右側にあるレイヤー選択ボタンをクリックすると、異なるレンダリングスタイルのレイヤーを切り替えることができます。デフォルトの 'Standard' を含めたいくつかのレイヤーは Mapnik ソフトウェアで生成されています。これらのタイルのマップスタイルをレンダリングして提供するインフラストラクチャについて詳しくは、 Component overviewMapnik Renderingを参照してください。

レンダリングには柔軟性の面で無限の次元があります。 ほとんどのレンダリングソフトウェアは、色、線幅、テキストの向き、興味のある点のアイコン、および非常に微妙な視覚的要素の多くを制御するためのstylesheetをサポートしています。

サーバ及びコマンドラインツール

名前 対称プラットフォーム 対象言語 ライセンス 備考
AlaCarte Windows, Linux N/A AGPL
Kartograph Cross-platform Python AGPL Python フレームワーク、SVG 地図作成に使う。
Kothic Cross-platform Python Unknown MapCSS/0.2 の python レンダリング用エンジン。
LunaRender Windows Lua MIT XML2SVG レンダラ
Mapnik Windows, macOS, Linux C++, JavaScript, Python, Ruby, Java LGPL いちばん普及しているサーバー側の 2D 地図レンダラ。PostgreSQL とその他の C++ lライブラリが必要。高速性を設計してあり、高機能のサーバーを使ったタイル生成に適合。ただし設定は必ずしもかんたんではない。
MapOSMatic Cross-platform Python AGPLv3 グリッドとストリートの索引付き地図の処理が可能。Python/Django + mapnik で記述してある。
MapSurfer.NET Windows, Linux C# MIT マップのスタイル付けと、地理空間データを Web 空間に公開(レンダリング、キャッシュ)するフレームワーク。
node-mapbox-gl-native Node.js JavaScript BSD Node.js パッケージ。OpenGL を使い、Mapbox ベクタータイルを処理。
osmCache Java EE Java Proprietary Java EE servlet で、レンダリングの調整と、 Mapnik でタイルを再レンダリングする。
Smrender Cross-platform C GPLv3 規則ベースのレンダリングエンジン。C 言語で記述してある。
vector-tile-ascii Node.js JavaScript BSD OpenStreetMap のベクトルタイルのための ASCII レンダラ

クライアント側 GUI アプリケーション

名称 対応するプラットフォーム ライセンス 備考
Hardware accelerated real-time rendering .Net Proprietary 画像カードを使い、前処理したタイルを表示するのではなく、リアルタイムに画像表示を処理
Kendzi3d Java SE BSD JOSM 向けのプラグイン。編集したデータの 3D 表示が可能
Kosmtik Node.js WTFPL
Maperitive Windows, macOS, Linux Proprietary local file (.osm, .osm.bz2 and GPX) desktop rendering application, with rendering rules defined in a text file. Generates BMP, PNG and SVG output. Not designed for high performance rendering or huge volumes of data, but easy to set up and flexible, and a good option for one-off rendering (e.g. a map of your city). It also has a tile generator, hillshading, elevation colouring and lots of other features.
OSM2World Java SE LGPL Tool that creates 3D models from OSM data files
TileMill Windows, macOS, Linux Mapbox license (somehow similar to MIT) CartoCSS editor and development tool based on Mapnik.
TopoMapCreator Windows GPLv2 Desktop application based on Mapnik. It creates automatically topographic maps from OSM, NASA and ESA data. Select a map extent (by dragging over a world map), click on the start button and wait for the GeoTIFF, ECW, GALILEO, ORUXMAPS or NAVIMAP output.
XNavigator Java SE GPLv2 OSM in 3D

クライアント用ライブラリ

主な記事:Frameworks
名前 対象プラットフォーム プログラミング言語 ライセンス 備考
Cartagen Web JavaScript MIT HTML5 Canvas/JavaScript ベースのレンダラ
CartoType Windows, iOS, Android, macOS, Unix C++ Proprietary レンダリングと経路探索のライブラリ
Halcyon Flash ActionScript WTFPL Richard Fairhurst が開発し、Potlatch 2 でも使われているレンダリングライブラリ
Kartograph Web JavaScript LGPL あらゆるブラウザでベクトルデータとして生成された地図を表示する JavaScript ライブラリ
Kothic JS Web JavaScript BSD JavaScript の地図レンダリング向けエンジンで多機能、HTML5 Canvas を使用。当初は Kothic. JavaScriptのポートとして開発を開始。
libosmscout Linux, macOS, iOS, Windows, Android, Qt C++, Java LGPL 簡略でありながらレベルの高いインターフェースを提供、OpenStreetMap データに基づくオフラインのレンダリングとルート記録の機能性を発揮。
Mapbox Android SDK Android Java BSD Mapbox ベクターのタイルを slippy map で表示するため、OpenGL ES を使う
Mapbox GL JS Web JavaScript BSD Displays Mapbox Vector Tiles in a slippy map using WebGL
Mapbox iOS SDK iOS Objective-C, Swift, Interface Builder BSD Displays Mapbox Vector Tiles in a slippy map using OpenGL ES
Mapbox macOS SDK macOS Objective-C, Swift, Interface Builder, AppleScript BSD Displays Mapbox Vector Tiles in a slippy map using OpenGL
Mapbox Qt SDK Qt C++ BSD Displays Mapbox Vector Tiles in a slippy map using OpenGL
Mapsforge Android, Java ME Java LGPLv3 free and open toolbox that enables the community to easily create new OpenStreetMap-based applications. Provided tools and APIs include solutions for map rendering, route planning and navigation, POI indexing and search, map overlays and more.
Nutiteq Maps SDK Android, iOS, Windows Phone Java, Objective-C, Swift, C# Proprietary Cross-platform SDK for mobile maps with vector rendering by Carto. Supports 3D city overlays, editable vector overlays and is highly customizable.
osm2x3d Web JavaScript LGPLv3 OSM 3D converter using native WebGL rendering (x3dom JS library)
Tangram Web JavaScript MIT WebGL を使用した 2D および 3D の地図レンダラー
Tangram ES Android, iOS, Linux, macOS C++ MIT OpenGL ES を使用した 2D および 3D の地図レンダラー

過去のもの

以下のレンダラは現在はメンテナンスされていませんが、歴史的に重要なものです。

  • Kosmos – ローカルのファイル (.osm) を描画するエンジンで、GDI/.NET に依拠 (Windows)、レンダリングの規則は個別のウィキページに定義がある。高度な処理のレンダリングあるいは巨大なデータ量には非対応ではあるが、たいへん柔軟で一発処理のレンダリングに使いやすい選択肢。後継機能は、 by Maperitive
  • Mapweaver - Perl レンダリングでは mapgen.pl の後継で、OSM → SVG に対応、Inkscape では PNG もしくは PDF 形式に対応する自動マップキー。道路と POI リスト、グリッド、緯度経度オーバーレイに対応。OSM ファイルから希望のプレース place を抽出する手順を自動化。ただし Windows 環境には非対応。
  • Memphis – OpenStreetMap 用の地図レンダリングのアプリでライブラリ。記述は C 言語で eXpat、Cairo、GLib. を採用。適用するライセンスは、GNU Lesser General Public License。
  • Osm2pov - OSM data を使い、等大の地図を作成するツール
  • Osmarender - osm.org では2012年3月1日時点でメインマップから撤収。XSLT のうち、OSM XML から SVG への変換を扱った。かつて tiles@home というプロジェクトで Osmarender を使用したタイルセット作成を手がけており、Mapnik のマップレイヤーと連動するものを目指した。Osmarender も一発レンダリングに向く選択肢とされた。SVG フォーマットにより、利用者はポストプロセス処理による清書の tweak が可能だった(下記にその他の選択肢あり。)
  • osmbrowser – OSM データの広いエリアを読み込み、ベクター画像として表示できる。
  • osmrender.pl - Perl プログラムで楽に描画できる簡単な地図。入力には拡張子 *.osm を使用。
  • Pyrender – Python で書いたアイデアやコード集。レンダリング・サーバーの処理段階ごとに提示。
  • TileMill とはフロントエンドの手法で、Mapnik を個人が定義したレンダリングに従って処理するときに使える。Mapnik XML よりも簡単な CartoCSS 言語を使う。
  • VTM – プラットフォーム共通型のベクター地図タイルのレンダリング機能。開発担当は OpenScienceMap プロジェクト

関連項目