Skip to content

Commit 866620b

Browse files
committed
Fix SonarCloud issues
1 parent 8a7d293 commit 866620b

File tree

2 files changed

+79
-81
lines changed

2 files changed

+79
-81
lines changed

app/steps/pafs_core/basic_step.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def step
6868

6969
# override this to handle any setup required before being viewed
7070
# This is called before rendering in the controller
71-
def before_view(params); end
71+
def before_view(_params); end
7272

7373
def view_path
7474
"pafs_core/projects/steps/#{step}"

lib/pafs_core/mapping_transforms.rb

Lines changed: 78 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -57,129 +57,127 @@ def easting_northing_to_latitude_longitude(easting, northing)
5757
osgb36_to_wgs84(osgb36[:latitude], osgb36[:longitude])
5858
end
5959

60-
# rubocop:disable Layout/SpaceAroundOperators, Layout/ExtraSpacing, Lint/UnderscorePrefixedVariableName
60+
# rubocop:disable Layout/SpaceAroundOperators, Layout/ExtraSpacing
6161
# Converts easting/northing coords into OSGB36 latitude/longitude
6262
def easting_northing_to_osgb36(easting, northing)
6363
osbg_f0 = 0.9996012717
6464
n0 = -100_000.0
6565
e0 = 400_000.0
6666
phi0 = deg_to_rad(49.0)
6767
lambda0 = deg_to_rad(-2.0)
68-
_a = 6_377_563.396
69-
_b = 6_356_256.909
70-
e_squared = ((_a * _a) - (_b * _b)) / (_a * _a)
71-
_phi = 0.0
72-
_lambda = 0.0
68+
a = 6_377_563.396
69+
b = 6_356_256.909
70+
e_squared = ((a * a) - (b * b)) / (a * a)
7371
est = easting
7472
nrth = northing
75-
_n = (_a - _b) / (_a + _b)
76-
_m = 0.0
77-
phi_prime = ((nrth - n0) / (_a * osbg_f0)) + phi0
73+
n = (a - b) / (a + b)
74+
m = 0.0
75+
phi_prime = ((nrth - n0) / (a * osbg_f0)) + phi0
7876

7977
loop do
80-
_m = (_b * osbg_f0) \
81-
* (((1 + _n + ((5.0 / 4.0) * _n * _n) + ((5.0 / 4.0) * _n * _n * _n)) \
78+
m = (b * osbg_f0) \
79+
* (((1 + n + ((5.0 / 4.0) * n * n) + ((5.0 / 4.0) * n * n * n)) \
8280
* (phi_prime - phi0)) \
83-
- (((3 * _n) + (3 * _n * _n) + ((21.0 / 8.0) * _n * _n * _n)) \
81+
- (((3 * n) + (3 * n * n) + ((21.0 / 8.0) * n * n * n)) \
8482
* Math.sin(phi_prime - phi0) \
8583
* Math.cos(phi_prime + phi0)) \
86-
+ ((((15.0 / 8.0) * _n * _n) + ((15.0 / 8.0) * _n * _n * _n)) \
84+
+ ((((15.0 / 8.0) * n * n) + ((15.0 / 8.0) * n * n * n)) \
8785
* Math.sin(2.0 * (phi_prime - phi0)) \
8886
* Math.cos(2.0 * (phi_prime + phi0))) \
89-
- (((35.0 / 24.0) * _n * _n * _n) \
87+
- (((35.0 / 24.0) * n * n * n) \
9088
* Math.sin(3.0 * (phi_prime - phi0)) \
9189
* Math.cos(3.0 * (phi_prime + phi0))))
9290

93-
phi_prime += (nrth - n0 - _m) / (_a * osbg_f0)
94-
break unless (nrth - n0 - _m) >= 0.001
91+
phi_prime += (nrth - n0 - m) / (a * osbg_f0)
92+
break unless (nrth - n0 - m) >= 0.001
9593
end
9694

97-
_v = _a * osbg_f0 * ((1.0 - (e_squared * sin_pow_2(phi_prime))) ** -0.5)
98-
_rho = _a * osbg_f0 * (1.0 - e_squared) * ((1.0 - (e_squared * sin_pow_2(phi_prime))) ** -1.5)
95+
v = a * osbg_f0 * ((1.0 - (e_squared * sin_pow_2(phi_prime))) ** -0.5)
96+
rho = a * osbg_f0 * (1.0 - e_squared) * ((1.0 - (e_squared * sin_pow_2(phi_prime))) ** -1.5)
9997

100-
eta_squared = (_v / _rho) - 1.0
98+
eta_squared = (v / rho) - 1.0
10199

102-
_vii = Math.tan(phi_prime) / (2 * _rho * _v)
100+
vii = Math.tan(phi_prime) / (2 * rho * v)
103101

104-
_viii = (Math.tan(phi_prime) / (24.0 * _rho * (_v ** 3.0))) *
105-
(5.0 + (3.0 * tan_pow_2(phi_prime)) + eta_squared -
106-
(9.0 * tan_pow_2(phi_prime) * eta_squared))
102+
viii = (Math.tan(phi_prime) / (24.0 * rho * (v ** 3.0))) *
103+
(5.0 + (3.0 * tan_pow_2(phi_prime)) + eta_squared -
104+
(9.0 * tan_pow_2(phi_prime) * eta_squared))
107105

108-
_ix = (Math.tan(phi_prime) / (720.0 * _rho * (_v ** 5.0))) *
109-
(61.0 + (90.0 * tan_pow_2(phi_prime)) + (45.0 * tan_pow_2(phi_prime) *
110-
tan_pow_2(phi_prime)))
106+
ix = (Math.tan(phi_prime) / (720.0 * rho * (v ** 5.0))) *
107+
(61.0 + (90.0 * tan_pow_2(phi_prime)) + (45.0 * tan_pow_2(phi_prime) *
108+
tan_pow_2(phi_prime)))
111109

112-
_x = sec(phi_prime) / _v
110+
x = sec(phi_prime) / v
113111

114-
_xi = (sec(phi_prime) / (6.0 * _v * _v * _v)) *
115-
((_v / _rho) + (2 * tan_pow_2(phi_prime)))
112+
xi = (sec(phi_prime) / (6.0 * v * v * v)) *
113+
((v / rho) + (2 * tan_pow_2(phi_prime)))
116114

117-
_xii = (sec(phi_prime) / (120.0 * (_v ** 5.0))) *
118-
(5.0 + (28.0 * tan_pow_2(phi_prime)) + (24.0 * tan_pow_2(phi_prime) *
119-
tan_pow_2(phi_prime)))
115+
xii = (sec(phi_prime) / (120.0 * (v ** 5.0))) *
116+
(5.0 + (28.0 * tan_pow_2(phi_prime)) + (24.0 * tan_pow_2(phi_prime) *
117+
tan_pow_2(phi_prime)))
120118

121-
_xiia = (sec(phi_prime) / (5040.0 * (_v ** 7.0))) *
122-
(61.0 + (662.0 * tan_pow_2(phi_prime)) +
123-
(1320.0 * tan_pow_2(phi_prime) * tan_pow_2(phi_prime)) +
124-
(720.0 * tan_pow_2(phi_prime) * tan_pow_2(phi_prime) *
125-
tan_pow_2(phi_prime)))
119+
xiia = (sec(phi_prime) / (5040.0 * (v ** 7.0))) *
120+
(61.0 + (662.0 * tan_pow_2(phi_prime)) +
121+
(1320.0 * tan_pow_2(phi_prime) * tan_pow_2(phi_prime)) +
122+
(720.0 * tan_pow_2(phi_prime) * tan_pow_2(phi_prime) *
123+
tan_pow_2(phi_prime)))
126124

127-
_phi = phi_prime - (_vii * ((est - e0) ** 2.0)) +
128-
(_viii * ((est - e0) ** 4.0)) - (_ix * ((est - e0) ** 6.0))
125+
phi = phi_prime - (vii * ((est - e0) ** 2.0)) +
126+
(viii * ((est - e0) ** 4.0)) - (ix * ((est - e0) ** 6.0))
129127

130-
_lambda = lambda0 + (_x * (est - e0)) - (_xi * ((est - e0) ** 3.0)) +
131-
(_xii * ((est - e0) ** 5.0)) - (_xiia * ((est - e0) ** 7.0))
128+
lmbda = lambda0 + (x * (est - e0)) - (xi * ((est - e0) ** 3.0)) +
129+
(xii * ((est - e0) ** 5.0)) - (xiia * ((est - e0) ** 7.0))
132130

133-
{ latitude: rad_to_deg(_phi), longitude: rad_to_deg(_lambda) }
131+
{ latitude: rad_to_deg(phi), longitude: rad_to_deg(lmbda) }
134132
end
135133

136134
# Convert OSGB36 latitude/longitude coords
137135
# into WGS84 latitude/longitude
138136
def osgb36_to_wgs84(latitude, longitude)
139-
_a = 6_377_563.396
140-
_b = 6_356_256.909
141-
e_squared = ((_a * _a) - (_b * _b)) / (_a * _a)
142-
143-
_phi = deg_to_rad(latitude)
144-
_lambda = deg_to_rad(longitude)
145-
_v = _a / Math.sqrt(1 - (e_squared * sin_pow_2(_phi)))
146-
_h = 0
147-
_x = (_v + _h) * Math.cos(_phi) * Math.cos(_lambda)
148-
_y = (_v + _h) * Math.cos(_phi) * Math.sin(_lambda)
149-
_z = (((1 - e_squared) * _v) + _h) * Math.sin(_phi)
150-
151-
_tx = 446.448
152-
_ty = -124.157
153-
_tz = 542.060
154-
155-
_s = -0.0000204894
156-
_rx = deg_to_rad(0.00004172222)
157-
_ry = deg_to_rad(0.00006861111)
158-
_rz = deg_to_rad(0.00023391666)
159-
160-
_xb = _tx + (_x * (1 + _s)) + (-_rx * _y) + (_ry * _z)
161-
_yb = _ty + (_rz * _x) + (_y * (1 + _s)) + (-_rx * _z)
162-
_zb = _tz + (-_ry * _x) + (_rx * _y) + (_z * (1 + _s))
163-
164-
_a = 6_378_137.000
165-
_b = 6_356_752.3141
166-
e_squared = ((_a * _a) - (_b * _b)) / (_a * _a)
167-
168-
_lambda_b = rad_to_deg(Math.atan(_yb / _xb))
169-
_p = Math.sqrt((_xb * _xb) + (_yb * _yb))
170-
_phi_n = Math.atan(_zb / (_p * (1 - e_squared)))
137+
a = 6_377_563.396
138+
b = 6_356_256.909
139+
e_squared = ((a * a) - (b * b)) / (a * a)
140+
141+
phi = deg_to_rad(latitude)
142+
lmbda = deg_to_rad(longitude)
143+
v = a / Math.sqrt(1 - (e_squared * sin_pow_2(phi)))
144+
h = 0
145+
x = (v + h) * Math.cos(phi) * Math.cos(lmbda)
146+
y = (v + h) * Math.cos(phi) * Math.sin(lmbda)
147+
z = (((1 - e_squared) * v) + h) * Math.sin(phi)
148+
149+
tx = 446.448
150+
ty = -124.157
151+
tz = 542.060
152+
153+
s = -0.0000204894
154+
rx = deg_to_rad(0.00004172222)
155+
ry = deg_to_rad(0.00006861111)
156+
rz = deg_to_rad(0.00023391666)
157+
158+
xb = tx + (x * (1 + s)) + (-rx * y) + (ry * z)
159+
yb = ty + (rz * x) + (y * (1 + s)) + (-rx * z)
160+
zb = tz + (-ry * x) + (rx * y) + (z * (1 + s))
161+
162+
a = 6_378_137.000
163+
b = 6_356_752.3141
164+
e_squared = ((a * a) - (b * b)) / (a * a)
165+
166+
lambda_b = rad_to_deg(Math.atan(yb / xb))
167+
p_dist = Math.sqrt((xb * xb) + (yb * yb))
168+
phi_n = Math.atan(zb / (p_dist * (1 - e_squared)))
171169

172170
(1..10).each do |_i|
173-
_v = _a / Math.sqrt(1 - (e_squared * sin_pow_2(_phi_n)))
174-
_phi_n1 = Math.atan((_zb + (e_squared * _v * Math.sin(_phi_n))) / _p)
175-
_phi_n = _phi_n1
171+
v = a / Math.sqrt(1 - (e_squared * sin_pow_2(phi_n)))
172+
phi_n1 = Math.atan((zb + (e_squared * v * Math.sin(phi_n))) / p_dist)
173+
phi_n = phi_n1
176174
end
177175

178-
_phi_b = rad_to_deg(_phi_n)
176+
phi_b = rad_to_deg(phi_n)
179177

180-
{ latitude: _phi_b.round(6), longitude: _lambda_b.round(6) }
178+
{ latitude: phi_b.round(6), longitude: lambda_b.round(6) }
181179
end
182-
# rubocop:enable Layout/SpaceAroundOperators, Layout/ExtraSpacing, Lint/UnderscorePrefixedVariableName
180+
# rubocop:enable Layout/SpaceAroundOperators, Layout/ExtraSpacing
183181

184182
private # Some math helpers
185183

0 commit comments

Comments
 (0)