<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ACelestial_object_quadrangle</id>
	<title>Module:Celestial object quadrangle - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ACelestial_object_quadrangle"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Celestial_object_quadrangle&amp;action=history"/>
	<updated>2026-06-13T20:43:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Celestial_object_quadrangle&amp;diff=471212&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Celestial_object_quadrangle&amp;diff=471212&amp;oldid=prev"/>
		<updated>2021-07-15T20:55:37Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements/replaces&lt;br /&gt;
-- [[Template:Lunar quadrangle]]&lt;br /&gt;
-- [[Template:Mars quadrangle]]&lt;br /&gt;
-- [[Template:Venus quadrangle]]&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function moonquad(lat, lon)&lt;br /&gt;
	local function LQ(n)&lt;br /&gt;
		if n &amp;lt; 10 then &lt;br /&gt;
			return 'LQ0' .. n&lt;br /&gt;
		else &lt;br /&gt;
			return 'LQ' .. n&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Note: requires positive longitude coordinates&lt;br /&gt;
	if lat &amp;gt; 65 then&lt;br /&gt;
		return LQ(1)&lt;br /&gt;
	elseif lat &amp;gt; 30 then&lt;br /&gt;
		if lon &amp;gt;= 180 then&lt;br /&gt;
			return LQ(2 + math.floor( (lon - 180) / 60 ) )&lt;br /&gt;
		else&lt;br /&gt;
			return LQ(5 + math.floor( lon / 60 ) )&lt;br /&gt;
		end&lt;br /&gt;
	elseif lat &amp;gt;= 0 then&lt;br /&gt;
		if lon &amp;gt;= 180 then&lt;br /&gt;
			return LQ(8 + math.floor( (lon - 180) / 45 ) )&lt;br /&gt;
		else&lt;br /&gt;
			return LQ(12 + math.floor( lon / 45 ) )&lt;br /&gt;
		end&lt;br /&gt;
	elseif lat &amp;gt;= -30 then&lt;br /&gt;
		if lon &amp;gt;= 180 then&lt;br /&gt;
			return LQ(16 + math.floor( (lon - 180) / 45 ) )&lt;br /&gt;
		else&lt;br /&gt;
			return LQ(20 + math.floor( lon / 45 ) )&lt;br /&gt;
		end&lt;br /&gt;
	elseif lat &amp;gt;= -65 then&lt;br /&gt;
		if lon &amp;gt;= 180 then&lt;br /&gt;
			return LQ(24 + math.floor( (lon - 180) / 60 ) )&lt;br /&gt;
		else&lt;br /&gt;
			return LQ(27 + math.floor( lon / 60 ) )&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return LQ(30)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return 'Error'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function marsquad(lat, lon)&lt;br /&gt;
	-- Note: requires positive longitude coordinates&lt;br /&gt;
	if lat &amp;gt; 65 then &lt;br /&gt;
		return 'Mare Boreum'&lt;br /&gt;
	elseif lat &amp;gt; 30 then &lt;br /&gt;
		if lon &amp;lt; 60 then return 'Ismenius Lacus'&lt;br /&gt;
		elseif lon &amp;lt; 120 then return 'Casius'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Cebrenia'&lt;br /&gt;
		elseif lon &amp;lt; 240 then return 'Diacria'&lt;br /&gt;
		elseif lon &amp;lt; 300 then return 'Arcadia'&lt;br /&gt;
		else return 'Mare Acidalium' end&lt;br /&gt;
	elseif lat &amp;gt;= 0 then &lt;br /&gt;
		if lon &amp;lt; 45 then return 'Arabia'&lt;br /&gt;
		elseif lon &amp;lt;  90 then return 'Syrtis Major'&lt;br /&gt;
		elseif lon &amp;lt; 135 then return 'Amenthes'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Elysium'&lt;br /&gt;
		elseif lon &amp;lt; 225 then return 'Amazonis'&lt;br /&gt;
		elseif lon &amp;lt; 270 then return 'Tharsis'&lt;br /&gt;
		elseif lon &amp;lt; 315 then return 'Lunae Palus'&lt;br /&gt;
		else return 'Oxia Palus' end&lt;br /&gt;
	elseif lat &amp;gt;= -30 then &lt;br /&gt;
		if lon &amp;lt; 45 then return 'Sinus Sabaeus'&lt;br /&gt;
		elseif lon &amp;lt;  90 then return 'Iapygia'&lt;br /&gt;
		elseif lon &amp;lt; 135 then return 'Mare Tyrrhenum'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Aeolis'&lt;br /&gt;
		elseif lon &amp;lt; 225 then return 'Memnonia'&lt;br /&gt;
		elseif lon &amp;lt; 270 then return 'Phoenicis Lacus'&lt;br /&gt;
		elseif lon &amp;lt; 315 then return 'Coprates'&lt;br /&gt;
		else return 'Margaritifer Sinus' end&lt;br /&gt;
	elseif lat &amp;gt;= -65 then &lt;br /&gt;
		if lon &amp;lt; 60 then return 'Noachis'&lt;br /&gt;
		elseif lon &amp;lt; 120 then return 'Hellas'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Eridania'&lt;br /&gt;
		elseif lon &amp;lt; 240 then return 'Phaethontis'&lt;br /&gt;
		elseif lon &amp;lt; 300 then return 'Thaumasia'&lt;br /&gt;
		else return 'Argyre' end&lt;br /&gt;
	else&lt;br /&gt;
		return 'Mare Australe'&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function mercuryquad(lat, lon)&lt;br /&gt;
	-- Note: requires positive longitude coordinates&lt;br /&gt;
	if lat &amp;gt;= 66 then&lt;br /&gt;
		return 'Borealis'&lt;br /&gt;
	elseif lat &amp;gt;= 21 then&lt;br /&gt;
		if lon &amp;lt; 90 then return 'Hokusai'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Raditladi'&lt;br /&gt;
		elseif lon &amp;lt; 270 then return 'Shakespeare'&lt;br /&gt;
		else return 'Victoria' end&lt;br /&gt;
	elseif lat &amp;gt; -21 then&lt;br /&gt;
		if lon &amp;lt; 72 then return 'Derain'&lt;br /&gt;
		elseif lon &amp;lt; 144 then return 'Eminescu'&lt;br /&gt;
		elseif lon &amp;lt; 216 then return 'Tolstoj'&lt;br /&gt;
		elseif lon &amp;lt; 266 then return 'Beethoven'&lt;br /&gt;
		else return 'Kuiper' end&lt;br /&gt;
	elseif lat &amp;gt; -66 then&lt;br /&gt;
		if lon &amp;lt; 90 then return 'Debussy'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Neruda'&lt;br /&gt;
		elseif lon &amp;lt; 270 then return 'Michelangelo'&lt;br /&gt;
		else return 'Discovery' end&lt;br /&gt;
	else&lt;br /&gt;
		return 'Bach'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return 'Error'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function venusquad(lat, lon)&lt;br /&gt;
	-- Note: requires positive longitude coordinates&lt;br /&gt;
	if lat &amp;gt; 57 then&lt;br /&gt;
		return 'Ishtar Terra'&lt;br /&gt;
	elseif lat &amp;gt;= 0 then&lt;br /&gt;
		if lon &amp;lt; 60 or lon &amp;gt;= 300 then return 'Sedna Planitia'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Niobe Planitia'&lt;br /&gt;
		else return 'Guinevere Planitia' end&lt;br /&gt;
	elseif lat &amp;gt;= -57 then&lt;br /&gt;
		if lon &amp;lt; 60  or lon &amp;gt;= 300 then return 'Lavinia Planitia'&lt;br /&gt;
		elseif lon &amp;lt; 180 then return 'Aphrodite Terra'&lt;br /&gt;
		else return 'Helen Planitia' end&lt;br /&gt;
	else&lt;br /&gt;
		return 'Lada Terra'&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function quad_name(lat, lon, globe)&lt;br /&gt;
	-- lower case&lt;br /&gt;
	globe = globe:lower() or ''&lt;br /&gt;
&lt;br /&gt;
	-- convert to numbers&lt;br /&gt;
	lat = tonumber(lat) or ''&lt;br /&gt;
	lon = tonumber(lon) or ''&lt;br /&gt;
&lt;br /&gt;
	-- get the quad name&lt;br /&gt;
	if lat ~= '' and lon ~= '' and globe ~= '' then&lt;br /&gt;
		if lon &amp;lt; 0 then lon = lon + 360 end&lt;br /&gt;
		if lon &amp;lt; 0 or lon &amp;gt; 360 then&lt;br /&gt;
			return 'Error'&lt;br /&gt;
		end&lt;br /&gt;
		if globe == 'mars' then&lt;br /&gt;
			return marsquad(lat, lon)&lt;br /&gt;
		elseif globe == 'mercury' then&lt;br /&gt;
			return mercuryquad(lat, lon)&lt;br /&gt;
		elseif globe == 'moon' then&lt;br /&gt;
			return moonquad(lat, lon)&lt;br /&gt;
		elseif globe == 'venus' then&lt;br /&gt;
			return venusquad(lat, lon)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return 'Error'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.category(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local res = quad_name(args['lat'] or '', args['lon'] or '', args['globe'] or '')&lt;br /&gt;
	&lt;br /&gt;
	if res ~= 'Error' then&lt;br /&gt;
		if args['nameonly'] and args['nameonly'] ~= '' then&lt;br /&gt;
			return res&lt;br /&gt;
		else&lt;br /&gt;
			return '[[Category:' .. res .. ' quadrangle]]'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Error&amp;lt;/span&amp;gt;'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.name(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local res = quad_name(args['lat'] or '', args['lon'] or '', args['globe'] or '')&lt;br /&gt;
	&lt;br /&gt;
	if res ~= 'Error' then&lt;br /&gt;
		return res&lt;br /&gt;
	end&lt;br /&gt;
	return '&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Error&amp;lt;/span&amp;gt;'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>