wikidatacoords


local p = {};  -- Значения аргументов по умолчанию local defaultArgs = { ['lat_deg'] = '', ['lat_min'] = '0', ['lat_sec'] = '0', ['lat_dir'] = 'N', ['lon_deg'] = '0', ['lon_min'] = '0', ['lon_sec'] = '0', ['lon_dir'] = 'E' };  -- Соотношение именованных и числовых параметров local argsMap = { 'lat_deg', 'lat_min', 'lat_sec', 'lat_dir', 'lon_deg', 'lon_min', 'lon_sec', 'lon_dir' };  -- Метод вызывает шаблон, добавляя к параметрам координаты из Викиданных function p.execTplWithCoords( frame ) local moduleWikidata = require( 'Амодул:Wikidata' );  local pFrame = frame:getParent(); local args = mw.clone( pFrame.args ); setmetatable( args, nil );  local template = mw.text.trim( args[1] ); args[1] = nil;  if not args.lat_deg or args.lat_deg == '' then -- Получение координат из Викиданных frame.args = { ['property'] = 'p625', ['plain'] = true }; local coords = moduleWikidata.formatProperty( frame ); coords = string.gsub( coords, ''', '\'' ); coords = string.gsub( coords, '"', '"' );  -- Преобразование координат в значения отдельных параметров coords = mw.text.split( coords, ', ', true ); local lat = coords[1]; local lon = coords[2]; if lat and lat ~= '' then args.lat_deg = string.match( lat, '%d+°' ); args.lat_min = string.match( lat, '%d+\'' ); args.lat_sec = string.match( lat, '[0-9%.]+"' ); args.lat_dir = string.match( lat, '[NS]' ); end if lon and lon ~= '' then args.lon_deg = string.match( lon, '%d+°' ); args.lon_min = string.match( lon, '%d+\'' ); args.lon_sec = string.match( lon, '[0-9%.]+"' ); args.lon_dir = string.match( lon, '[EW]' ); end end  -- Установка значений по умолчанию for name, value in pairs( defaultArgs ) do     if not args[name] or args[name] == '' then     args[name] = value;     end     args[name] = mw.text.trim( args[name], \'" ' ); end  -- Если во втором параметре указан формат вывода if args[2] then local outType = mw.text.trim( args[2] ); if outType == '12345678' then for i, name in ipairs( argsMap ) do args[i] = args[name]; args[name] = nil; end end end  return frame:expandTemplate{ title = template, args = args }; end  return p; 

🔥 Trending searches on Wiki Аԥсуа:

1532Қарҭ1514Қырҭтәыла7Жәабранмза 21ЖәаҩаУбириа (аҵакырацәара)Нанҳәамза 141943ЖьҭаарамзаМексикаСан-Хосе (Коста-Рика)1818Вашингтон, ЏьорџьАгеографиатә акоординатқәа786Араб бызшәаАрнауҭтәылаГерманиа18321838Аԥснытәи Автономтә Советтә Социалисттә РеспубликаУ́1919Ҳ. ҟ. 1799ПицундаАгәабзиарахьчара адунеизегьтәи аиҿкаараСанкт-ПетербургБзыԥҬурқменисҭанҚьырса ныҳәаГаграАгагауз бызшәаДаниаСамцхе-ЏьавахеҭиТҟәарчалДауҭиа, Валери Константин-иԥаКонисковолиаАԥсны1198Путин, Владимир Владимир-иԥаАҩадатәи аокеан ҵааршәАкилограмм1746НигериаАиакут бызшәаБарцыц, Олег Мсас-иԥа1990Зурабишьвили, Саломе Леван-иԥҳа1733БелоруссиаБелоруссиа ақалақьқәа рсиа🡆 More