Naar inhoud springen

Module:OSM

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Polyglot (overleg | bijdragen) op 4 aug 2015 om 13:50. (named arguments werken, Q-itemid wordt in Lua-code bepaald)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
Moduledocumentatie​[bekijk] [bewerk] [ververs] [geschiedenis]

Doel

Genereert een link naar een kaart van OpenStreetMap (OSM).

Gebruik

{{#invoke:OSM|wd}}
{{#invoke:OSM|overpass}}
{{#invoke:OSM|etym}}

Parameters

display
De tekst die getoond wordt
link
Standaard aan, maar kan op no gezet worden voor gebruik in andere sjablonen
id
Kan een of meerdere Q-nummers van een wikidata-item bevatten, zo niet gaat het over het artikel waar het sjabloon werd aangeroepen
coord
Coördinaten en een zoomfactor in het volgende formaat: C=47.0618984;15.4370248;17. Op basis hiervan wordt een gebied bepaald (bbox)
limitToBBOX
Standaard yes. Query bevat dan enkel elementen die binnen dat gebied vallen
prim
Hiermee kan worden aangegeven dat enkel nodes, ways en/of relaties moeten worden opgehaald
query
Dit laat toe om de query uit te breiden, zodat bijvoorbeeld enkel straten of grafzerken worden opgehaald

Testwaarden

Command Expected result Pass/Fail Result
OSM-objecten met afgeleide of verwijzende namen
{{#invoke:OSM|etym|display=Kaart}} Kaart fail Luafout op regel 30: attempt to concatenate field 'linktext' (a nil value)
meerdere wikidata-items
{{#invoke:OSM|wd|display=Vresse en Florenville|id=Q650206;Q713300}} Vresse and Florenville fail Luafout op regel 15: attempt to concatenate field 'linktext' (a nil value)
met coördinaten, wat ervoor zorgt dat het zoeken in een kleiner gebied gebeurt.
{{#invoke:OSM|wd|display=Kerk van Vresse|id=Q20748715|coord=49.71513;5.23446;14}} Kerk van Vresse fail Luafout op regel 15: attempt to concatenate field 'linktext' (a nil value)

local p = {}

function p.wd( frame )
	if frame.args['id'] then
		itemID = frame.args['id']
	else
		itemID = mw.wikibase.getEntityObject().id
	end
	overpassUrl = '(\n'
	overpassUrl = overpassUrl .. 'node["wikidata"="' .. itemID ..'"];\n'
	overpassUrl = overpassUrl .. 'way["wikidata"="' .. itemID .. '"];\n'
	overpassUrl = overpassUrl .. 'relation["wikidata"="' .. itemID .. '"];\n);\n'
	overpassUrl = overpassUrl .. 'out;\n>;\n'
	overpassUrl = overpassUrl .. 'out meta qt;\n'
    return '[http://overpass-turbo.eu/?Q=' .. mw.uri.encode(overpassUrl, "PATH" ) .. '&R ' .. frame.args['linktext'] .. ']'
end

function p.etym( frame )
	if frame.args['id'] then
		itemID = frame.args['id']
	else
		itemID = mw.wikibase.getEntityObject().id
	end
	overpassUrl = '(\n'
	overpassUrl = overpassUrl .. 'node["name:etymology:wikidata"="' .. itemID ..'"];\n'
	overpassUrl = overpassUrl .. 'way["name:etymology:wikidata"="' .. itemID .. '"];\n'
	overpassUrl = overpassUrl .. 'relation["name:etymology:wikidata"="' .. itemID .. '"];\n);\n'
	overpassUrl = overpassUrl .. 'out;\n>;\n'
	overpassUrl = overpassUrl .. 'out meta qt;\n'
    return '[http://overpass-turbo.eu/?Q=' .. mw.uri.encode(overpassUrl, "PATH" ) .. '&R ' .. frame.args['linktext'] .. ']'
end

return p