From 2afaf45d7e971707bd2a59e219992d0838cabbf6 Mon Sep 17 00:00:00 2001 From: tykayn Date: Mon, 28 Aug 2023 22:57:33 +0200 Subject: [PATCH] main kartaview conversion --- kartaview_exif_mapper/main.ts | 37 ++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/kartaview_exif_mapper/main.ts b/kartaview_exif_mapper/main.ts index 16a891e5..9c4ab3aa 100644 --- a/kartaview_exif_mapper/main.ts +++ b/kartaview_exif_mapper/main.ts @@ -4,15 +4,13 @@ **/ // @ts-ignore -import piexif from 'piexif'; import * as fs from 'node:fs'; // @ts-ignore import path from "node:path"; // @ts-ignore import minimist from 'minimist'; -import * as Buffer from "buffer"; // @ts-ignore -const moment = require( "moment"); +const moment = require("moment"); // configs let sequence_name: string = '3596977' @@ -48,7 +46,7 @@ let folders_list_txt: any = [ let enable_write_gpx_file = true; let just_one_photo_in_folder = false; let folder = "/home/poule/encrypted/stockage-syncable/photos/imagerie kartaview carto tel/kartaview_export_storage/share2tykayn/" -let folder_photos = folder+"photo" +let folder_photos = folder + "photo" let dossier_gpx: string = "./output_gpx" let file_gpx: string = "3596249_d875a_60a0f9bf38f99.txt" @@ -69,7 +67,6 @@ if (mini_arguments['gpx-input']) { } - // let dossier_photo: string = folder + "test_photo_apply" let dossier_photo: string = folder_photos let dossier_gpx_input: string = folder + "metadata_file" @@ -81,7 +78,7 @@ if (mini_arguments['gpx-input-path']) { let gpxData: any = {} -let exif_commands:any = ['#!/bin/bash' ,'# apply exif data to photos'] +let exif_commands: any = ['#!/bin/bash', '# apply exif data to photos'] function makeGpxFromKartaview(tableKartaviewTrace: any) { @@ -92,14 +89,18 @@ function makeGpxFromKartaview(tableKartaviewTrace: any) { tableKartaviewTrace.forEach((elem: any) => { // console.log('elem', elem) // console.log('elem', elem[6] *1000) - let utc_time = new Date(elem[6] * 1000) + if (elem.length && elem[6]) { + let utc_time = new Date(elem[6] * 1000) - // console.log('utc_time', utc_time.toISOString()) - track_points = `${track_points} + // console.log('utc_time', utc_time.toISOString()) + track_points = `${track_points} ${elem[2]} ` + }else{ + console.log('!!!!!! makeGpxFromKartaview no good element in gpx', elem) + } }) let content = ` @@ -149,7 +150,7 @@ function reduceGpxPointsToInterval(sequence_name: any) { let lon = elem[1] let date = new Date(timestamp) let date_simezone_indicator = ''; // +2:00 - let iso = moment(date).format('YYYY:MM:DD HH:mm:ss')+date_simezone_indicator + let iso = moment(date).format('YYYY:MM:DD HH:mm:ss') + date_simezone_indicator ii = interval * 1 @@ -160,10 +161,10 @@ function reduceGpxPointsToInterval(sequence_name: any) { // set exif data // console.log('file_photo_name to apply exif data', photo_counter, file_photo_name) - + // -File:ModificationDateTime=="${iso}" \\ // -File:CreateDate="${iso}" \\ - let exif_command= `\n + let exif_command = `\n exiftool -overwrite_original \\ -GPSDateTime="${iso}" \\ -AllDates="${iso}" \\ @@ -173,7 +174,7 @@ function reduceGpxPointsToInterval(sequence_name: any) { -TrackModifyDate=="${iso}" \\ -GPSLongitude="${lon}" \\ -GPSLatitude="${lat}" \\ - "${dossier_photo+'/'+sequence_name+'/'+file_photo_name}" + "${dossier_photo + '/' + sequence_name + '/' + file_photo_name}" ` // -GPSLongitudeRef="West" \ @@ -186,11 +187,11 @@ function reduceGpxPointsToInterval(sequence_name: any) { } }) - exif_commands.push( `geovisio upload --api-url https://panoramax.openstreetmap.fr "${dossier_photo}/${sequence_name}"`) + exif_commands.push(`geovisio upload --api-url https://panoramax.openstreetmap.fr "${dossier_photo}/${sequence_name}"`) let exif_bash_file = exif_commands.join('\n') - writeFile(`_exif_commmand_sequence_${sequence_name}.sh`,exif_bash_file) - + writeFile(`_exif_commmand_sequence_${sequence_name}.sh`, exif_bash_file) + console.log('\n ----- apply exif data:', `\n bash ${dossier_gpx}/${exif_bash_file}`) console.log('\n\nDONE for sequence_name', sequence_name) @@ -200,7 +201,7 @@ function openKartaviewTxtGPX(filepath: any, sequence_name: string) { console.log('openKartaviewTxtGPX filepath', filepath) let boom = filepath.split('/') let fileName = boom[boom.length - 1] - console.log('openKartaviewTxtGPX fileName', fileName, ) + console.log('openKartaviewTxtGPX fileName', fileName,) fs.readFile(filepath, 'utf8', (err, data) => { if (err) { throw err; @@ -229,7 +230,7 @@ function openKartaviewTxtGPX(filepath: any, sequence_name: string) { gpxData[sequence_name] = [...tableKartaviewTrace] - // console.log('gpxData', gpxData) + console.log(' makeGpxFromKartaview for sequence ', sequence_name) let content_gpx = makeGpxFromKartaview(tableKartaviewTrace)