ヘルプ:マップ
註:このページを読む前に、Help:編集の仕方、Help:テンプレートを読むことをお勧めします。
旅行に行く際、目的地の場所をわかりやすく、さらに正確に伝えることができるのは、地図 (Map) です。ここでは、日本語版ウィキボヤージュにおける地図の編集方法について解説します。
はじめに
編集Wikivoyageでの地図は、Kartographerという拡張機能を使用して動作しています(参照)。この拡張機能は、<mapframe>
と<maplink>
という2つの拡張タグを追加しています。これらを使うことによって記事にマップを置いたりそこに何かを描いたりすることができます。しかし、日本語版Wikivoyageはじめ多くのWikivoyageでは、これらのタグをさらに便利・簡単に使えるよう、テンプレートがいくつか作成されています。タグを使わなくてもそれらのテンプレートで地図がかけ、またそのやり方が主流であるため以下ではテンプレートの使い方を解説します。タグの使い方は、こちらをご覧ください。
地図を表示させる
編集まず始めに、地図を表示させてみましょう。Wikivoyageの地図には種類が2種類あります。1つずつ見ていきましょう。
Mapframe
編集まず始めは、Mapframeテンプレートを使用した地図です。この地図は、ページに地図の入った枠を表示させることで小さな地図を提供します。呼び出し方は、以下のとおりです。
入力 | 出力 |
---|---|
{{Mapframe}} |
しかし、これだけでは地図は世界規模の縮尺で、全大陸を映していて、場所の案内には到底なりません。これを特定の場所を表示するように調整しなくてはなりません。
このMapframeテンプレートには引数があります。この引数によって、枠の下部分に表示されている文字列や、地図の大きさ、そして上で出た地図の表示する場所を指定することができます。では、具体的にどのように指定するのでしょうか?まず、枠の下部分に表示されている文字列を変えるにはname
引数を使用します。具体的にどのように使うかというと、以下のとおりです :
{{Mapframe|name= <表示したい文> }}
実際にこれを表示してみると :
右のように、表示したい文が枠の下側に表示されるようになりました。
次に、地図の大きさを調整します。地図の大きさを調整するには、zoom
引数を使用します。この引数は、何も指定しなかった場合デフォルトで1になっています。しかし、テンプレート内ではzoom引数に入力された数に1を足したものを大きさに指定しているため、デフォルトの大きさにするためには引数には0を入力する必要があります。また、zoomは通常は、国の場合は5に、県の場合は8(入力値は7)、市の場合は13(入力値は12)にするべきです(それぞれの国・県・市によって大きさが異なるためこれは目安でしかありません)。では、実際にやってみましょう。コードを次のように入力します :
{{Mapframe|zoom=5}}
これを実際に表示してみると、次のようになります :
左のように、地図の大きさが大きくなり、都市の名前が見えるようになりました。
次に、上で挙がっていた地図の表示する場所を変える(地図の中心の位置を変える)ことをやってみましょう。これをするには、2つの引数が必要です。しかし、これらの引数は名前がない第一引数と第二引数ですので、通常は何かを書く必要はありません。ここではわかりやすくするために1=
と2=
をつけてコードを示します。第一引数はlatitude (lat) 、つまり緯度を数値で指定します。この際、指定する緯度の値は必ず10進法で書かなくてはいけないことに注意してください。第二引数はlongitude (long) 、つまり経度を表しています。これも数値で指定し、その緯度は10進法でなければいけません。この2つの引数ですが、それぞれ北緯・東経を前提にしています。そのため、南緯や西経の位置を表す場合、負の数を使ってください。
他にも、align
、つまり表示する位置を記事の右側にするか左側にするか(デフォルトでは右、指定する際はright / leftで指定)やshow
つまりどのピンを表示するかなどの引数があります。適宜使用するようにしてください。
もし記事内で{{regionlist}}を使用する場合、regionlistの中にmapframeを埋め込むことができます(テンプレート:Regionlist/docも参照)。その場合、mapframe
引数にyes
を指定してください。
Geo
編集地図情報源
編集現在一部の機種で正しくリンクがたどれない場合があります。詳細は水茶屋をご覧ください。 |
Wikivoyageの外の地図を利用する手段もあります。Wikivoyageには特別:地図情報源という特別ページが存在し、このページを使用することで外部の地図にアクセスすることができます。「経度緯度」とあるボックスに座標と scale つまり大きさを書いて実行を押してください。すると様々な外部サイトの地図が表示されます。そのリンクをクリックすれば、入力した座標の地点が外部地図で開けたかと思います。
この地図情報源へのリンクを表示するのが{{mapsources}}です。このテンプレートに座標を入力することで、geoと同じ場所にの様にアイコンが表示されると思います。
Mapgroup
編集地図に描く
編集ここでは、Mapframeテンプレートを利用してさらに地図をわかりやすくする方法について説明します。具体的には、地図上にピンを打ったり、範囲を囲んだり、線を引いたりなどです。
ピンを打つ
編集地図にピンを打つには、Markerテンプレートを使用します。ただし、Listing系テンプレートはこのMarkerテンプレートを使用しており、ピンを指す際は基本的にListing系テンプレートを使用してください。
Markerテンプレートは、少なくとも3つの引数の指定が必要です。それは、lat
・long
・name
です。まず、lat
とlong
は、他のテンプレートでも出てきたように、それぞれ緯度と経度を指定します。南緯・西経は負の数を使って表す点もMapframeテンプレートと同じです。そして、name
引数は、そのピンの名前です。ピンは通常観光地などの位置を示すために使われますが、観光地のピンの場合(MaplayersのSee / Seeの場合)は、その観光地の名前を書いてください。これはそのピンをクリックした際に表示されるポップアップや、記事内のその場所の説明に表示されます。
他の引数も見ていきましょう。Details
引数にYesと書いた場合、地図上のピンをクリックした場合に記事内の詳細の説明へのリンクが表示されるようになります。zoom
引数は、他のテンプレートと同様に地図の拡大・縮小をします。image
引数は、ピンをクリックした場合に表示されるポップアップで、名前の下に写真を表示します。また、url
引数は、その場所の公式HPなどの外部リンクを入れます。
線で囲む
編集範囲を指定して、線で囲むには、Mapshapeテンプレートを使用します。このテンプレートは、指定されたWikidataの項目からその場所の範囲を取り、指定された色で囲みます。線の色だけでなく囲まれた中の部分の色も指定できます。
このテンプレートにも複数の引数があります。title
引数はその範囲が指しているところの名前を書きます。例えば関東地方の東京都の部分を囲んだのであればtitle
引数には「東京都」と入力します。また、type引数にはgeoshape
を記入してください。fill
引数にはその範囲を塗りつぶす色を書きます。最後に、wikidata引数でその場所のwikidataの項目を指定し、範囲を取ってきます。
- ひな形
{{mapshape|title=|type=geoshape[1]|fill=|wikidata=}}
他に、stroke
引数で枠線の色を指定でき、stroke-width
引数で枠線の太さを指定できます。wikicommons
引数、group
引数も使用できます。
線を引く
編集地図上に線を引くには、Mapshapesテンプレートを使用します。このテンプレートの第一引数にwikidataの項目名を入れることで、wikidataにある情報を取り、地図上に描くことができます。また、stroke-width
引数によって、線の幅を指定することができます。default-color
引数では、引くラインの色を指定できます。なお、色を指定する際には#
は抜いた6桁の数字で色を指定してください。
複数個の地図
編集さて、ここまで地図に色々な情報を載せる方法を紹介してきましたが、情報量が多くなると、1つの地図上では煩雑になってしまいます。こういった際には、記事に複数の地図を張り、観光地と食事処はそれだけの地図というものを作成したりしたほうが見やすくなります。そのためには、{{mapgroup}}とgroup
引数・show
引数が便利です。mapgroupテンプレートに関しては、mapframeと同様の機能を持っています。1点違いがあるとすれば、groupを指定することができ、1種類の地図しか表示できないmapframeと違って1記事内で違う絵画が行われた複数のマップを表示させることができます。以下では、まず殆どのテンプレートに共通な2つの引数を解説し、その後に実際の使用例を見ていきます。
- group
この引数は、地図上に書かれるものを1つのグループにします。mapframeではこのグループを指定して、そのグループに属しているものだけが描かれるようにできます。
例えば、marker4つとmapshape2つがある記事で、それらのうちmarker3つとmapshape1つが「example」というグループに属していたとします。すると、何も指定していないmapframeではmarker1つとmapshape1つのみが表示され、exampleというグループを指定したmapframeではmarker3つとmapshape1つが表示されるようになります。
- show
この引数は、地図に表示させるものを、その種類で指定します。種類というのは例えば seeであったり、 doであったり、そういったものです。デフォルトでは、全ての種類が表示されるようになっています(全ての種類とは、{{maplayers}}にあるものです)。
それでは実際に具体的な使用例を見てみます。
入力 | 出力 |
---|---|
{{mapframe|name=mapframe|35.66322|139.75078|zoom=9}} {{mapgroup|name=mapgroupのgroup1|group=group1}} * {{marker|type=city|name=都市1|lat=35.7911|long=139.7763}} * {{marker|type=city|name=都市2|lat=35.8322|long=139.7041}} * {{marker|type=city|name=都市3|lat=35.7998|long=139.7340|group=group1}} * {{see|name=観光地1|lat=35.7899|long=139.7704|group=group1}} {{mapshape|title=図形1|type=geoshape|fill=#a6e829|wikidata=Q7473516}} {{mapshape|title=図形2|type=geoshape|fill=#98a01e|wikidata=Q1490}} {{mapshape|title=線1|wikidata=Q693036|type=geoline|stroke=#9ACD32}} {{mapshapes|Q682894|group=group1}} |
便利ツール
編集- 条件文
日本語版Wikivoyageには、dd2dms
とdeg2dd
という、2つの条件文があります。dd2dmsは度数を10進数に、deg2ddは10進数を度数にそれぞれします。
また、地図に関する計算のシステムファイルMapSources_math.php
を拡張して便利な機能を追加したものとして、モジュール:Coordinatesがあります。基本的にはこのモジュールは記事本文で使わずにLuaを使用して読み込んでください。
技術情報
編集Mapテンプレートは、一部でモジュール:Mapが使用されています。具体的に、このモジュールを使用しているテンプレートは以下のとおりです :
また、テンプレート:Mapshapesにはモジュール:Mapshapesが使用されています。テンプレートエラーが発生した場合、以上のモジュールも確認してください。
コモンズには、地図の情報がJSON形式で保存されています(例:data:Japan.map)。これを呼び出して表示するためには、Luaでmw.ext.data.get()
を使用することができます。日本の例では以下のように使用します:
local mapdata = mw.ext.data.get('Japan.map')
脚注
編集- ↑ 或いは
geomask