Sjabloon:Maplink

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Naar zoeken springen
Sjabloondocumentatie​[bekijk] [bewerk] [ververs] [geschiedenis]
Mee bezig Mee bezig
Aan dit artikel of deze sectie wordt de komende uren of dagen nog druk gewerkt.
Klik op geschiedenis voor de laatste ontwikkelingen.
Dit sjabloon gebruikt de OpenStreetMap-tag:

Dit sjabloon voegt een link of frame toe die kaartgegevens toont:

  • kaartgegevens die in het GeoJSON-formaat zijn opgeslagen op Commons
  • punten, lijnen en vlakken (polygonen) op de OpenStreetMap-kaart (OSM).
  • coördinaten, ofwel zelf opgegeven of overgenomen uit Wikidata
  • ruwe GeoJSON-broncode, zo mogelijk overgenomen uit een andere pagina

Hiervoor wordt gebruik gemaakt van:

Opmerkingen[bron bewerken]

  • Indien je een zeer grote/trage kaart wilt invoegen, kan je beter de mapframe-extensie direct aanroepen in plaats van dit sjabloon. Dit vanwege het feit dat het aanroepen de extensie mapfrane via dit sjabloon dan kan resulteren in dat het weergeven van kaart wordt gezien als Lua-tijd, wat er toe kan leiden dat de kaart niet goed wordt getoond doordat de tijd verstreken is (foutmelding op de achtergrond).
  • GeoJSON-bestanden dienen te worden geplaatst op Commons. Creëer daarvoor een nieuwe pagina in de Data:-naamruimte en geef deze de extensie .map Zie voor meer informatie (en) mw:Help:Map Data.
  • Om OpenStreetMap-functies beschikbaar te maken, dient de Wikidata-sleutel toe te worden gevoegd aan de OpenStreetMap-relatie (en 1 of 2 dagen te worden gewacht) – zie voor meer informatie: (en) mw:Help:Extension:Kartographer#External data en mw:Help:Extension:Kartographer/OSM.

* Om een simpele mapframe-kaart te genereren voor infoboxen kan {{Infobox mapframe}} worden gebruikt.

Toepassing[bron bewerken]

Dit sjabloon is bedoeld voor het tonen van punten, lijnen en vlakken (polygonen) op een kaart. Bijvoorbeeld:

  • bezienswaardigheden
  • wegen
  • rivieren
  • metro- of spoorlijnen
  • Scheepvaartbewegingen
  • vliegbewegingen
  • ontdekkingsreizen
  • habitatgebieden van plant- en diersoorten
  • landen en hun deelgebieden (provincies, gemeentes etc.)

Gebruik[bron bewerken]

Basis:

  • Datapagina op Commons:
    {{maplink|from=}} (geef de .map-datapagina aan in from=, waarbij het voorvoegsel 'Data:' moet worden weggelaten)
  • Grenslijn of ander lijnelement op OSM:
    {{maplink|type=line|id=}} (Wikidata-id is alleen verplicht indien een andere Wikidata-pagina wordt gebruikt dan die van het artikel zelf)
  • Vlak op OSM:
    {{maplink|type=shape|id=}} (Wikidata-id is alleen verplicht indien een andere Wikidata-pagina wordt gebruikt dan die van het artikel zelf)
  • Omgekeerd vlak op OSM:
    {{maplink|type=shape-inverse|id=}} (Wikidata-id is alleen verplicht indien een andere Wikidata-pagina wordt gebruikt dan die van het artikel zelf)
  • Punt (coördinaten):
    ...vanuit Wikidata:
    {{maplink|type=point|id=}} (Wikidata-id is alleen verplicht indien een andere Wikidata-pagina wordt gebruikt dan die van het artikel zelf)
    ...vanuit opgegeven coördinaten:
    {{maplink|type=point|coord=}} (geef de coördinaten weer volgens {{coor dec}}, {{coor dm}} of {{coor dms}})
  • Cirkel (gecentreerd op de coördinaten van een punt):
    ...vanuit Wikidata:
    {{maplink|type=circle|radius=|id=}} (Wikidata-id is alleen verplicht indien een andere Wikidata-pagina wordt gebruikt dan die van het artikel zelf)
    ...vanuit opgegeven coördinaten:
    {{maplink|type=circle|radius=|coord=}} (geef de coördinaten weer volgens {{coor dec}}, {{coor dm}} of {{coor dms}})
  • Om de kaart in een frame te tonen dient de parameter |frame=yes toe te worden gevoegd.
    Mapframevoorbeeld
  • Er zijn nog meer parameters beschikbaar voor het aanpassen van de getoonde kaart, zoals |plain=yes om het buitenste frame te verwijderen.
  • Er kunnen met behulp van de parameter overlay ook elementen bovenop de kaart worden getoond, zoals afbeeldingen of een overzichtskaartje.
    Luchthaven Schiphol

Parameterset – datapagina

{{maplink
|display=
|from=
|zoom=
|text=
|icon=
}}

Parameterset – ruwe broncode

{{maplink
|display=
|raw= <!-- liefst via {{Wikipedia:Mapdata/subpagina}} -->
|zoom=
|text=
|icon=
}}

Parameterset – lijnen/vlakken

{{maplink
|display=
|type=
|id=
|title=
|description=
|stroke-color=
|stroke-width=
|zoom=
|text=
|icon=
}}

Parameterset – puntelementen/coördinaten

{{maplink
|display=
|type=point
|id=
|title=
|description=
|coord=
|marker=
|zoom=
|text=
|icon=
}}

Parameterset – cirkels

{{maplink
|display=
|type=circle
|radius=  <!-- in meters, alternatieve parameters zijn beschikbaar voor andere eenheden --> 
|id=
|title=
|description=
|coord=
|marker=
|zoom=
|text=
|icon=
}}

Parameters[bron bewerken]

Voor het tonen van de kaart[bron bewerken]

display
Hoe het sjabloon wordt getoond. Geldige waarden zijn:
inline - default: toont alleen de link in de tekst
title - toont de titellink
inline,title - toont de link in de tekst en de titellink
title,inline - idem vorige waarde (de waarden kunnen dus worden omgedraaid)
text
Alternatieve linktekst (of onderschrift wanneer mapframe wordt gebruikt); default: Map
icon
Met "no" wordt het symbool naast de link weggelaten
zoom
Zoomniveau, van 1 tot 19 (hoe groter, hoe verder ingezoomd); bij leeglaten wordt het zoomniveau automatisch bepaald (dit werkt niet als er maar een punt op de kaart wordt getoond).

Mapframeparameters (alleen bij gebruik in de tekst)

frame
Met "yes" wordt een kaartframe (kader) getoond in plaats van een link
plain
Met "yes" wordt alleen de kaart zonder het omringende frame getoond en zonder onderschrift (de text-parameter wordt dan genegeerd)
frame-align
Positionering binnen de pagina: left, center of right; default: right
frame-width
Breedte van het kaartframe, default: 300
frame-height
Hoogte van het kaartframe, default: 200
frame-coordinates
(of frame-coord)
Optioneel: alternatieve coördinaten voor de initiële plaatsing van de kaart. Gebruik het sjabloon {{coor dec}}, {{coor dm}} of {{coor dms}} om coördinaten te bepalen
(bv. |frame-coordinates={{coor dm|12.34|S|56.78|W}})
. Indien de coördinaten worden leeggelaten, worden de coördinaten opgehaald van Wikidata.
frame-latitude
(of frame-lat)
(wordt genegeerd indien |frame-coordinates= of |frame-coord= is ingevuld)
Optioneel: alternatieve coördinaten van de breedtegraad voor de initiële plaatsing van de kaart.
frame-longitude
(of frame-long)
(wordt genegeerd indien |frame-coordinates= of |frame-coord= is ingevuld)
Optioneel: alternatieve coördinaten van de lengtegraad voor de initiële plaatsing van de kaart.
Als frame-latitude en frame-longitude niet zijn gevuld worden de coördinaten van het frame automatisch bepaald:
  • Gebaseerd op de lijn- en/of vlakelementen: indien aanwezig
  • Vanuit het puntelement: indien |coord= is ingevuld
  • Vanuit Wikidata: indien beschikbaar - voor het object dat is opgegeven met de parameter |id= of voor de pagina waar het sjabloon op geplaatst is
overlay
Een afbeelding of een andere kaart die bovenop de kaart en de bijbehorende elementen wordt getoond (bijvoorbeeld een inzetkaartje met de plek op de wereld). Bv.
|overlay=[[File:Example.svg|140x140px]]
|overlay={{maplink|frame=yes|plain=yes|frame-width=100|frame-height=100|type=shape|id=Q100|frame-align=center}}
|overlay={{Graph:Street map with marks|width=100|height=100|lat=37.8|lon=-122.4|zoom=6|{ "lat": 37.8, "lon": -122.4 }|minimap=false}}
overlay-horizontal-alignment
Horizontale plaatsing van de overlay, ofwel left of right; default: right
overlay-vertical-alignment
Verticale plaatsing van de overlay, ofwel top of bottom; default: bottom
overlay-horizontal-offset en overlay-vertical-offset
Optioneel – aantal pixels dat de overlay wordt verschoven vanaf de rand van de onderliggende kaart, bv. 10 voor een tussenruimte van 10 pixels

GeoJSON-broncode: raw[bron bewerken]

raw
GeoJSON-broncode (het liefst aangeroepen vanaf een subpagina van Wikipedia:Kaartgegevens) en <maplink>-functionaliteit die niet beschikbaar is via de andere parameters. Zie verderop voor meer informatie.

Voor elk element op de kaart[bron bewerken]

Er kunnen meerdere elementen (punten, lijnen en vlakken) worden getoond op dezelfde kaart. Voor elk extra element dient een oplopend nummer te worden toegevoegd aan de parameternaam. Het tweede element krijgt dan bijvoorbeeld |type2=, |id2=, ed. en het derde element |type3=, |id3=, ed. en zo verder.

type
Het datatype. Toegestane waarden zijn:
line – een lijnelement (geoline) van OSM (bv. een weg)
shape – een polygoon (vorm; geoshape) van OSM (bv. een deelstaat of een provincie)
shape-inverse – een geomask-element van OSM (een omgekeerde polygoon - zodat de kaart eronder kan worden getoond)
data – een geoJSON-datapagina op Commons (in dit geval is de parameter optioneel)
point – een punt-element (coördinaten)
named – alle coördinaten met een naam in een pagina of sectie ({{coördinaten}}-sjablonen met een parameter |name= )
circle – een cirkel gecentreerd op de coördinaten van een punt
id
(of ids)
Wikidata-id (Q-nummer) van het punt-element, het Wikidata-id waarmee de lijn of het vlak van OSM is getagd. Meerdere id's scheiden met een komma. Indien de parameter |from= niet gevuld is, wordt het Wikidata-id van de pagina gebruikt waarin het sjabloon maplink wordt gebruikt.
from
De bron van de kaartgegevens:
  • Indien bij type data is ingevuld of dit veld is weggelaten: Het JSON (.map)-bestand van Commons dat moet worden getoond (zonder het voorvoegsel Data:)
  • Indien bij type named is ingevuld: De artikelnaam of artikelnaam#paragraaf waar de 'named coordinates' uit worden opgehaald (werkt alleen indien sjabloon:coord is gebruikt: gebaseerd op module:coördinaten). Indien weggelaten of indien alleen gevuld met #paragraaf wordt het huidige artikel gebruikt.
title
De titel van het element op de kaart (voor elementen op de OSM), deze wordt getoond wanneer er op het element wordt geklikt; standaard is dit de naam van het artikel waarin het sjabloon:maplink is geplaatst. Kan wikilinks bevatten om op door te klikken, maar dit werkt niet altijd even goed.
description
Beschrijving van het element (voor elementen op de OSM), getoond wanneer er op het element wordt geklikt; optioneel. Kan wikilinks en afbeeldingen bevatten (bijvoorbeeld: [[Bestand:voorbeeld.jpg|200px]]) of <br>, maar dit werkt niet altijd even goed.
stroke-color
(of stroke-colour)
Kleurcode (zie bijvoorbeeld Lijst van HTML-kleuren) voor de kleur van het element op de kaart; standaard: #ff0000 (rood)
stroke-width
De breedte van lijnen op de kaart; standaard: 6
stroke-opacity
Transparantie van de lijnen van het element (lijnen of de buitenlijnen van polygonen/vlakken: nummer tussen 0 (volledig transparant) en 1 (volledig ondoorzichtig); default: 1
fill
Kleurcode van de vulkleur van het element (voor polygonen of omgekeerde polygonen); default: #000000 (zwart). Standaard wordt een semi-transparante versie van de kleur gebruikt zodat de kaart eronder nog kan worden gezien.
fill-opacity
Transparantie van de vulkleur van het element (voor polygonen of omgekeerde polygonen): nummer tussen 0 (volledig transparant) en 1 (volledig ondoorzichtig). default 0.5
coord
De coördinaten van een puntelement die moeten worden getoond. Gebruik sjabloon {{coor dec}}, {{coor dm}} of {{coor dms}} om coördinaten op te geven
(bv. |coord={{coor dm|12.34|S|56.78|W}})
. Standaard worden de coördinaten van Wikidata getoond.
marker
Naam van de afbeelding van Maki dat als puntobject wordt getoond. Zie mw:Maps/Icons voor de mogelijke opties. Standaard wordt een markering ('druppel') zonder afbeelding getoond.
marker-color
(of marker-colour)
Kleurcode (hexadecimale waarde) van de achtergrondkleur van de markering. Standaard: 5E74F3 ()
marker-size
Grootte van de markering. small, medium (default) of large.
radius
(of radius_m) of alternatieve parameters radius_km, radius_mi of radius_ft
Straal van de cirkel. Standaard in meters of in kilometers, mijlen (miles) of voet (feet) indien de respectievelijke alternatieve parameter wordt gebruikt.
edges
Aantal hoeken die gebruikt worden bij het opbouwen van de cirkel. Standaard 32. Een hoger aantal zal resulteren in een rondere cirkel, maar gebruiken ook meer Lua-hulpbronnen, waardoor de kans bestaat dat deze niet meer direct vanaf Commons kan worden getoond.

Switchen tussen meerdere kaarten[bron bewerken]

Vanuit de module kan een kaartwisselaar-functie (switcher) worden aangeroepen, die gebruik maakt van MediaWiki:Gadget-switcher.js. Hiermee kunnen meerdere kaartframes over elkaar worden geplaatst, waarbij het gewenste kaartframe (of allemaal) met een keuzeknop kan worden geselecteerd. Met behulp van parameters als zoom, de coördinaten van het frame of het item-id van een element kan worden geswitcht tussen verschillende waarden. Zorg ervoor dat het aantal items in elke lijst hetzelfde is, anders werkt het niet.

Werkwijze:

  1. Gebruik parameter switch om labels te specificeren voor de verschillende opties: een lijst gescheiden door ,, of ; (bij komma's in de labels) of ### (bij puntkomma's in de labels). Elk label krijgt het voorvoegsel "Toon ".
    Voorbeeld: |switch=uitgezoomd, halverwege ingezoomd, volledig ingezoomd
  2. Om een parameter te switchen dient de waarde daarvan omgezet te worden met behulp van SWITCH: gevolgd door een lijst van waarden waartussen moet worden geswitcht, opnieuw gescheiden door ,, ; of ###
    Voorbeeld: |zoom=SWITCH:4,9,14
    De parameters frame, plain en text kunnen niet worden geswitcht
  3. Zorg ervoor dat elke lijst het zelfde aantal items bevat. De positie van een waarde in een SWITCH:-lijst moet overeen komen met dezelfde positie in de lijst van labels die bij |switch= zijn geplaatst.
Voorbeeld:
Boston
{{maplink|frame=yes|type=point|id=Q100|text=Boston|zoom=SWITCH:4,9,14|switch=uitgezoomd, halverwege ingezoomd, volledig ingezoomd}}

Voorbeelden en tips[bron bewerken]

Meerdere elementen[bron bewerken]

Met behulp van meerdere elementen kunnen:

  • externe gegevens worden gebruikt uit zowel Wikimedia Commons als OpenStreetMap
  • verschillende stijlen worden toegepast op verschillende externe gegevenselementen van OpenStreetMap
  • Meerdere links worden opgenomen naar externe gegevens van Wikimedia Commons
Kaart
{{Maplink|frame=yes
|type=shape|id=Q3495894|title=Polygoon|description=Beschrijving van een polygoon
|type2=line|id2=Q1318331|title2=Lijn|description2=Beschrijving van een lijn
|type3=point|coord3={{coor dec|-32|116}}|title3=Punt|description3=Beschrijving van een punt
}}

Locatie van Faridabad in de Indiase deelstaat Haryana
{{Maplink|frame=yes|frame-width=250|frame-height=280|zoom=6|frame-lat=29.185|frame-long=76.225|text=Locatie van Faridabad in de Indiase deelstaat Haryana
|type=shape-inverse|id=Q1174|title=Haryana
|type2=point|id2=Q200663|stroke-width=3|title2=Faridabad
}}

Infoboxen[bron bewerken]

Mapframes kunnen worden ingevoegd in infoboxen. Het is daarbij aan te raden |plain=yes te gebruiken om het buitenste frame te verwijderen.

Voor eenvoudige gevallen met slechts een element kan ook {{infobox mapframe}} worden gebruikt (zie aldaar).

Haarlem
Het centrum van Haarlem met de locatie van de Grote Kerk
{{Infobox plaats
| naam                   = Haarlem
| kaart                  = {{Maplink|frame=yes|plain=yes|frame-align=center|zoom=16|frame-lat=52.381133153528|frame-height=199|frame-long=4.6364092933069|from=Haarlem/Grote Kerk.map}}
| legenda                = Het centrum van Haarlem met de locatie van de Grote Kerk
}}

De parameter raw[bron bewerken]

De parameter "raw" kan worden gevuld met dezelfde inhoud als de volledige functie <maplink>. Met behulp van deze parameter kan:

  • GeoJSON-brondata direct worden aangeroepen
  • Wikidata-zoekopdrachten (queries) worden opgegeven waarmee informatie voor de kaart kan worden opgehaald
  • Sjablonen worden gebruikt: als een kaart GeoJSON-broncode of veel elemenen bevat, kan deze data in een sjabloon worden gezet, waardoor het artikel zelf niet vol komt te staan met deze broncode.

Zie (en) mw:Help:Extension:Kartographer voor instructies.

Voorbeeld van het aanroepen van een sjabloon via de parameter raw[bron bewerken]

Voorbeeldroute

{{maplink|raw={{Wikipedia:Kaartgegevens/Via Salvatoris (Wielenbach)}}|text=Voorbeeldroute}}

(Link naar de subpagina met de GeoJSON-broncode: Wikipedia:Kaartgegevens/Via Salvatoris (Wielenbach))

Voorbeelden van Wikidata-zoekopdrachten[bron bewerken]

Ten countries
{{maplink|frame=yes|text=Ten countries|raw={
  "type": "ExternalData",
  "service": "geoshape",
  "query": "
SELECT * WHERE {
  ?id wdt:P463 wd:Q1065 .
} LIMIT 10
"}
|frame-width=600|frame-height=400|frame-lat=25|frame-long=10|zoom=1
}}

Kaart
{{maplink|frame=yes|raw={
  "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('[[', 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
"}|frame-width=600|frame-height=400|frame-lat=52|frame-long=-110|zoom=3}}

Foutoplossing[bron bewerken]

  • Bij het ophalen van lijnen of shapes uit OSM, kan de 'fill color' of de 'opacity level' van fills of strokes niet worden meegegeven tenzij de |raw= parameter wordt gebruikt.
  • De onderstaande |raw=-parameter werkt niet omdat de accolade voor het sluiten van de GeoJSON naast de accolades voor het sluiten van het sjabloon staat. Dit kan worden opgelost door een spatie tussen beide te plaatsen of beide op een aparte regel te zetten.
{{Maplink|raw= {"type": "ExternalData","service": "geoshape","ids": "Q13518258"}}}