Wikivoyage:動的地図

提供:ウィキボヤージュ


{{tl|see also | 1=en:Wikivoyage:How to draw static maps | 2=en:Wikivoyage:Dynamic maps Expedition }}

パンくずリストが追加・除去されると動的に更新する地図を使いたいですか? このページで解説しましょう。

動的地図を埋め込むには[編集]

地図
動的地図の地図
Map of 動的地図

ページ内に表示しようとする箇所に {{Mapframe}} テンプレートを記入すると、既定でページ右側に表示されます。通常は「移動する」(Get around)という見出しのすぐ次の行に置き、ページのすぐ冒頭に表示されるようにしてください。

構文は以下のとおりです。

{{tl|Mapframe|latitude|longitude|zoom=数値|height=数値|width=数値|staticmap='ファイル名|align=配置}}

注意点をご覧ください。

  • latitude(緯度)欄には緯度座標を10 進数で記入(小数点以下2から5桁)。6.78 または 23.54321。
  • longitude(経度)欄には経度座標を10 進数で記入(小数点以下2から5桁)。
  • Mapframe とパンくずリストとの違いは、前者では座標の前に lat= または long=書かない点です。
  • zz(数値)欄には整数の数値 1 から 18 までを記入し、地図が最初にページ上に表示される拡大率またはズーム・レベルを指定(これは地図リーダー側で調整可能)。多くの場合、集落にはズーム・レベル 13–15 が適します。オプション - 既定値 14。
  • (緯度、経度)とズームを省略した場合、{{mapframe}}の縮尺と位置がデフォルトで設定され、単体で表示中の記事のすべての見どころ(POI)が地図上に収まります。通常は、デフォルト処理で十分です。
  • nnn(数値)欄は、埋め込み地図をページ上に表示する幅と高さを指定(ピクセル単位)。オプション - デフォルトは高さと幅は両方とも 420 ピクセル。
  • 画像ファイル名 image file 欄は任意であり、静的地図画像のファイル名を指定、ファイルは通常 png または svg 形式。オプション - この値を指定すると、地図フレームの下隅にハイパーリンクが追加され、「静的地図を表示」という文字列を表示。
  • align(配置)欄には地図フレームを置くページの位置を指定。オプション - 既定では右揃え(他の値は左「left」、なし「none」(必要なら中央 center も可))。
  • group 欄は追加パラメーター。地図上に表示するマーカーを1件ごと指定。(リスト、観る、する、買う、食べる、飲む、泊まる)

色付きのアイコンは中の白抜きの数字を1から順に増やしてあり、動的な地図上に自動的に表示されます。これはパンくずリスト内の「見どころ」(PoI=Point of Interest)のうち、緯度経度 の両方を指定したもののみ抽出しており、またアイコンの色や形は見どころ(PoI)の属性を反映しています。

もっと詳細な情報を盛り込むには?[編集]

地図を追加しようとしている場所の詳細が足りないと感じるのは、おそらく、実際には幹線道路が数十本あるのにたった1本しか地図に表示していない場合があり得ます。基本となる地図データだけでは情報が十分でない状態を意味しており、外部サイトのOpenStreetMap(オープンストリートマップ)を開いて、そちらのiD エディタもしくは、その他の地図画像エディタの JOSM などを使います。道路や建物を追加するには、衛星画像をトレースします。道路に名前の表示がない場合は、付け加えます。

ちょっと自分ではできそうもないと思ったら、プロジェクト:動的地図を増やそう(Dynamic maps Expedition) (英語版またはWikivoyage:地図追加の要望 (英語版に相談してみると、OpenStreetMap へ希望の地物を加筆してくれるかもしれません。

Geo テンプレート[編集]

ファイル:En:Map numbers and iframe.png
Inserting a Mapframe

画面上部に という小さな地図アイコンが置いてあるのに気づきましたか? このアイコンは記事に含まれた地域に対応する大きな地図にリンクしています。表示されていないと思ったら、GeoMap を開き、左側にある Geo オプションを選択すると、{{geo}} テンプレートにデータが渡されます。例={{geo|1.3421|129.0122|zoom=14}}。数値は都市または地域の中心を示し、zoom 値は地図の縮尺を決定します。「1」なら地球全体、「18」は都市の街区レベルを示します。

画像を追加する[編集]

地図の上のポプアップ画像

「パンくずリスト」(listing)には、画像の属性を追加できます。見どころ(PoI)をクリックしたとき、動的地図上の所在の位置に小さな画像をポップアップ表示します。このプレビュー画像をクリックすると拡大表示します。

構文: image=filename

例:
{{listing | name=Tourismus-Amt | ..... | image=Hornburg Tourismus-Amt.jpg | ..... }}

{{see | name=Old Faithful | ..... | image=Old Faithful Rainbow.jpg | ..... }}
.... = その他のパラメーター: | lat= | long= | etc | etc

動的地図はどこに置くの?[編集]

見出しの「出かける」のすぐ次の行に記入してください。

そこに配置すると、ウィキボヤージュのモバイル版を使用している人は(導入部の段落を除き見出しのみ表示して本文は折りたたんで表示)、動的地図を開くには、どの見出しをクリックすると良いか理解できます。何らかの理由で別の場所に配置する場合には、理由を必ず編集要約欄またはその記事のトークページで説明してください。

ジオコーディングとリスティング[編集]

なぜ数字入りのアイコンを使うの?[編集]

ウィキボヤージュでは地理座標に10進数を採用しています。それぞれのリストは地図上の位置を表す緯度と経度という一意の数値のペアを記入してください。これらは別名、地理データや座標、緯度経度または短縮形の緯度と経度とも呼ばれます。「ジオコーディング」とは、見どころ(PoI)の地点に座標を追加する作業のことです。

「緯度」(Latitude )とは南北方向、-90.00000° から 90.00000° の範囲を指します。マイナスの緯度は南半球、プラスの緯度は赤道の北を示します。
「経度」(Longitude )とはその位置が本初子午線 0.00000°(イギリスのグリニッチを通過)の東か西か、北極点から南極点までの -180.00000°(西)から 180.00000°(東)の範囲で指定します。

小数点以下の桁は? これらは座標の精度、つまり誤差はどの程度と予想されるか定めます。小数点以下 2 桁の正確さは、最大 500 メートルから 1 キロメートルの範囲だと意味します(赤道の北・南の距離に応じる)。実際には、目的地からのズレが 250–500 メートルある可能性を意味します。「小数点以下 5 桁」だと、誤差は約 1 メートルに減って、小数点以下 6 桁超を指定するとほぼ確実に過剰です。緯度・経度の組み合わせは小数点以下の桁数を同じにしなければなりません。末尾にゼロが必要な場合も同様です。

緯度経度の数値を獲得する[編集]

地理データ(Geodata)はデータとして著作権の対象であり、個人が採取した地理データや OpenStreetMap (OSM=オープンストリートマップ)の緯度経度は他のすべての派生ソースよりも優先されます。可能であれば、出典を明記してください。

ウィキボエジャーにとって最も便利なツールは一方がGeoMap(ジオマップ)、これは特定の地点の座標を非常に迅速かつ簡単に取得する方法です。もう一つのGeobatcher(ジオバッチャー)なら、ウィキボヤージュの記事全体の座標を一気に検索して焦点を絞る方法で、座標の入力もコピー・ペーストもしなくて済みます。

パンクズリストごとに、アイコンの色や形が決まっています。観る、する、買う、食べる、泊まるなどのアイコンは、それぞれの節だけで使ってください。着くその他の節では、通常の{{listing}}テンプレートを使います。

  • 1 観る。 「観る」のパンくずリストの例。
  • 1 食べる。 「食べる」のパンくずリストの例。
  • 1 泊まる。 「泊まる」のパンくずリストの例。
  • 1 パンくずリスト。 「一般」のパンくずリストの例。

見出しごとの自動の番号付けは「1」から始まる点が、一般的な一覧テンプレートの場合とは異なります。後者は記事の最初から最後まで、番号が一意に増えていくからです。

方法1:GPS[編集]

GeoMap

現地に GPS 機器もしくはスマートフォンを持っていき、緯度経度を拾って以下の形式に記入します。例:lat=12.34567 | long=45.67890

方法2:動的地図[編集]

POI の所在地がわかっている場合は、目的のページの右上にある地図アイコンをクリック、poimap2 を開いて動的地図内の特定の場所を右クリック。ポップアップ窓が開いたら座標を確認してコピー、該当するリストに貼り付けます。

方法3:GeoMap[編集]

GeoMap を開き、所在地住所を英文で記入。例= 33, Long Row, Nottingham または Wall Street Bar, Roppongi。検索は多言語対応ですが、用語は OSM 公認に限定されます。赤リンクのマーカーをクリックして変数を表示、これをコピーして記事内にペーストします。

方法4:Geobatcher[編集]

一度に最大 100 個の座標を検索してマッピングするには、Geobatcher を使います。

Geobatcher の使い方
  1. 1番目の欄に都市名と/または国名を記入。
  2. 検索子を Name または Address のどちらにするか選ぶ。Name を選ぶと OpenStreetMap の Point of Interest データベースに照会、Address を指定すると検索は町名表記の空白に依拠します(たとえば、1 Main St と 50 Main St の間に 20 Main St がヒットしないなど)。
  3. ウィキボヤージュの任意の記事で 編集 タブをクリック、広い記事欄にパンくずリストをコピー・ペースト。
  4. Find coords ボタンをクリック。パンくず項目 1 件は通常、1 秒で処理。
  5. パンくず項目の緯度経度がヒットすると地図上に表示、ヒットしないと地図上に「?」記号を表示。
  6. マーカーをカーソルでつかんで正しい位置で離し、位置を訂正。その他のパンくず項目の実際の配置がわからない場合は、?記号を削除ボタンを押す。
  7. 3番目の記入欄には、緯度経度(lat/long)の属性が自動で挿入される。
  8. 3番目の記入欄から、リストをウィキボヤージュの記事に転写して埋めもどす。

おまけ:地図上のテキスト・ボックスを使って OSM を検索すると戻し値の座標が一覧表示され、地図上に赤いマーカーで反映されます。

方法5:ShareMap[編集]

Sharemap org の画面キャプチャ

ShareMap.org - 著作権がクリエイティブ・コモンズで、公開の双方向マッピング・ツール(http://sharemap.org)を使うと、記事の POI の全リストを生成します。この ShareMap は、利用者にとって検索サービス(Nominatim)を簡単に使えるようになる、OSM データをインポートする(ウィザードまたは XAPI クエリ経由)、古いラスター・マップの調整もできるなどの利点があります(CC ライセンスのコンテンツの作成は慎重に願います。)

詳細なチュートリアルは右の画面キャプチャを参照 - http://www.youtube.com/watch?v=Xc5F98q87uo

方法6:OSM[編集]

希望のリスティングを探すには、OpenSteetMap を検索します。次に検索結果を右クリック、「アドレスを表示」を選択。こうすると左側のパネル(2行目)に緯度経度を表示。また個々の POI の位置を取得するには「クエリ機能」を使います。

方法7:Google Maps[編集]

OpenStreetMap と連携する場合、ライセンスの問題がいくつも発生する可能性があり、可能な限りこの方法は回避してください。採用する場合は編要約欄に座標のソースとして必ず Google マップを指定します。

Google マップを開き、取得したい場所を右クリックします。座標はポップアップ ・メニューの一番上の行に表示。値をコピーするには、それをクリック。

形式を度/分/秒(DMS)から変換[編集]

lat=N45°30'0"、long=W73°36'0" など、従来の緯度経度表示の「度/分/秒」形式から変換するには、次の式に当てはめます。

  • X°Y'Z" = X+(Y/60)+(Z/3600)
    • S(南緯)の場合は、lat(緯度)に「-」を追加。N(北緯)は「+」を想定。
    • W(西経)の場合は、long(経度)に「-」を追加。 E(東経)は「+」を想定。

地区とトラックを追加[編集]

シンガポールの任意の地区を地図に表した例。OpenStreetMap のトラックを利用。

地区は地図上のさまざまなゾーンを強調表示するのに役立ち、トラックは旅行者が関心を寄せるハイキング・コースその他の要素を表示します(例=モナコのF1レースのコースの概要)。

OpenStreetMap の地区とトラック[編集]

地区を追加するには、OpenStreetMap データベースから既存のジオメトリを使い、マスクや形状、または線分をレンダリングする方法が推奨されます。詳細は {{mapshape}} テンプレートの説明文書を参照してください。

以下に例を2つ示します。コードの説明:

  • 1行目は記事に地図を追加。地図の中心の座標、ページ上の地図のサイズ、ズーム・レベルを定義。
  • 2行目は OpenStreetMap に適切な Wikidata-ID を照会して地区やトラックを取得。マップ要素をクリックすると、定義済みのタイトルを表示。

例1 - ハイキングルート[編集]

記事の地図と実際の例:サザンリッジ・ウォーク(Southern Ridges Walk

{{mapframe|1.28278|103.79203|width=450|height=300|zoom=13}}
{{Mapshape|type=geoline|wikidata=Q7570434|fill=#FF0000|stroke-width=3|title=サザンリッジ・ウォーク}}

例2 - 地区の境界境界[編集]

記事の地図と実際の例:ハンブルクの地区割り(Hamburg districts

{{Mapframe|width=450|height=450|53.560|10.023|zoom=10|show=go,mask}}
{{Mapshape|type=geoshape|wikidata=Q1554, Q1551, Q1561|fill=#d5dc76|title=[[:en:Hamburg/Neustadt-Altstadt|Neustadt-Altstadt]]}}

Wikivoyage Districtifier というツールは場合によって、地区の概要図の作成に対応します。

任意の地区とトラックを作成[編集]

マップ内に自作の GeoJSON ファイル類を使うには、次の非常に便利な使用例が2つあります。

  1. ハイキング・ルートまたは同様の旅程に基づく要素を追加したいけれど、OpenStreetMap(OSM)には載っていない場合。(例:ストックホルムの歴史めぐり en:Stockholm history tour)。
  2. 公式の地区の境界が OSM 担い、あるいは旅行者にとってはそのような線が無意味な場合。(例:シンガポールアムステルダムなど)。

旅程を考えていて、以下の動画より手軽な方法がよければ、GeoJSON コードを直接、記事内に記入すると旅程用に線分を生成します(en:User:SHB2000/Getting a line on an itinerary)。もちろん、ハイキング・ルートにも応用可能。

GeoJSON データの生成[編集]

個別に地区の境界を作って、動的な地区の概要図を作るには、以下の動画の解説を参照してください。ポリゴンの代わりに線を描くと、同じ作業手順でルートが引けます。

JOSM を使って GeoJSON を作成、ウィキメディア・コモンズへアップロードする方法。高解像度の動画は YouTube を参照
作業手順[編集]

この節は上記の動画に対する付帯の説明 として読んでください。作業手順をしっかり理解するには、動画を視聴します。

1. 地区の概要図を作る
GeoJSON 生成には、ざっと以下の2つの方法があります。
1a. geojson.io のみ
geojson.io を開き、線分もしくはポリゴンを描画、色を着けて題名を決める。GeoJSON ファイルをコピー、次のステップ 2 へ。ただしこの対応方法の欠点は、ノードの合成ができない点。隣り合わせにポリゴン 2 点があるなら、きちんと配置することは困難。1b なら、この問題とは無縁。
1b. JOSM プラス geojson.io(shown in the video)
JOSM を使って必要なポリゴンを描画、拡張子.geojson. を付けてエクスポート。注意点:
  • 拡張子.geojson 付きとしてポリゴンをエクスポートする場合、期待したとおりの挙動をするのは JOSM 上に限定される。ポリゴン自体に説明用タグが付いている場合は、 OpenStreetMap 上の特定の地域に対応(例=landuse=residential)。
  • geojson.io 上で作業しない場合には、JOSM 上でなら1個のポリゴン/線分単位で titlefill タグを指定できる。(例=title=[[:en:Amsterdam/Noord|Noord]] および fill=#000000)。
2. コモンズにアップロード
ウィキメディア・コモンズ に新しい地図を作成、上記の「ステップ1」で生成した GeoJSON コードをコピーペースト。
3. ウィキボヤージュに地図の記事を書き、コモンズに保存された GeoJSON ファイルにリンクさせる。
例:
{{Mapframe|55.95878|-3.18726|width=600|height=550|zoom=13}}
{{Mapshape|type=page|wikicommons=Edinburgh_Districts.map}}
4. mapmasks を作成(オプション)
記事に使う地区地図の不要な範囲を薄墨色に加工するには()、上記「ステップ2」で得た GeoJSON をツールの Mapmask <-> GeoJSON Converter に転写、mapmask コードを生成。

GPXデータの生成[編集]

As an alternative to directly create GeoJSON as described above it is also possible to generate a GPX track and subsequently convert it to GeoJSON. To create a mapmask - theの境界 that designate a 地区() - or GPX tracks for an itinerary() then the following steps are necessary:

  1. Generate the境界 or track data
    Option #1: Download the data directly from OpenStreetMap.org:
    1. Download JOSM, which is an editor for OpenStreetMap data.
    2. Find the境界 or route object in OpenStreetMap that you are interested in. For 例, if looking for cityの境界:
      1. Navigate to the desired city on openstreetmap.org
      2. Click on the "?" icon to query features.
      3. Click on the map at a point you are interested in(for 例, the city name if generating cityの境界)。
      4. After clicking, a list of "enclosing features" will appear in the left nav. Select the feature you are interested in(例: "City境界 city name")
      5. You should then see a view of the selected object, and the left nav will show the境界 type and ID, for 例 "Relation: city nameid)" - remember these values as they will be used in the next step.
    3. In JOSM, go to File → Download Object. Enter the object type and ID that you found on OpenStreetmap. JOSM will then display the object.
    4. Edit the object in JOSM as needed - for 例, if there are extraneous objects they can be deleted. In most cases this step should not be necessary.
    5. In JOSM go to File → Save As, choose "GPX files" as the file type, and use any file name you like.
    Option #2: Create a trace yourself:
    1. Use an appropriate route editor. Do not use Google Maps to trace a境界/track - Google maps licensing is incompatible with the OSM license.
    2. Create a track by clicking the map at different points. Save as mytrack [TRACK].
  2. Go to the Wikivoyage GPX formatter tool and upload the GPX file you just created. This tool will reformat the information into a format that can be consumed by the Wikivoyage map tools. Verify that the map preview shown at the bottom of the page after submitting matches what you expect. If the map is not what you expect you will need to modify the GPX data. If you are not sure what needs to be done ask for help from other Wikivoyage users.

Various third-party utilities may be used to generate GPX traces, which may then be converted to GeoJSON for use in Wikivoyage:

  • GPX online editor. See online help for instructions. Download as a track.
  • http://gpxcreator.com is a free, open-source Java desktop app which displays an OpenStreetMap and allows a user to trace a path, generating a GPX file. Only minor changes(such as a text editor search-and-replace to remove "elevation=0" from each point) are needed to convert these paths into usable format for 旅程.
  • OpenStreetMap provides JOSM as a utility to generate GPX traces, see http://josm.openstreetmap.de/download/josm.jnlp
GeoJSON に変換[編集]

オンラインにあるユーティリティで GPX その他の標準フォーマットから GeoJSON に変換するものがあります。例をあげます。

経路(track)または境界線が互換性のある形式になるとウィキボヤージュで使えるし、さまざまなオプションも使えるようになります。

直接、<maplink> を呼び出して旅程を描画する場合、ロシア全土の例は、シベリア鉄道 (英語版を参照してください。<maplink> の座標はページの末尾にあります。

ウィキメディア・コモンズをデータ源とする方法はサンクトペテルブルク (英語版を例にすると、Data:Saint Petersburg Districts.map から次のようにデータを参照読み込みして実現します。

{{Mapframe|59.92|30.24|30.30|zoom=9|show=other,mask,go}}
{{mapshape|type=page|wikicommons=Saint_Petersburg_Districts.map}}

ところで、テンプレート:GPX(英語)は廃止されました。既存の GPX から得たトレースのうち、拡張機能 Kartographer(英語)導入時にすでにウィキボヤージュで使用中のしていたものは利用者ページの Sandbox/Gpx1Sandbox/Gpx2 に保管してあります。これを記事に埋めもどすには、特定のパラメーター(lat, long, zoom)を除去して - 現行の {{mapframe}} が正しい縮尺と拡張子を自動検出できるようにしてください。一例として、ラブラドール横断道路(en:Trans-Labrador Highway)に読み込むなら、特別差分「en:Special:Diff/3142916/3207633を使います。(ファブリケータのタスク phab:T154908phab:T137677 も参照。)("※"=ラブラドール横断国道500と501の staticmap パラメーター の SVG 地図を解除、show パラメーターに city、route1r、oute2、route3、route4 を指定。)

関連項目[編集]