मोड्युल:Geobox coor
स्वरूप
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Lua error in package.lua at line 80: module 'Module:Transclusion_count/data/G' not found.
Usage
[स्रोत सम्पादन]This template's documentation is missing, inadequate, or does not accurately describe its functionality and/or the parameters in its code. Please help to expand and improve it. (May 2016) |
This Lua module is used by template {{Geobox coor}}.
{{#invoke:Geobox coor|coord}} (coordinates)
This module has not been added to any categories. Please help out by adding categories to it so that it can be listed with similar modules. (May 2016) |
-- this module implements [[template:geobox coor]]
local geobox_coor = {}
local coord_mod = require("Module:Coordinates")
local function isnotempty(s)
return s and s:match( '^%s*(.-)%s*$' ) ~= ''
end
-- Wrapper function to grab args (from Module:Coordinates),
-- see Module:Arguments for this function's documentation.
local function makeInvokeFunc(funcName)
return function (frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Template:Geobox coor'
})
return geobox_coor[funcName](args)
end
end
geobox_coor.coord = makeInvokeFunc('_coord')
function geobox_coor._coord(args)
local tstr = args['9'] or 'type:other'
local dstr = isnotempty(args['title']) and 'inline,title' or 'inline'
local lat_dir = isnotempty(args[4]) and args[4] or 'N'
local lon_dir = isnotempty(args[8]) and args[8] or 'E'
local prefix = args['prefix'] or ''
local suffix = args['suffix'] or ''
local cname = args['name']
local innerprefix = args['innerprefix'] or ''
local innersuffix = args['innersuffix'] or ''
local cstr = ''
if( isnotempty(args[3]) ) then
cstr = coord_mod._coord(
{args[1], args[2], args[3], lat_dir, args[5], args[6], args[7], lon_dir,
tstr, format = args['format'] or 'dms', name = cname, display = dstr}
)
elseif( isnotempty(args[2]) ) then
cstr = coord_mod._coord(
{args[1], args[2], lat_dir, args[5], args[6], lon_dir,
tstr, format = args['format'] or 'dms', name = cname, display = dstr}
)
elseif( isnotempty(args[4]) ) then
cstr = coord_mod._coord(
{args[1], lat_dir, args[5], lon_dir,
tstr, format = args['format'] or 'dec', name = cname, display = dstr}
)
elseif( isnotempty(args[1]) ) then
cstr = coord_mod._coord(
{args[1], args[5],
tstr, format = args['format'] or 'dec', name = cname, display = dstr}
)
elseif( isnotempty(args['wikidata']) and mw.wikibase.getEntityObject()) then
local entity = mw.wikibase.getEntityObject()
if(entity and entity.claims and entity.claims.P625
and entity.claims.P625[1].mainsnak.snaktype == 'value') then
local math_mod = require("Module:Math")
local precision = entity.claims.P625[1].mainsnak.datavalue.value.precision
local latitude = entity.claims.P625[1].mainsnak.datavalue.value.latitude
local longitude = entity.claims.P625[1].mainsnak.datavalue.value.longitude
if precision then
precision=-math_mod._round(math.log(precision)/math.log(10),0)
latitude = math_mod._round(latitude,precision)
longitude= math_mod._round(longitude,precision)
end
cstr = coord_mod._coord(
{latitude, longitude, tstr, format = args['format'] or 'dms', name = cname, display = dstr}
)
end
else
return ''
end
if(isnotempty(args['wrap'])) then
return prefix .. innerprefix .. cstr .. innersuffix .. suffix
else
return prefix .. '<span style="white-space:nowrap">' .. innerprefix .. cstr .. innersuffix .. '</span>' .. suffix
end
end
return geobox_coor