Hilfe:Erweiterung:Kartographer

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Help:Extension:Kartographer and the translation is 59% complete.

Outdated translations are marked like this.
Other languages:
العربية • ‎অসমীয়া • ‎asturianu • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎עברית • ‎Bahasa Indonesia • ‎日本語 • ‎Ripoarisch • ‎македонски • ‎português do Brasil • ‎русский • ‎سنڌي • ‎svenska • ‎Tiếng Việt • ‎中文
PD Hinweis: Wenn Du diese Seite bearbeitest, stimmst Du zu, dass Deine Bearbeitungen unter CC0 veröffentlicht werden. Siehe Public Domain Help Pages für genauere Informationen.
PD

Diese Seite dokumentiert, wie die Kartographer-Erweiterung zu benutzen ist sowie ihre <mapframe> und <maplink>-Tags.

Erste Schritte

Downtown San Francisco

Dieser Code fügt eine einfache interaktive Karte ein (wie auf der rechten Seite zu sehen), die man mit Doppelklick auf die Karte vergrößern kann oder indem man das Symbol in der rechten Ecke anklickt.

<mapframe text="Downtown [[wikipedia:San Francisco|San Francisco]]" width=250 height=250 zoom=13 latitude=37.8013 longitude=-122.3988 />

Der align-Parameter kann angewendet werden, um die Standard-Ausrichtung nach links, rechts oder in die Mitte abzuändern.

The attribute <tvar|zooms>zoom</> allows for zoom levels between 0 and 19. Zero is the furthest out, 19 the furthest in.


<mapframe> Anwendung

San Francisco museums

Der Inhalt des <mapframe>-Tags muss entweder leer sein oder ein gültiges GeoJSON mit Styling, wie von einem GeoJSON-Editor generiert. Kartographer unterstützt die Simplestyle-Spezifikation mit Maki icons (lizenziert unter Creative Commons Zero).

<mapframe text="San Francisco museums" width=350 height=350 zoom=13 latitude=37.8013 longitude=-122.3988>
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
  "properties": {
    "title": "[[wikipedia:Exploratorium|Exploratorium]]",
    "description": "[[File:Giant_Mirror_at_the_Exploratorium.jpeg|200px]]",
    "marker-symbol": "museum",
    "marker-size": "large",
    "marker-color": "0050d0"
  }
}
</mapframe>

Frames

Frameless maps are good for insertion as part of a template, whereas framed maps are good for insertion directly into the page, either by hand or by using the visual editor.

  • To insert a map without a frame, add the "frameless" attribute: <mapframe frameless ...>
  • To add a caption, use the text="..." attribute.

Note: Adding the text attribute automatically enables a frame, even if there is a frameless attribute.

<maplink>

Ändert man <mapframe> zu <maplink>, wird ein Link zu einer Vollbild-Karte erzeugt. 37°48′37″N 122°23′58″W

<maplink zoom="13" latitude="37.8103" longitude="-122.3995" />

<maplink> akzeptiert auch einen zusätzlichen Parameter "Text", um Linktext anzugeben statt Koordinaten. click me

<maplink text="click me" zoom="13" latitude="37.8103" longitude="-122.3995" />

Der <maplink>-Tag kann das gleiche geojson enthalten wie <mapframe>.

<maplink> und Auto-Counter

Several groups of automatic counters

<maplink> erzeugt einen Link, der nach dem Anklicken eine Vollbild-Karte anzeigt. Der Linktext kann mit dem text-Attribut angegeben werden. Ohne dieser Attribut wird das Wort "map" angezeigt. Wenn eine Karte GeoJSON verwendet, ist marker-symbol auf den magischen ‑number oder ‑letter eingestellt. In diesem Fall wird jedes ‑number ersetzt mit einem inkrementellen Zähler 1, 2, 3... und ‑letter mit A...Z-Werten.

Falls GeoJSON mehr als einen Zähler hat, wird der Wert des ersten als Linktext angezeigt. Optional können Editoren einen Suffix anhängen, um mehrere Zähler gleichzeitig auf der Seite anzuzeigen. Auf diese Art wird ‑number‑museum einen anderen Zähler haben als ‑number‑bar.

Es wäre sinnvoll, für jede Zählergruppe eine eigene Farbe zu benutzen. Alle Daten, die über <maplink> eingegeben werden, werden auch in allen Karten angezeigt mit <mapframe>, außer das group-Attribut wird benutzt.

{{see
| name=Exploratorium | url=http://www.exploratorium.edu/
| lat=37.8013 | long=-122.3988
| content=A great museum
}}

könnte erwertert werden zu

<maplink zoom=9 latitude=37.8013 longitude=-122.3988>
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
  "properties": {
    "title": "Exploratorium",
    "marker-color": "228b22",
    "marker-symbol": "-number-see"
  }
}
</maplink>

Die Attribute zoom, latitude, und longitude steuern den Ort der Popup-Karte. Benutzt $alt für den Hinweistext des Links. Benutzt text für den Linktext (kann jedes gültige Wikitext-Markup sein). Benutzt group, um Inhalte dieses Tags zu einer benannten Gruppe hinzuzufügen (siehe unten).

Gruppen

Warnung Warnung: Die Gruppierfunktion ist nur im Projekt Wikivoyage verfügbar.

Für den Einsatz im Wikivoyage-Projekt muss eine Karte gezeigt werden, die irgendwo anders auf der Seite definiert ist. Beispielsweise könnte es mehrere Sehenswürdigkeiten (POI, points of interest) geben, die mit <maplink>-Tags definiert sind und eine gemeinsame Karte am Rand der Seite, die alle anzeigt.

Das Gruppierungskonzept ermöglicht es Editoren, Daten zwischen mehreren <mapframe> und <maplink>-Tags zu teilen.

Standardmäßig werden die Daten innerhalb des <mapframe> or <maplink>-Tags nur für diesen einen Tag angezeigt und nirgendwo anders.

Wenn <mapframe> oder <maplink> das group="..."-Attribut angeben, kommen die Daten innerhalb dieser Tags in eine neue benannte Gruppe, zusammen mit allen anderen Daten mit dem gleichen Gruppennamen. So werden alle Tags mit dem gleichen Gruppennamen die gleichen Kartendaten anzeigen und jeder Tag kann inkrementell Daten zu einer Gruppe hinzufügen.

Ein Tag kann auch andere Gruppen anzeigen, egal ob er zu einer Gruppe gehört oder nicht, indem das show="..."-Attribut angegeben wird. Mit Komma getrennte mehrfache Gruppennamen können angegeben werden. Der Gruppenname darf nur englische Kleinbuchstaben enthalten. Diese Matrix zeigt, welche Daten für jeden Tag angezeigt werden.

 1 <maplink>                               -- shows 1
 2 <maplink group='food'>                  -- shows   2   4       8   10
 3 <maplink group='bar'  show='bar'>       -- shows     3           9
 4 <maplink group='food' show='bar'>       -- shows   2 3 4       8 9 10
 5 <maplink              show='bar'>       -- shows     3   5       9
 6 <maplink              show='food,bar'>  -- shows   2 3 4   6   8 9 10
 7 <mapframe>                              -- shows             7
 8 <mapframe group='food'>                 -- shows   2   4       8   10
 9 <mapframe group='bar'  show='bar'>      -- shows     3           9
10 <mapframe group='food' show='bar'>      -- shows   2 3 4       8 9 10
11 <mapframe              show='bar'>      -- shows     3           9    11
12 <mapframe              show='food,bar'> -- shows   2 3 4       8 9 10    12

External data

A geoshape of Alaska

In addition to drawing polygons using GeoJSON, you may also get outlines of the well known geographical objects by their Wikidata ID if they are marked as such in the OpenStreetMap database. For example, the Wikidata item for Alaska is Q797, and we can draw it on a map by using the "external data" reference. More than one ID may be specified separated by a comma. To create a mask over the areas of interest, use the "geoshape" service. To invert this and create a mask over everything else, use the "geomask" service.

Die Wikidata-IDs sind in der OSM-Community noch relativ neu. Es gibt lediglich 40.000 Polygone mit IDs. Um neue hinzuzufügen, besuche http://www.openstreetmap.org/ und füge einen wikidata-Tags mit einem Q-Wert hinzu. The data should become available to Kartographer within 2 days. For detailed instructions, see Help:Extension:Kartographer/OSMHelp:Extension:Kartographer/OSM.
<mapframe text="A geoshape of Alaska" width=300 height=300 zoom=3 latitude=64.01 longitude=-152.58>
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q797"
}
</mapframe>


GeoShapes via Wikidata Query

Governors of US states with their party affiliation

While this helps with the simple use cases when the Wikidata ID is well known, sometimes you may want to get a list of IDs as a result of a Wikidata query. A SPARQL query gets a list of all US states in the ID column of the result, and geoshapes service adds the geometrical outlines for each state. All other columns in the SPARQL query result become values in the "properties" object. The "fill" column changes the color of the state. The "title" column shows state governor's name, and "description" has wiki markup to show the state name and the governor's picture. To edit this query, copy the query parameter after the "#" symbol at https://query.wikidata.org/#...:

<mapframe latitude="52" longitude="-110" 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('[[wikipedia:', 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 data from Commons

Further information: Help:Map DataHelp:Map Data

Map data stored on Commons can be drawn on the map. For example, c:Data:Neighbourhoods/New York City.map:

<mapframe width=300 height=400 zoom=11 latitude=40.7920 longitude=-73.9751>
{
  "type": "ExternalData",
  "service": "page",
  "title": "Neighbourhoods/New York City.map"
}
</mapframe>


Combining multiple data types

Caderousse city wall

You can combine ExternalData, Feature, and FeatureCollection together in the same <mapframe> or <maplink> element:

<mapframe text="Caderousse city wall" width="300" height="300" zoom="15" latitude="44.10200" longitude="4.75600">
[
  {
    "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 data from commons can be combined with other types of data:

<mapframe width="300" height="300" zoom="12" latitude="40.782222" longitude="-73.965278">
[
  {
    "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>


Styling

Styling Wikidata ID elements

Interstate Highway I-696

For external data, you can also add styles and titles, using the properties keyword:

<mapframe text="Interstate Highway I-696" width="300" height="300" latitude="42.4883" longitude="-83.2297" zoom="9">
{
  "type": "ExternalData",
  "service": "geoline",
  "ids": "Q2108",
  "properties": {
    "title": "Highway I-696",
    "description": "[[File:I696-1988.JPG|200px]]",
    "stroke": "#ffb100",
    "stroke-width": 8
  }
}
</mapframe>

The main style keys are: "stroke" (color), "stroke-width", "stroke-opacity", "fill" (color), "fill-opacity".

Overlapping elements

Map elements that overlap are drawn in the order in which they are written in the code. For instance, if a map includes two lines that overlap, the line that is defined first will appear beneath the line that is defined second. The following examples show how this can affect the appearance of the map:

The code for the map above includes three elements, all of which use GeoJSON's "feature" functionality. The first feature is a "Polygon" - the red rectangle. This is followed by two "LineString" features. The yellow line is defined first, so it appears beneath the black line. Note that the hierarchy used to draw elements applies regardless of whether the data is raw GeoJSON or comes from a Wikidata ID or Commons data page.

The map below changes the order from that of the first example: the black line is defined first and is thus moved to the bottom of the stack:

Rendering options

The following table shows how a <mapframe> map can be formatted for display on a wiki page. The table contains two columns: the first shows an interactive map via the <mapframe> tag, and the second showing the rendering of an example image with the same options.

Options Rendering a <mapframe> Rendering an image
  • Format: frame
  • Alignment: undefined
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: none
Not supported, see task T157502. ... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: left
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: center
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frame
  • Alignment: right
... text text text
text text text ...
... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: undefined
... text text text text text text ...

Inconsistent, see task T157640.
... text text text Example en.svg text text text ...
  • Format: frameless
  • Alignment: none
Not supported, see task T157502. ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: left
... text text text text text text ... ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: center
... text text text text text text ... ... text text text
Example en.svg
text text text ...
  • Format: frameless
  • Alignment: right
... text text text text text text ... ... text text text
Example en.svg
text text text ...

Internationalization

Map labels for locations are localized. By default the map will be in the same language as the page it is embedded it. If that is not available then the configured fallback(s) in MediaWiki for that language. If the label is not available in that language, then English. Finally, if nothing else is available, then the local name is used.

Translations to the OSM data are welcome.

See also