Save measured point to file
This commit is contained in:
@@ -29,6 +29,7 @@ import 'package:terepi_seged/models/point_to_measure.dart';
|
||||
import 'package:terepi_seged/models/point_with_description_model.dart';
|
||||
import 'package:proj4dart/proj4dart.dart' as proj4;
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:terepi_seged/pages/map/presentation/views/measured_points_table_dialog.dart';
|
||||
|
||||
class MapViewController extends GetxController {
|
||||
// String gpsAddress = "E8:31:CD:14:8B:B2";
|
||||
@@ -59,6 +60,8 @@ class MapViewController extends GetxController {
|
||||
DateTime.now().add(const Duration(seconds: -30));
|
||||
|
||||
NumberFormat formatEov = NumberFormat("##0,000.0", "hu-HU");
|
||||
NumberFormat formatEovZ = NumberFormat("###0.0", "hu-HU");
|
||||
NumberFormat formatAltitudeError = NumberFormat("####0.000", "hu-HU");
|
||||
NumberFormat formatEovForFile = NumberFormat("#####0.0", "hu-HU");
|
||||
NumberFormat formatWgs84Sec = NumberFormat('00.000', 'hu-HU');
|
||||
|
||||
@@ -128,6 +131,8 @@ class MapViewController extends GetxController {
|
||||
// late StateMachineController riveGpsIconController;
|
||||
|
||||
late SharedPreferences prefs;
|
||||
Rx<bool> isShowPassword = false.obs;
|
||||
final passwordFieldFocusNode = FocusNode();
|
||||
|
||||
late AuthResponse authResponse;
|
||||
late Session? session;
|
||||
@@ -1062,4 +1067,63 @@ class MapViewController extends GetxController {
|
||||
}
|
||||
|
||||
void updatePointStatus(int pointId) {}
|
||||
|
||||
void toggleShowPassword() {
|
||||
isShowPassword.value = !isShowPassword.value;
|
||||
if (passwordFieldFocusNode.hasPrimaryFocus) return;
|
||||
passwordFieldFocusNode.canRequestFocus = false;
|
||||
}
|
||||
|
||||
void showMeasuredPointsTableDialog() {
|
||||
Get.to(() => MeasuredPointsTableDialog(), transition: Transition.fadeIn);
|
||||
}
|
||||
|
||||
Future<List> readMeasuredPoints() async {
|
||||
var response = await Supabase.instance.client
|
||||
.from('TerepiSeged_MeasuredPoints')
|
||||
.select()
|
||||
.eq('projectId', 2)
|
||||
.order('created_at');
|
||||
|
||||
print(response);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
void SaveMeasuredPointsToFile() async {
|
||||
var pointsDirectory = await getExternalStorageDirectory();
|
||||
print(directory!.path);
|
||||
// String newPath = '';
|
||||
// List<String> folders = directory!.path.split("/");
|
||||
// for (int i = 1; i < folders.length; i++) {
|
||||
// String folder = folders[i];
|
||||
// if (folder != "Android") {
|
||||
// newPath += "/" + folder;
|
||||
// } else {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// newPath = newPath + "/TerepisSegedApp";
|
||||
// directory = Directory(newPath);
|
||||
if (!await pointsDirectory!.exists()) {
|
||||
await pointsDirectory.create(recursive: true);
|
||||
}
|
||||
var measuredPointsFile = File("${directory!.path}/measuredsPoints.csv");
|
||||
|
||||
if (await pointsDirectory.exists()) {
|
||||
if (!await measuredPointsFile.exists()) {
|
||||
measuredPointsFile.writeAsString(
|
||||
"Id;DateTime;Description;EovX;EovY;Latitude;Longitude;Altitude;Hor.Err;Vert.Err\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
var data = await readMeasuredPoints();
|
||||
|
||||
data.forEach((d) {
|
||||
print("Data EovX: ${d['EovX']}");
|
||||
print("Data EovY: $d[EovY]");
|
||||
});
|
||||
|
||||
print('Number of data: ${data.length}');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user