near final

This commit is contained in:
ImBenji
2024-03-02 18:07:05 +00:00
parent 67e1cd3530
commit 429eb4ad5f
29 changed files with 7870 additions and 1345 deletions

View File

@@ -0,0 +1,35 @@
import 'dart:math' as math;
import 'package:proj4dart/proj4dart.dart' as proj4;
import 'package:vector_math/vector_math.dart';
class OSGrid {
static List<double> toLatLong(double northing, double easting) {
final sourceProjection = proj4.Projection.parse('+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 '
'+x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs'); // British National Grid
final destinationProjection = proj4.Projection.WGS84;// WGS84
final point = proj4.Point(x: easting, y: northing);
final transformedPoint = sourceProjection.transform(destinationProjection, point);
return [transformedPoint.y, transformedPoint.x];
}
static Vector2 toNorthingEasting(double latitude, double longitude) {
final sourceProjection = proj4.Projection.WGS84;// WGS84
final destinationProjection = proj4.Projection.parse('+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 '
'+x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs'); // British National Grid
final point = proj4.Point(x: longitude, y: latitude);
final transformedPoint = sourceProjection.transform(destinationProjection, point);
return Vector2(transformedPoint.x, transformedPoint.y);
}
}