وحدة:Coordinates/P625
توثيق الوحدة [أنشئ] [محو الاختزان][استخدامات] [قوالب]
local p = {}
-- This is used to get the coordinates of a location (property P625) e.g. 52°31'33"N, 2°4'30"W which is then formatted as 52|31|33|N|2|4|30|W for use in the {{coord}} template
p.getPipedCoords = function(frame)
local propertyID = mw.text.trim(frame.args[1] or "")
local input_parm = mw.text.trim(frame.args[2] or "")
local entity = mw.wikibase.getEntityObject()
if entity then
claims = entity.claims['P625']
if claims then
local coords = entity:formatPropertyValues('P625', mw.wikibase.entity.claimRanks).value
-- remove degrees, minutes, seconds - matches (digit, char) three times then N or S, then (digit, char) three times then E or W
local result = mw.ustring.gsub(coords, "°", "|")
local result = mw.ustring.gsub(result, "%p", "|")
local result = mw.ustring.gsub(result, "||39", "")
local result = mw.ustring.gsub(result, "||34", "")
return result
else
return "0|0|0|N|0|0|0|W"
end
else
return "0|0|0|N|0|0|0|W"
end
end
return p