「モジュール:Location map」の版間の差分

template>Rxy
(モジュール:Location map/sandbox 2016-07-24T15:59:36‎ UTC (←継承元: en:Module:Location map 2016年7月4日 (月) 16:32(UTC)より) の版より。 WP:AN/PE (差分) に基づく。)
template>Waiesu
(Special:Permalink/62768046より転記; WP:AN/PE (差分)による)
116行目: 116行目:
end
end
return decimal
return decimal
end
-- Finds a parameter in a transclusion of {{Coord}}.
local function coord2text(para,coord)
local result = mw.text.split(mw.ustring.match(coord,'%d+%.?%d*°[NS] %d+%.?%d*°[EW]') or '', '[ °]')
if para == 'longitude' then result = {result[3], result[4]} end
if not tonumber(result[1]) or not result[2] then return error('不正な座標指定です。', 2) end
return tonumber(result[1]) * hemisphereMultipliers[para][result[2]]
end
end


337行目: 345行目:
longitude = decdeg(args.lon_deg, args.lon_min, args.lon_sec, args.lon_dir, args.long, 'longitude')
longitude = decdeg(args.lon_deg, args.lon_min, args.lon_sec, args.lon_dir, args.long, 'longitude')
latitude = decdeg(args.lat_deg, args.lat_min, args.lat_sec, args.lat_dir, args.lat, 'latitude')
latitude = decdeg(args.lat_deg, args.lat_min, args.lat_sec, args.lat_dir, args.lat, 'latitude')
if not longitude and not latitude and args.useWikidata then
if args.coordinates then
-- Temporarily removed to facilitate infobox conversion.
 
-- if longitude or latitude then
-- error('[[Module:Coordinates]]からの座標とローカル指定座標の両方を提供できません。')
-- end
longitude = coord2text('longitude', args.coordinates)
latitude = coord2text('latitude', args.coordinates)
elseif not longitude and not latitude and args.useWikidata then
-- If they didn't provide either coordinate, try Wikidata. If they provided one but not the other, don't.
-- If they didn't provide either coordinate, try Wikidata. If they provided one but not the other, don't.
local entity = mw.wikibase.getEntity()
local entity = mw.wikibase.getEntity()
347行目: 363行目:
if not longitude then
if not longitude then
error('緯度の値が指定されていません。')
error('緯度の値が指定されていません。')
end
elseif not latitude then
if not latitude then
error('経度の値が指定されていません。')
error('経度の値が指定されていません。')
end
end
匿名利用者