Jump to content

Help:Extension:Kartographer

From mediawiki.org
This page is a translated version of the page Help:Extension:Kartographer and the translation is 100% complete.
PD 注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。 PD

メインヘルプページ:

拡張機能 Kartographer を使うと、ウィキメディアのウィキ群でページに地図を作ることができます。(静的地図とインタラクティブな地図の両方) このページは Kartographer の使い方の完全版解説文書です。タグ ‎<mapframe> を使って地図をウィキページに直接埋め込んだり、‎<maplink> を使って全ページ大(フルページ)のインタラクティブな地図へのリンクを作成するときに利用可能な多くのオプションについて解説します。そして、Kartographer によってサポートされるGeoJSON 要素についても触れています。 このページのいちばん下まで見ていくと、サンプルがたくさん載っています。

Kartographer と OpenStreetMap に関する全般的なヘルプは、Help:Extension:Kartographer/OSM をご参照ください。

Kartographerの使い方

Kartographerを使っているページを探す

Kartographer地図を含むページを探すには、insource:mapframeで検索してください。

近くの場所の記事を表示

全画面表示した地図のスクリーンショット。地図の下に、[近くの場所の記事を表示]というラベルのボタンがあります。
全画面表示した地図での"近くの場所の記事を表示"ボタン
全画面表示した地図のスクリーンショット 灰色の丸いマーカーがいくつかあり、赤い標準的なマーカーが1つある。 それぞれの丸いマーカーは、記事名、説明、画像を含むポップアップを表示します。
Kartographer 地図に手動で追加された赤いマーカーとその付近の記事

全画面表示モードでは、"近くの場所の記事を表示"ボタンをクリックすると、地理的に近い記事を最大100個まで地図上のマーカーとして表示できます。 特定の場所に複数のピンが立っている場合は、ズームアウト(縮小)するとグループにまとまり、ズームイン(拡大)するとバラバラに戻ります。

マウスで地図を動かしたり、拡大縮小したりするとすぐに、地図は近くの場所の記事を自動的に更新します。

近くの場所の記事は、関連性と近接性を考慮して、現在閲覧しているウィキから生成されます。 近くの記事に対するマーカーは円形です。 これらもちろん、手動で追加したマーカー類も追加して表示し、それぞれ形が異なっています。

近くの記事についたマーカーを押した場合、ポップアップの小窓は対応する記事の題名、短い説明文、画像を表示します。 題名をクリックして記事へ移動。 もし記事がウィキデータの項目にリンクしてある場合、ポップアップの小窓はウィキデータに記してある短い説明文を表示します。 地図上の近くの記事を非表示にするには、もう一度「近くの記事を表示」をクリック。

プロジェクトページ(英語)

Kartographerを使って地図を作成する方法

基礎的な地図の構文

ウィキページに直接、地図そのものを入れたり地図へリンクを張るために、Kartographer は2つのタグを提供しています。‎<mapframe> はページ内に地図を埋め込み、クリックすると全画面版のインタラクティブな地図が開きます。‎<maplink> はリッチテキスト形式を作成し(オプションでマーカーを付けることもできる)、全画面表示のインタラクティブな地図にリンクを張ります。

ウィキによっては、これらのタグをテンプレートに内包します。例えばMapbox とか Mapframe とかです。 これらのテンプレートがローカルのウィキで導入されているか、それぞれのウィキの Kartographer ヘルプページで確認しましょう -- ない場合は、この解説文書の通りタグを直接利用します。


‎<mapframe>

Map
San Francisco

‎<mapframe> タグはウィキページに地図を埋め込みます。 タグは空にするか、GeoJSON を含めるかのいずれかでなければなりません。 GeoJSON の記述法は、下記にリソースがあります。

<mapframe text="San Francisco" width="350" height="350" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478" />


‎<maplink>

‎<maplink> タグは全画面表示の地図のリンクを作成します:

<maplink zoom="13" latitude="46.204391" longitude="6.143158"/>

出力結果: 46°12′16″N 6°8′35″E

基本的に、属性やその扱い方は ‎<mapframe> と同様です。小さな相違点は以下にまとめてありますのでご参照ください。

属性

‎<mapframe>‎<maplink> で使う属性は以下のとおりです。

厳密に言うと、必須の属性はwidth(幅)とheight(高さ)だけです(表に * があるもの)。位置を指定しない場合、Kartographer は全世界の地図を呼び出し、指定された大きさで表示します。

zoom が指定されていないとき、 Kartographer は地図中のあらゆるマーカーや地理形状の位置に基づき、最善と考えられるズームレベルを適用します。[1]

各タグ内での使用法: 属性=""

属性 説明 サンプル集
width* ピクセル、"full" 地図フレームの横幅。 "100%" also works as an alias for "full", but no other percentage. width=200, width="full"
height* ピクセル 地図フレームの高さ。 height=300
zoom 0-19 地図の詳細さのレベル。ズームレベル0なら利用可能な地図全域を表示し、ズームレベル19なら最も詳細なレベルで表示します。zoom が指定されていない場合、Kartographer は地図内に存在するあらゆるマーカーや地理形状の位置に基づき、最適と判断される倍率に自動でズームします。 zoom=12
latitude, longitude 10進度 地球上の位置。こちらの GIS ウィキに関する記事を参照すると、詳細がつかめます。指定値がない場合、Kartographer 記事のコンテンツに記述した中心点を割り出そうとします。 latitude=46.204391 longitude=6.143158
align "left", "center", "right" ページ内の当該地図をどの水平位置に置くか。この値の既定はページ言語の書字方向によって定義されます。(RTL=右から左:"left"、LTR=左から右:"right")。値が "left" か "right" の場合には、地図以外のページのコンテンツが回り込みます(詳細はHelp:画像 の当該箇所の説明を参照してください)。 align="right"
mapstyle "osm", "osm-intl" 基本地図 basemap の書式。 ウィキメディア側では現状、使える書式は2つ限定です。 ラベル付き(osm-intl)とラベルなし(osm)。 mapstyle="osm"
lang 言語コード, "local" 地図のラベルやマーカーを記す言語を指定。"local" とは地図で示した地域で使われる母語。注記:全てのラベルを多言語表記できるわけではありません。。詳細は #言語とその補完節をご参照下さい。 lang="es"
alt 代替テキスト 地図から姿勢した画像に対して、代替文を定義。 wgKartographerStaticMapframe を有効にしたウィキ類でのみ動作します。 alt="マンハッタン島の街路図。島のほぼ中心、セントラルパークのすぐ南にあるマーカーはエンパイア・ステート・ビルを示す。"
text wikitext
‎<mapframe>
地図フレームの下のキャプション。指定すると frameless 属性を無視するようになる。
‎<maplink>
クリックすると全画面の地図を表示するリンクのテキストを定義する()。 カスタムテキストが指定されていない場合、12°18′0″N 45°36′0″E のように、リンクテキストには地図の中心の座標が表示される。
text="ニューヨークの地図にエンパイアステートビルの位置をマークした"
frameless ignored
‎<mapframe> のみ
枠なしの画像と同じように、描画した地図にフレーム(枠線、境界線)が付かなくなります。 text 属性が設定されている場合には無視して、フレームを強制的に描画します。この属性は値なしで使うことを意図しています。 いかなる値も無視されます。 特に、frameless="0" が予測どおりに作用しない点に注意してください。 属性ごと除去して対応してください。
frameless
class "no-icon"
‎<maplink> のみ
リンク文字列の前に通常はマーカーがありますが、それを除去。例:<maplink zoom="5" latitude="12.3" longitude="45.6" class="no-icon"/>
class="no-icon"
* = required

自己完結型のタグ(Self-closing tags)

GeoJSON を使わない場合も、 ‎<mapframe> および ‎<maplink> を自己完結型(self-closing)な、スタンドアローンなタグとして使うことができます。

自己完結型:

<mapframe width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013" />

GeoJSON を内包させる:

<mapframe width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013">
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
}
</mapframe>


GeoJSON

Map
自動計数器の複数グループ

タグの ‎<mapframe> および ‎<maplink> は空白でも有効な GeoJSON を記入してもよく、マップに注釈用のマーカーを付けたり、形状を描画したり、マスク領域を適用できます。

この主題は奥行きが広いので、詳細はGeoJSON の全文版の諸元はもちろん、こちらのGeoJSON 入門がお役立ちです。訳注:リンク切れのため別サイト (en)。

以下のサンプル集には、タグ maplink を採用してあります。上記に説明したように、maplink 作成に GeoJSON を採用した場合、その値をそのまま mapframe に流用できるはずです。

マーカー

複雑な地図 - マーカー、記事リンク及び画像

GeoJSON を採用する地図類は、特別の地点を示すために少なくともマーカーを1件含んでいるはずです。 これらマーカーの使用は GeoJSONの属性レベル "properties" に照らし、そのマーカー固有のキーワードと組み合わせます。

Kartographer は、CC0 ライセンスのもとで利用できる Maki iconssimplestyle specification をサポートします。 対応しているアイコンの完全な一覧を参照してください。

<maplink text="Colorado State Capitol with marker icon" longitude="-104.98491" latitude="39.73939" zoom="17">
{
    "type": "Feature", "properties": 
        { 
            "marker-symbol": "town-hall", 
            "marker-color": "46ea5f", 
            "marker-size": "medium"
        }, 
    "geometry": 
        { 
            "type": "Point",
            "coordinates": [-104.98485267162323, 39.73928364167763] 
        }
}
</maplink>

結果: コロラド州議事堂にマーカアイコンを置いた

自動カウンター

地図上の複数のマーカーを、パターンやカウンターを使って命名しグループ化することが可能です。 以下のまとめは、GeoJSONを用いて地図に配置した項目の属性を示します。 詳細は、簡易スタイルの仕様 をご参照ください。

属性 説明
marker-symbol アイコン名, "‑number", "‑letter" 一連のマーカーのラベルは連数順(1、2、3……)なのか、アルファベット順(A、B、C……)なのか決定。

自動付番の「-number」の範囲はそれぞれ1-99 の連数、アルファベットは A-Z。 グループ名を含む「-number-eat」のような形式の場合、複数の連数を生成。
アイコンの名称は必ずこの一覧から取得。

"marker-symbol": "museum"
marker-color hexadecimal color 各マーカーに対する3文字または6文字の16進色彩値。 "marker-color": "#228b22"
marker-size small, medium, large 各サイズの例を参照。 "marker-size": "medium"
title wikitext マーカーがクリックされたとき、"title"の値で指定されたウィキテキストを表示する。 "title": "[[:en:Downtown_Aquarium,_Denver|Downtown Aquarium Denver]]"

description wikitext マーカーがクリックされたとき、"description"の値でウィキテキストが指定した文字列もしくは画像を表示する。 "description": "[[File:Denver-DTA.jpg|150x150px]]"

より広範な例はサンプル集節をご参照ください。

形、線分、点

GeoJSONを使うと地図に注釈として線分や幾何領域、点を追加できます。定義はインラインで書くか、または外部データベースから輸入もできます。

インライン

GeoJSON を使うと、地図の定義の一環として、点(マーカー)、単純な線分、地理的な領域を描画することが可能です。以下の例はFeature オブジェクト内のGeoJSON オブジェクトの"geometry" 属性が含まれます。詳細情報は、全文版のGeoJSON 仕様をご参照ください。

オブジェクト 座標(緯度/経度) 地物 GeoJSON の例 効果
Point 単一の位置 マーカー
"geometry": {
"type": "Point",
"coordinates":
 [-122.629395, 45.505662]
}
LineString 2つ以上の位置 2点を結ぶ線
"geometry": {
"type": "LineString",
"coordinates":
[
 [-122.321777, 47.598526],
 [-122.629395, 45.505662]
]}
Polygon 4つ以上の位置、最初と最後は同一 内部に影を付けたポリゴン
"geometry": {
"type": "Polygon",
"coordinates": [
[
  [-122.365723, 48.209576],
  [-123.947754, 46.949528],
  [-122.695313, 44.776709],
  [-120.629883, 46.573148],
  [-122.365723, 48.209576]
]]}
オブジェクト 座標(緯度/経度) 地物
MultiPoint 複数の位置 複数の位置(マーカー)
MultiLineString 複数組の LineString 位置 複数の線
MultiPolygon 複数組の Polygon 位置 複数のポリゴン

外部データ

Map
アラスカの地理形状

GeoJSON では type 属性の値に ExternalData を指定すると外部の情報源から地理的オブジェクトをインポート可能です。

地図はウィキデータIDさえわかれば、よく普及した地理的オブジェクトを元に書き起こしができます(ウィキデータに SPARQL クエリを走らせる方法でも可能)。 外部から取得した多角形と線は OpenStreetMapデータベースが典拠であり、マーカー座標は直接、ウィキデータから取ってきます。

その上、地図は未加工の GeoJSON ファイルがウィキメディア・コモンズに保存してあり(.mapファイル)直接、リンクできます。詳細は Help:Map Data をご参照ください。

オブジェクト類のレンダリングは外部ソースにあるデータを利用して、以下のように異なる方法で実行します。

  • "service": "geopoint" - マーカーを描画する。
  • "service": "geoline" - 単純な線を描画する。
  • "service": "geoshape" - 内部に影を付けたポリゴンを描画する。
  • "service": "geomask" - ポリゴンを描画して、ポリゴン外のすべてのものに影を付ける。
  • "service": "page" - 有効なGeoJSONを含むウィキメディア・コモンズの .mapファイルへのパス。
外部データにバージョンは付帯できません。
ウィキデータ ID 経由
属性
type ExternalData
service geopoint, geoline, geoshape, geomask
ids ウィキデータの識別子2個以上、カンマ区切り

OpenStreetMap (OSM) データベースにあるポリゴンと線はウィキデータ ID を使ってリンクされます。 ウィキデータ ID が OSM コミュニティに導入されてからまだあまり月日が経っていません。 2025年初頭の時点で、ウィキデータ ID を持つ地物はおよそ 360 万件あります。 https://www.openstreetmap.org/ で自分のものを追加できます – wikidata タグと対応する QID 値を必ず追加するようにしてください。 ポリゴンまたは線は典型的には2日以内に Kartographer で利用可能になります。 詳細な案内は、 Help:Extension:Kartographer/OSM を参照してください。

リンクされた項目が P625 位置座標の文を持つ場合にはマーカーが描画されます。

Map
サルツブルクとエリックスハウゼンの組合せ地図
Map
QID Q667450Q15958518を採用した地標点
<mapframe height="300" width="300" text="Combined map of Salzburg and Elixhausen">
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q34713,Q701153"
}
</mapframe>
<mapframe text="Geopoints using QIDs [[wikidata:Q667450|Q667450]] and [[wikidata:Q15958518|Q15958518]]" latitude="43.74" longitude="7.43" zoom="13" width="400" height="400">
{
  "type": "ExternalData",
  "service": "geopoint",
  "ids": "Q667450, Q15958518"
}
</mapframe>


ウィキデータ クエリ経由
属性
type ExternalData
service geopoint, geoline, geoshape, geomask
query ウィキデータの SPARQL クエリ
ウィキデータクエリサービスで使用する変数名
変数 容認される場面 コメント 必須かどうか
?id geopoint, geoline, geoshape, geomask 必須
?title geopoint, geoline, geoshape, geomask 表題をポップアップ表示 ウィキ文を適用。 省略可能
?description geopoint, geoline, geoshape, geomask さらに文字をポップアップ表示。 ウィキ文を適用。
?geo geopoint 位置座標に限定。
マーカ変数の挙動は 自動計数 の説明のとおり
?marker_symbol geopoint
?marker_size geopoint
?marker_color geopoint
fill と stroke 変数の挙動は styling shapes の説明のとおり
?fill geoshape, geomask
?fill_opacity geoshape, geomask
?stroke geoline, geoshape, geomask
?stroke_opacity geoline, geoshape, geomask
?stroke_width geoline, geoshape, geomask
ポップアップ表示の枠内に画像もしくは対応するページへのリンクを入れたい場合は、これら情報を取り出して見出しや解説欄に書き込みが可能です。
Map
アメリカ合衆国各州の知事と所属党派(クエリ制作
<mapframe longitude="-110" latitude="52" zoom="3" width="400" height="300" text="Governors of US states with their party affiliation">
{
  "type": "ExternalData",
  "service": "geoshape",
  "query": "SELECT ?id ?head (SAMPLE(?img) as ?img_) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat('[[w:', substr(str(?link),31,400),  '{{!}}', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img_), 52, 400), '{{!}}200px]]') as ?description) WHERE { ?id wdt:P31 wd:Q35657 . ?id wdt:P6 ?head . ?head wdt:P102 ?party . BIND(if(?party = wd:Q29468, '0', if(?party = wd:Q29552, '1', '2')) as ?partyId) SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf <https://en.wikipedia.org/> .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel"
}
</mapframe>
Map
公共芸術、ロッテルダムのホーグヴィエット ([1])

ウィキデータ項目IDの代わりに、SPARQLのウィキデータクエリからデータを抽出することもできます。(クエリビルダーを使って、SPARQLクエリを作成することができます。)

<mapframe text="Public art in Hoogvliet, Rotterdam" latitude="51.86" longitude="4.36" zoom="13" width="400" height="400">
{
  "type": "ExternalData",
  "service": "geopoint",
  "query": "SELECT DISTINCT ?id ?geo (?idLabel as ?title) (if(BOUND(?image), concat(?typeLabel, '\\n', '[[File:', substr(str(?image), 52, 400), '{{!}}200px]]'), ?typeLabel) as ?description) (if(?type = wd:Q860861, '#800000', if(?type = wd:Q245117, '#000080', '#008000')) as ?marker_color) WHERE { ?id wdt:P136 wd:Q557141; wdt:P625 ?geo; wdt:P276* wd:Q2103147; wdt:P31 ?type. OPTIONAL {?id wdt:P18 ?image}. SERVICE wikibase:label { bd:serviceParam wikibase:language 'en, nl'. ?id rdfs:label ?idLabel. ?type rdfs:label ?typeLabel} .} ORDER BY ?id"
}
</mapframe>
Map
バスク地方の丘陵要塞、画像とサイズと色を付与
<mapframe width="400" height="300" text="Hillforts in the Basque Country, with image, size and color">
{
  "type": "ExternalData",
  "service": "geopoint",
  "marker-size": "small",
  "query": "SELECT ?id ?geo ?idLabel ?img ?herriaLabel (?idLabel as ?title) (concat(?herriaLabel, '\\n', '[[File:', substr(str(?img), 52, 400), '{{!}}200px]]') as ?description) ('small' as ?marker_size) ('#228b22' as ?marker_color) ('landmark-JP' as ?marker_symbol) WHERE {\n  SERVICE wikibase:label { bd:serviceParam wikibase:language \"eu,es,fr,en\". }\n  ?id wdt:P31 wd:Q744099.\n  ?id wdt:P131*/^wdt:P527 wd:Q47588;\n  wdt:P625 ?geo.\n  OPTIONAL { ?id wdt:P18 ?img .}\n  ?id wdt:P131 ?herria.\n}"
}
</mapframe>


コモンズの地図データ
Map
ニューヨーク市(外部地図類)

コモンズ上に格納されている GeoJSON 形式の地図データは地図上に描画できます。

属性
type ExternalData
service page
title 有効なGeoJSONを含むウィキメディア・コモンズの .map ファイルへのパス。

例:Neighbourhoods/New_York_City.mapこの地図から描画。

詳細情報: Help:Map Data
<mapframe width="300" height="400">
{
  "type": "ExternalData",
  "service": "page",
  "title": "Neighbourhoods/New York City.map"
}
</mapframe>
警告! 警告: 地図読み込みは、現状で ExternalData の連鎖呼び出しに対応していません。 ExternalData の出典にそれ自体が依拠する ExternalData タイプのリソースをとってくると、読み込みは失敗します。 T155927T193458 を参照。
警告! 警告: .map ファイルのファイル名の長さは400文字、ファイルサイズは2MiBを上限とします。 ウィキメディア・コモンズでは、これら制限値を念頭に置き、このページに述べる目的でファイルを作成してください。


マスクレイヤー
Map
ザルツブルクの地図にマスク処理

マスクはちょうど内と外をひっくり返した形状で、同じように指定しますが形状の外側に影が付きます。

<mapframe align="right" height="420" width="420" latitude="47.7992" longitude="13.0482" zoom="11"  text="Map of Salzburg with mask">
{
  "type": "ExternalData",
  "service": "geomask",
  "ids": "Q34713",
  "properties": {
    "fill": "#555555",
    "fill-opacity": 0.5,
    "stroke": "#000000",
    "stroke-width": 1,
    "stroke-opacity": 1
  }
}
</mapframe>
複数のデータ種別を組み合わせる

同一の ‎<mapframe> または ‎<maplink> 要素内で、ExternalData, Feature, FeatureCollection オブジェクトを組み合わせることができ、例えば、外部ソースのオブジェクトの上にタイトルと説明を付けて地物を強調表示できます。

コモンズの地図データは、GeoJSON の並列ブロックにまとめると、他の種類のデータと結合できます。 様々な組み合わせについては#複合タイプを参照してください。

形状のスタイル設定

Map
州間高速I-696号

上記で述べたマーカーのスタイルのほか、これら simplestyle プロパティを線や領域にも次のように適用します。

属性 説明
stroke hexadecimal color 線または輪郭線の色。
stroke-width ピクセル 形状の線の太さ。
stroke-opacity 0.0-1.0 形状の線の透過度を定義。 1 を設定すると実線を描画し、 0 を設定すると不可視。値が大きい(1 に近づく)ほど、線を通して見える背景が少なくなる。
fill hexadecimal color 形状を塗りつぶす色。
fill-opacity 0.0-1.0 塗りつぶす領域の透過度を定義。 1 を設定すると形状内に不透明な領域を描き、 0 は非表示。値が大きい(1 に近づく)ほど、塗りつぶし領域を通して背景は見えにくくなる。


位置が重なる要素

重なっている地図要素は、コードに表示されている順番に描画されます。 もし地図内に交差する線が2本あると、線にfirst と指定した方が他方の線の(beneath)に置かれます。 地図内に描写された要素は全て、この原則に従って表示されます。

サンプル集
Map
長方形、黄色と黒の対角線をそれぞれ定義
ソースを表示
<mapframe text="Defining respectively rectangle, yellow and black diagonals" width="500" height="270" longitude="79.030" latitude="-24.794" zoom="8" align="center">
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0},
"geometry": {
 "type": "Polygon",
 "coordinates": [
 [
   [77.926025390625, -25.150257104114733],
   [80.14251708984374, -25.150257104114733],
   [80.14251708984374, -24.43714786161562],
   [77.926025390625, -24.43714786161562],
   [77.926025390625, -25.150257104114733]
 ]
 ]
 }
 },
{
"type": "Feature",
"properties": {"stroke": "#fffa00","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
   [77.926025390625, -25.150257104114733],
   [80.14251708984374, -24.43714786161562]
 ]
 }
 },
{
"type": "Feature",
"properties": {"stroke": "#000000","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
   [77.926025390625, -24.43714786161562],
   [80.14251708984374, -25.150257104114733]
 ]
 }
 }
 ]
}
</mapframe>

上記の地図用のコードは3つの要素を含み、全てGeoJSONの「feature」機能を使っています。最初のfeatureは「Polygon」で、赤い矩形で示します。これに「LineString」featureが2つ続いています。黄色の線 (#fffa00) は1番目に定義されたので、黒い線 (#000000) の下に表示されます。データが生のGeoJSONあるいはWikidata IDまたは Commonsデータページ由来のいずれであっても無関係に、要素の描画に階層構造が適用される点に注意してください。

下記の地図は最初の例から順序を変えたものです — 黒い線 (#000000) が最初に定義されているので、スタックのいちばん下に移動し、次に不透明度付きで矩形 (#ff0000) を定義して黒線がダークレッドに見えるようにし、それから黄色い対角線 (#fffa00) を定義しています。

Map
黒の対角線、長方形、黄色の対角線をそれぞれ定義
ソースを表示
<mapframe text="Defining respectively black diagonal, rectangle, yellow diagonal" width="500" height="270" longitude="79.030" latitude="-24.794" zoom="8" align="center">
{
  "type": "FeatureCollection",
  "features": [
{
"type": "Feature",
"properties": {"stroke": "#000000","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
 [
 77.926025390625,
 -24.43714786161562
 ],
 [
 80.14251708984374,
 -25.150257104114733
 ]
 ]
 }
},
{
"type": "Feature",
"properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0},
"geometry": {
 "type": "Polygon",
 "coordinates": [
  [
  [
  77.926025390625,
  -25.150257104114733
  ],
  [
  80.14251708984374,
  -25.150257104114733
  ],
  [
  80.14251708984374,
  -24.43714786161562
  ],
  [
  77.926025390625,
  -24.43714786161562
  ],
  [
  77.926025390625,
  -25.150257104114733
  ]
  ]
  ]
  }
},
{
"type": "Feature",
"properties": {"stroke": "#fffa00","stroke-width": 5},
"geometry": {
 "type": "LineString",
 "coordinates": [
 [
 77.926025390625,
 -25.150257104114733
 ],
 [
 80.14251708984374,
 -24.43714786161562
 ]
 ]
 }
 }
 ]
}
</mapframe>

GeoJSON のリソース類

脚注

ガイド

ツール類と編集機能

ウィキボヤージュのグループ

グループ機能はウィキボヤージュ・プロジェクトでのみ利用できます。

ウィキボヤージュ プロジェクトでは、ページ内の他の場所でデータが定義されている地図を表示する必要があります。 観光名所(POI=points of interest)が‎<maplink> タグで指定してあって複数ある場合、ページの右か左に置いた1枚の地図の中に全て表示されます。 (ザルツブルク(Salzburg)を使ったサンプルを参照してください。)

グルーピングにより、編集者は複数の ‎<mapframe> および ‎<maplink> タグ間でデータを共有できます。

通常、‎<mapframe> タグや ‎<maplink> タグの中のデータは、そのタグで作成された地図上にのみ表示され、それ以外の場所には表示されません。

ところがウィキボヤージュでは、‎<maplink> タグに属性 group="..." が含まれる場合、それらのタグが内包するデータは同じグループ名の付いたその他のデータと共に、名称付きのグループに格納されます。 グループ名が同じタグは、単一の地図データ上に表示されます。各タグはそのグループに順次、データを追加します。

ウィキボヤージュ上で各 ‎<mapframe> タグは、そのタグで指定されたグループを表示する埋め込み地図を表示します。

show="..." 属性を指定すると、地図にその他のグループを表示できます。 グループ名を複数与えるには、半角カンマで区切って指定します。 グループ名には、ラテン文字の小文字のみ含めることができます。 このグリッドは、それぞれのタグに表示するデータを示します。

例:

<maplink>                               -- shows 1
<maplink group='food'>                  -- shows   2   4       8   10
<maplink group='bar'  show='bar'>       -- shows     3           9
<maplink group='food' show='bar'>       -- shows   2 3 4       8 9 10
<maplink              show='bar'>       -- shows     3   5       9
<maplink              show='food,bar'>  -- shows   2 3 4   6   8 9 10
<mapframe>                              -- shows             7
<mapframe group='food'>                 -- shows   2   4       8   10
<mapframe group='bar'  show='bar'>      -- shows     3           9
<mapframe group='food' show='bar'>      -- shows   2 3 4       8 9 10
<mapframe              show='bar'>      -- shows     3           9    11
<mapframe              show='food,bar'> -- shows   2 3 4       8 9 10    12
ウィキボヤージュのページでもテンプレート内で ‎<mapframe>‎<maplink> にラッパーを採用。 Consult Mapshape, Listing and See for a good starting place.

言語とその補完

Kartographer 地図に記してあるラベルは、OpenStreetMap というオープンソースの地図プロジェクトから採用しています(https://www.openstreetmap.org/)。 既定では、Kartographer は地図の埋め込み先のウィキページと同じ言語で地図ラベルを表示させようとします。 当該の言語に非対応の場合、地図は掲載先のウィキページに設定された補完用言語(フォールバック言語)を採用し、該当しないものは当該の地図領域の Kartographer 地図に指定のある地域言語を使います。 左記のどれも使えない場合、Kartographer はラベルを全く表示しません。

ラベルに使う言語の設定は属性langを使い、設定値に希望する言語コードを指定します。日本語(利用可能な場合) でラベルを表示する場合の例: lang="ja"

地図の対象地域の現地の言語を使うには、lang=local を指定します。 OpenStreetMap における多言語データ全般の扱い方と、ラベルに現地の言語を採用するかどうかは、この投稿が参考になります。 Kartographer 地図のデータは対応する全言語用の地図ラベルデータを含め、オープンソースのマッピング・プロジェクトであるOpenStreetMapから得ています。 表示したい地図に希望の言語のラベルがない場合は、自分で OpenStreetMap に追加することで、いつでもその言語のラベルを追加できます。 国名と都市名のラベルは、OpenStreetMap のラベル・ノードから転載してあるため、境界線など凡例と一致しないことがあります。 はじめての人は、ぜひOpenStreetMap初心者ガイド注意事項(英語版:best practices in naming conventions 命名の慣習についてのガイド)などをご参照ください。

簡略型

Map
サンフランシスコの博物館群
<mapframe text="San Francisco museums" width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013">
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
  "properties": {
    "title": "[[w:Exploratorium|Exploratorium]]",
    "description": "[[File:Giant_Mirror_at_the_Exploratorium.jpeg|200px]]",
    "marker-symbol": "museum",
    "marker-size": "large",
    "marker-color": "0050d0"
  }
}
</mapframe>


マーカーと計数器

コロラド州議事堂に市役所マーカ、記事リンクと画像を配置

<maplink text="Colorado State Capitol with a town hall marker, article link and image" longitude="-104.98491" latitude="39.73939" zoom="17">
{
      "type": "Feature",
      "properties": { "marker-symbol": "town-hall", "marker-color": "46ea5f", "marker-size": "medium", "title": "[[w:Colorado_State_Capitol|Colorado State Capitol]]", "description": "[[File:Coloradocapitolhill2.JPG|150px]]"},
      "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }
}
</maplink>


数字入りのマーカー

コロラド州議事堂に数字マーカを置いた

<maplink text="Colorado State Capitol with a number marker" longitude="-104.98491" latitude="39.73939" zoom="17">{ "type": "Feature", "properties": {  "marker-color": "228b22", "marker-symbol": "-number"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>


文字入りのマーカー

コロラド州議事堂に文字マーカを置いた

<maplink text="Colorado State Capitol with a letter marker" longitude="-104.98491" latitude="39.73939" zoom="17">{ "type": "Feature", "properties": {  "marker-color": "508e33", "marker-symbol": "-letter"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>


feature collection内に複数のマーカー

デンバーの遊園地

<maplink text="Denver Amusements" longitude="-105.01247406005858" latitude="39.74956567318853" zoom="14"> {"type": "FeatureCollection", "features":  [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.00768899917603, 39.74859230437501] }, "properties": { "title": "[[w:Pepsi_Center|Pepsi Center]]", "marker-color": "420617", "marker-symbol": "-letter-see", "marker-size":"small"} }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01238822937012, 39.7526011757416] }, "properties": { "title": "[[w:Downtown_Aquarium%2C_Denver|Downtown Aquarium Denver]]", "marker-color": "508e33", "marker-symbol": "-letter-see","marker-size":"medium", "description": "[[File:Denver-DTA.jpg|150px]]" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01247406005858, 39.74956567318853] }, "properties": { "title": "[[w:Confluence_Park|Confluence Park]]", "marker-color": "0d2751", "marker-symbol": "-letter-see", "marker-size":"large" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01646518707275, 39.74656303364532] }, "properties": { "title": "South Platte Bike Trail", "marker-color": "61b9e2", "marker-symbol": "-number-see", "marker-size":"medium" } },]}</maplink>


グループ別の自動計数器
Map
自動計数器の複数グループ
ソースを表示
<mapframe text="Several groups of automatic counters" width="350" height="350" zoom="13" longitude="-122.39902496337889" latitude="37.80151060070086">
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.41816520690917,
          37.79097260220947
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.40786552429199,
          37.799654055191525
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.40185737609865,
          37.796262984039544
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.38743782043457,
          37.80535070427755
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number",
        "marker-color": "302060"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.38005638122557,
          37.795449103799726
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.40941047668457,
          37.81850557172186
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.40357398986815,
          37.81280993744834
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-letter",
        "marker-color": "208020"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.39842414855956,
          37.8071138637568
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.41181373596191,
          37.78595317184089
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.39542007446289,
          37.787674400057654
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "marker-symbol": "-number-bar",
        "marker-color": "f01080"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.38649368286131,
          37.78401144262929
        ]
      }
    }
  ]
}
</mapframe>


ExternalData

ウィキデータ識別子 QID

コロラド州の外郭

<maplink text="State of Colorado, outlined" zoom="7" > { "type": "ExternalData", "service": "geoshape", "ids": "Q1261" } </maplink>


ウィキデータにクエリをかける
Map
アメリカ合衆国各州の知事と所属党派
<mapframe longitude="-110" latitude="52" zoom="3" width="500" height="500" text="Governors of US states with their party affiliation">
{
  "type": "ExternalData",
  "service": "geoshape",
  "query": "SELECT ?id ?head (SAMPLE(?img) as ?img_) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat('[[w:', substr(str(?link),31,500),  '{{!}}', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img_), 52, 500), '{{!}}200px]]') as ?description) WHERE { ?id wdt:P31 wd:Q35657 . ?id wdt:P6 ?head . ?head wdt:P102 ?party . BIND(if(?party = wd:Q29468, '0', if(?party = wd:Q29552, '1', '2')) as ?partyId) SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf <https://en.wikipedia.org/> .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel"
}
</mapframe>


コモンズのマップデータ
Map
Neighbourhoods/New York City (with external data)
<mapframe width="300" height="400">
{
  "type": "ExternalData",
  "service": "page",
  "title": "Neighbourhoods/New York City.map"
}
</mapframe>


複合タイプ
Map
カデロウス市壁(複合タイプ)
<mapframe text="Caderousse city wall" width="300" height="300" zoom="15" longitude="4.75600" latitude="44.10200">
[
  {
    "type": "ExternalData",
    "service": "geoshape",
    "ids": "Q13518258",
    "properties": {
      "stroke": "#ffb100",
      "stroke-width": 6,
    }
  },
  {
    "type": "Feature",
    "geometry": { "type": "Point", "coordinates": [4.75566, 44.104498] },
    "properties": {
      "title": "Porte de Castellan"
    }
  },
  {
    "type": "Feature",
    "geometry": { "type": "Point", "coordinates": [4.75829, 44.10258] },
    "properties": {
      "title": "Porte Léon Roche"
    }
  }
]
</mapframe>


複合タイプのマーカー
Map
Neighbourhoods/New York City (with markers)
<mapframe width="300" height="300" zoom="12" longitude="-73.965278" latitude="40.782222">
[
  {
    "type": "ExternalData",
    "service": "page",
    "title": "Neighbourhoods/New York City.map"
  },
  {
    "type": "ExternalData",
    "service": "geoshape",
    "ids": "Q160409",
    "properties": {
      "fill": "#07c63e", "title": "Central Park"
    }
  },
  {
    "type": "Feature",
    "properties": {"title": "Roosevelt Island", "marker-color": "f01080"},
    "geometry": {
      "type": "Point",
      "coordinates": [
        -73.94511222839355,
        40.76734665426719
      ]
    }
  }
]
</mapframe>


SPARQL クエリを使った複合タイプ
Map
手動クエリ済みの鉄道(SPARQL)
<mapframe width="300" height="300" text="Manual railway and queried stations">
[
{
"type": "ExternalData",
  "service": "geopoint",
  "properties": {
        "marker-symbol": "rail",
        "marker-color": "302060" },
  "query": "SELECT ?id ?geo ?idLabel (?idLabel as ?title)  WHERE { ?id wdt:P81 wd:Q1760190 ; wdt:P31 wd:Q2175765; wdt:P625 ?geo . SERVICE wikibase:label { bd:serviceParam wikibase:language 'sv'. } }"
},
{
  "type": "ExternalData",
  "service": "geoline",
  "properties": {
    "stroke": "#AA0000",
    "stroke-width": 3
  },
  "ids": "Q119890957, Q119891049"
}
]
</mapframe>


レンダリングのオプション

以下の表は ‎<mapframe> の地図をウィキページに表示する際にどのように整形できるかを示しています。表内には2つのカラムがあります: 1番目は ‎<mapframe> タグ経由でのインタラクティブな地図、2番目は同じオプションのサンプル画像のレンダリングを示しています。

オプション ‎<mapframe> のレンダリング 画像をレンダリング
  • 書式: frame
  • 配列: undefined
……文字 文字 文字
Map
text text text ...
……文字 文字 文字
text text text ...
  • Format: frame
  • Alignment: none
非対応: 参照先は T157502 ... text text text
text text text ...
  • Format: frame
  • Alignment: left
... text text text
Map
text text text ...
... text text text
text text text ...
  • Format: frame
  • Alignment: center
... text text text
Map
text text text ...
... text text text
text text text ...
  • Format: frame
  • Alignment: right
... text text text
Map
text text text ...
... text text text
text text text ...
  • Format: frameless
  • Alignment: undefined
... text text text Map text text text ...

一貫しないので T157640 を参照。
... text text text text text text ...
  • Format: frameless
  • Alignment: none
非対応: 参照先は T157502 ... text text text
text text text ...
  • Format: frameless
  • Alignment: left
... text text text Map text text text ... ... text text text
text text text ...
  • Format: frameless
  • Alignment: center
... text text text Map text text text ... ... text text text
text text text ...
  • Format: frameless
  • Alignment: right
... text text text Map text text text ... ... text text text
text text text ...

地図をページの全幅で表示するには、 width="full" を使います。

<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478"></mapframe>
Map
枠付きの最大幅の画像(既定)

枠なしで最大幅の画像(文字なし):

<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478" frameless></mapframe>

Map

スタイル

Map
州間高速I-696号(スタイリング)
<mapframe text="Interstate Highway I-696" width="300" height="300" longitude="-83.2297" latitude="42.4883" zoom="9">
{
  "type": "ExternalData",
  "service": "geoline",
  "ids": "Q2108",
  "properties": {
    "title": "Highway I-696",
    "description": "[[File:I-696 near M-10 in 1988.jpg|200px]]",
    "stroke": "#ffb100",
    "stroke-width": 8
  }
}
</mapframe>


関連項目

脚注

  1. Geoshapes は service もしくは属性 geoshape (P3896) 経由で取得