Share measured points file

This commit is contained in:
2025-12-05 08:37:12 +01:00
parent 061e64fe98
commit aba992d8a2
5 changed files with 37 additions and 13 deletions
@@ -19,6 +19,7 @@ import 'package:nmea/nmea.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart'
as permission_handler;
import 'package:share_plus/share_plus.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:terepi_seged/eov/convert_coordinate.dart';
import 'package:terepi_seged/eov/eov.dart';
@@ -804,7 +805,9 @@ class MapViewController extends GetxController {
'horizontalError':
max(gpsLatitudeError.value, gpsLongitudeError.value),
'verticalError': gpsAltitudeError.value,
'description': pointDescriptionController.text
'description': pointDescriptionController.text,
'isDeleted': false,
'projectId': 2
});
await Supabase.instance.client
@@ -1091,7 +1094,8 @@ class MapViewController extends GetxController {
}
void SaveMeasuredPointsToFile() async {
var pointsDirectory = await getExternalStorageDirectory();
// var pointsDirectory = await getExternalStorageDirectory();
var pointsDirectory = await getApplicationDocumentsDirectory();
print(directory!.path);
// String newPath = '';
// List<String> folders = directory!.path.split("/");
@@ -1108,22 +1112,41 @@ class MapViewController extends GetxController {
if (!await pointsDirectory!.exists()) {
await pointsDirectory.create(recursive: true);
}
var measuredPointsFile = File("${directory!.path}/measuredsPoints.csv");
var oldMeasuredPointsFile = File("${directory!.path}/measuredsPoints.csv");
if (await oldMeasuredPointsFile.exists()) {
await oldMeasuredPointsFile.delete();
}
var measuredPointsFile =
await File("${directory!.path}/measuredsPoints.csv").create();
if (await pointsDirectory.exists()) {
if (!await measuredPointsFile.exists()) {
measuredPointsFile.writeAsString(
"Id;DateTime;Description;EovX;EovY;Latitude;Longitude;Altitude;Hor.Err;Vert.Err\r\n");
if (await measuredPointsFile.exists()) {
await measuredPointsFile.writeAsString(
"Id;DateTime;Description;EovX;EovY;Altitude;Hor.Err;Vert.Err\r\n");
}
}
var data = await readMeasuredPoints();
data.forEach((d) {
print("Data EovX: ${d['EovX']}");
print("Data EovY: $d[EovY]");
measuredPointsFile.writeAsStringSync(
"${d['id']};${d['created_at']};${d['description']};${formatEov.format(d['eovY'])};${formatEov.format(d['eovX'])};${formatEovZ.format(d['altitude'] - d['poleHeight'])};${formatAltitudeError.format(d['horizontalError'])};${formatAltitudeError.format(d['verticalError'])}\r\n",
flush: true,
mode: FileMode.append,
encoding: utf8);
});
print('Number of data: ${data.length}');
final params = ShareParams(
text: "Mérési eredmények",
// files: [XFile('$measuredPointsFile')],
files: [XFile("${directory!.path}/measuredsPoints.csv")],
subject: 'Mérési eredmények',
title: 'Mérési eredmények');
final result = await SharePlus.instance.share(params);
}
}