<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://belgen.info/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikidataCoords</id>
	<title>Модуль:WikidataCoords - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://belgen.info/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikidataCoords"/>
	<link rel="alternate" type="text/html" href="https://belgen.info/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WikidataCoords&amp;action=history"/>
	<updated>2026-06-17T19:59:41Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://belgen.info/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WikidataCoords&amp;diff=698&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://belgen.info/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WikidataCoords&amp;diff=698&amp;oldid=prev"/>
		<updated>2022-12-20T08:44:41Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 08:44, 20 декабря 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://belgen.info/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WikidataCoords&amp;diff=697&amp;oldid=prev</id>
		<title>wiki&gt;Putnik: перепутал условие</title>
		<link rel="alternate" type="text/html" href="https://belgen.info/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WikidataCoords&amp;diff=697&amp;oldid=prev"/>
		<updated>2022-05-11T15:58:11Z</updated>

		<summary type="html">&lt;p&gt;перепутал условие&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {};&lt;br /&gt;
&lt;br /&gt;
-- Значения аргументов по умолчанию&lt;br /&gt;
local defaultArgs = {&lt;br /&gt;
	['lat_deg'] = '',&lt;br /&gt;
	['lat_min'] = '0',&lt;br /&gt;
	['lat_sec'] = '0',&lt;br /&gt;
	['lat_dir'] = 'N',&lt;br /&gt;
	['lon_deg'] = '',&lt;br /&gt;
	['lon_min'] = '0',&lt;br /&gt;
	['lon_sec'] = '0',&lt;br /&gt;
	['lon_dir'] = 'E'&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
-- Соотношение именованных и числовых параметров&lt;br /&gt;
local argsMap = {&lt;br /&gt;
	'lat_deg',&lt;br /&gt;
	'lat_min',&lt;br /&gt;
	'lat_sec',&lt;br /&gt;
	'lat_dir',&lt;br /&gt;
	'lon_deg',&lt;br /&gt;
	'lon_min',&lt;br /&gt;
	'lon_sec',&lt;br /&gt;
	'lon_dir'&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
-- Метод вызывает шаблон, добавляя к параметрам координаты из Викиданных&lt;br /&gt;
function p.execTplWithCoords( frame )&lt;br /&gt;
	local moduleWikidata = require( 'Module:Wikidata' );&lt;br /&gt;
&lt;br /&gt;
	local pFrame = frame:getParent();&lt;br /&gt;
	local args = mw.clone( pFrame.args );&lt;br /&gt;
	setmetatable( args, nil );&lt;br /&gt;
&lt;br /&gt;
	local template = mw.text.trim( args[1] );&lt;br /&gt;
	args[1] = nil;&lt;br /&gt;
	&lt;br /&gt;
	local coord = args['coord'] or nil;&lt;br /&gt;
	if coord == ''  then coord = nil end&lt;br /&gt;
&lt;br /&gt;
	-- Формат вывода&lt;br /&gt;
	local outType = args[2]&lt;br /&gt;
	if outType then&lt;br /&gt;
		outType = mw.text.trim( outType );&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Переопределение 1 и 2 параметра&lt;br /&gt;
	args[1] = args['01'];&lt;br /&gt;
	args['01'] = nil;&lt;br /&gt;
	args[2] = args['02'];&lt;br /&gt;
	args['02'] = nil;&lt;br /&gt;
&lt;br /&gt;
	local isWikidata = false&lt;br /&gt;
	if not args.lat_deg or args.lat_deg == '' and not coord then&lt;br /&gt;
		isWikidata = true&lt;br /&gt;
		-- Получение координат из Викиданных&lt;br /&gt;
		frame.args = {&lt;br /&gt;
			['property'] = 'p625',&lt;br /&gt;
			['plain'] = true&lt;br /&gt;
		};&lt;br /&gt;
		local coords = moduleWikidata.formatProperty( frame );&lt;br /&gt;
		coords = string.gsub( coords, '&amp;amp;#39;', '\'' );&lt;br /&gt;
		coords = string.gsub( coords, '&amp;amp;#34;', '&amp;quot;' );&lt;br /&gt;
&lt;br /&gt;
		-- Преобразование координат в значения отдельных параметров&lt;br /&gt;
		coords = mw.text.split( coords, ', ', true );&lt;br /&gt;
		local lat = coords[1];&lt;br /&gt;
		local lon = coords[2];&lt;br /&gt;
		if lat and lat ~= '' then&lt;br /&gt;
			args.lat_deg = string.match( lat, '%d+°' );&lt;br /&gt;
			args.lat_min = string.match( lat, '%d+\'' );&lt;br /&gt;
			args.lat_sec = string.match( lat, '[0-9%.]+&amp;quot;' );&lt;br /&gt;
			args.lat_dir = string.match( lat, '[NS]' );&lt;br /&gt;
		end&lt;br /&gt;
		if lon and lon ~= '' then&lt;br /&gt;
			args.lon_deg = string.match( lon, '%d+°' );&lt;br /&gt;
			args.lon_min = string.match( lon, '%d+\'' );&lt;br /&gt;
			args.lon_sec = string.match( lon, '[0-9%.]+&amp;quot;' );&lt;br /&gt;
			args.lon_dir = string.match( lon, '[EW]' );&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Установка значений по умолчанию&lt;br /&gt;
	for name, value in pairs( defaultArgs ) do&lt;br /&gt;
	    if not args[name] or args[name] == '' then&lt;br /&gt;
	    	args[name] = value;&lt;br /&gt;
	    end&lt;br /&gt;
    	args[name] = mw.text.trim( args[name], '°\'&amp;quot; ' );&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Если параметры пустые, шаблон не вызывается &lt;br /&gt;
	if (args.lat_deg == '' and args.lon_deg == '') and not coord then&lt;br /&gt;
		return '';&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Если во втором параметре указан формат вывода&lt;br /&gt;
	if outType and not coord then&lt;br /&gt;
		-- Нумерованные параметры, начиная с n-го&lt;br /&gt;
		if outType == '12345678' or outType == '23456789' or outType == '345678910' then&lt;br /&gt;
			local n = 0;&lt;br /&gt;
			if outType == '23456789' then&lt;br /&gt;
				n = 1;&lt;br /&gt;
			elseif outType == '345678910' then&lt;br /&gt;
				n = 2;&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			for i, name in ipairs( argsMap ) do&lt;br /&gt;
				args[i + n] = args[name];&lt;br /&gt;
				args[name] = nil;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if outType == 'coord' then&lt;br /&gt;
			args['coord'] = args.lat_deg .. '/' .. args.lat_min .. '/' .. args.lat_sec .. '/' .. args.lat_dir .. '/' ..	args.lon_deg .. '/' ..	args.lon_min .. '/' .. args.lon_sec .. '/' .. args.lon_dir&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local out = frame:expandTemplate{ title = template, args = args }&lt;br /&gt;
	if not isWikidata then&lt;br /&gt;
		out = '&amp;lt;span class=&amp;quot;no-wikidata&amp;quot; data-wikidata-property-id=&amp;quot;P625&amp;quot;&amp;gt;' .. out .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>wiki&gt;Putnik</name></author>
	</entry>
</feed>