JA:コンポーネント概要

From OpenStreetMap Wiki
Jump to: navigation, search
ウェブサイトやアプリケーションの開発で再利用可能なライブラリについては、Frameworksを参照してください。
利用できる言語 — Component overview
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
その他の言語このウィキの翻訳を支援してください

このページは、開発者に、OpenStreetMap の論理システムやコンポーネントの技術的概要を提供するためのものです。

ダイヤグラム

ダイヤグラム

データベース

データベースは、全てのマップデータを、ノードリレーションウェイの形で、保持しています。詳しくは、Database schemaを見てください。データベースソフトウェアは、 PostgreSQL を使っています。

API

OSM のAPIは、データベースを読み書きする REST ウェブサービスインターフェイス、いわゆる XML over HTTP で、シンプルな URLs をオブジェクトアクセスに、標準的な HTTP レスポンスコードを出力に使います。

他の OSM コンポーネントは、データベースにこのインターフェイスでアクセスします。これは、外部インターネットでも利用できます。

この API ロジックは全て、 OSM フロントエンドウェブサイトと同じく、 Ruby on Rails アプリケーションの一部です。

OSM フロントエンド

ウェブフロントエンドは、 Ruby on Rails アプリケーション(詳しくは、The Rails Portを見てください)で、ビューやモデルがXML APIのそれに添って作られています。標準的な Rail アプリと同じく、データベースと直接接続します。 (APIを呼びません。この接続は上のダイアグラムにはかかれていません。)

このウェブサイトの機能は、スリッピーマップ("view" タブ)やオンラインエディタPotlatch ("edit" タブ)を表示することです。また、ログイン・登録・ユーザーページ・GPSトレース・ユーザー日記・データブラウザ・他の生データ'ブラウズ'ビュー・そして、changeset 履歴ビューも扱います。

スリッピーマップ

詳しくは、スリッピーマップを参照してください。 openstreetmap.org ホームページのメイン地図は、ズームや移動("スリップするような" ドラックできる移動) をさせてくれる Javascript インターフェイスです。 何が起きているかというと、そのウェブサイト(Rail アプリの 'index' ビュー)が、 Leaflet を呼び出しているのです。そうすると、ユーザーが最後に見た場所やURL パラメーターを元にした、緯度と経度を渡します。 Leaflet は、クライアントサイドの Javascript の魔法で、'タイル'イメージをタイルサーバーから取ってきて並べます。

iD

iD は、「編集」タブで現れるオンラインエディタです。再度ですが、 Rails アプリは、「編集」タブのビューがあります。 iD は Javascript で書かれています。これは他のウェブサイトに埋め込んで、ウェブ上の別の場所で構成可能な編集インタフェースのカスタマイズができます。 以前の Potlatch 2(フラッシュを使用)も編集タブのドロップダウンにあります。

タイルとタイルレンダリング

APIから地図データを取ってきて、地図をタイルとして知られているラスタイメージにレンダリングする処理があります。たくさんの新しいタイルをレンダリングして、全地球規模で蓄える必要がありますが、内在する地図データを更新するために、既存のタイルも再レンダリングされる必要があります。

Mapnik

Mapnik は、現在スリッピーマップ標準で表示されるタイルを提供するレンダリングシステムです。レンダリング処理は、'タイル'サーバーの上で走っており、 Mapnik タイルイメージはそのマシーンから提供されています。このレンダラーは postgres データベース (これもタイルサーバーにあります)からデータを取っています。このデータベースは PostGIS 拡張を使って、 Mapnik から期待されているフォーマットでデータを持っています。このフォーマットは、OSM データベースサーバーが使っているデータベースのフォーマットとは、全く違います。Mapnik データベースは、毎分のdiffs を、 osm2pgsql スクリプトを実行させて、データを入力しています。

レンダラー

上記の記述の通り、 MapnikOsmarender と呼ばれるソフトウェアでレンダリングして、スリッピーマップのタイル用のラスタイメージを作っています。レンダラーは、データから地図イメージを臨時的に作るのにも使えます。 私たちのデータをレンダリングする新しい方法を開発するポテンシャル(潜在能力)に制限はありません。 Renderers を見てください。

エディタ

ウェブサイト上の編集タブ (iD) の他にも、別のツールがあり、API経由でOSMデータを編集することができます。リストはEditors を参照。APIは、OpenStreetMapログイン証明書の引渡しを行うことなしに、サードパーティ・ソフトウェアにユーザが認めた許可を含むOAuth 経由での認証を許可します。エディタ・ソフトウェアはウェブベースのアプリケーション、デスクトップ・アプリケーション、あるいは(増えつつある)モバイルアプリ、といった形態を取ることができます。