Skip to content

Commit 0f3fcd0

Browse files
committed
webmerc: use xy/set_xy
1 parent 39ed14f commit 0f3fcd0

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

src/inner_op/webmerc.rs

+10-15
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@ fn fwd(op: &Op, _ctx: &dyn Context, operands: &mut dyn CoordinateSet) -> usize {
1010
let a = ellps.semimajor_axis();
1111

1212
let mut successes = 0_usize;
13-
let length = operands.len();
14-
for i in 0..length {
15-
let mut coord = operands.get_coord(i);
16-
// Easting
17-
coord[0] *= a;
13+
for i in 0..operands.len() {
14+
let (lon, lat) = operands.xy(i);
1815

19-
// Northing
20-
let lat = coord[1];
21-
coord[1] = a * (FRAC_PI_4 + lat / 2.0).tan().ln();
16+
let easting = lon * a;
17+
let northing = a * (FRAC_PI_4 + lat / 2.0).tan().ln();
2218

23-
operands.set_coord(i, &coord);
19+
operands.set_xy(i, easting, northing);
2420
successes += 1;
2521
}
2622

@@ -34,17 +30,16 @@ fn inv(op: &Op, _ctx: &dyn Context, operands: &mut dyn CoordinateSet) -> usize {
3430
let a = ellps.semimajor_axis();
3531

3632
let mut successes = 0_usize;
37-
let length = operands.len();
38-
for i in 0..length {
39-
let mut coord = operands.get_coord(i);
33+
for i in 0..operands.len() {
34+
let (easting, northing) = operands.xy(i);
4035

4136
// Easting -> Longitude
42-
coord[0] /= a;
37+
let longitude = easting / a;
4338

4439
// Northing -> Latitude
45-
coord[1] = FRAC_PI_2 - 2.0 * (-coord[1] / a).exp().atan();
40+
let latitude = FRAC_PI_2 - 2.0 * (-northing / a).exp().atan();
4641

47-
operands.set_coord(i, &coord);
42+
operands.set_xy(i, longitude, latitude);
4843
successes += 1;
4944
}
5045

0 commit comments

Comments
 (0)