diff --git a/AdjustTime.ini b/AdjustTime.ini index 24929dc..c816bc3 100644 --- a/AdjustTime.ini +++ b/AdjustTime.ini @@ -1,5 +1,6 @@ #by AdjustTime -#Sun Jan 03 22:16:12 JST 2016 +#Sun Jun 26 09:29:35 JST 2016 GPX.gpxSplit=ON +GPX.REUSE=OFF GPX.BASETIME=FILE_UPDATE GPX.noFirstNode=ON diff --git a/importPicture/src/osm/jp/gpx/AppParameters.java b/importPicture/src/osm/jp/gpx/AppParameters.java index 5c7e549..85e398d 100644 --- a/importPicture/src/osm/jp/gpx/AppParameters.java +++ b/importPicture/src/osm/jp/gpx/AppParameters.java @@ -17,6 +17,9 @@ // GPX: セグメントの最初の1ノードは無視する。 {ON | OFF} public static String GPX_NO_FIRST_NODE = "GPX.noFirstNode"; + // GPX: 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF} + public static String GPX_REUSE = "GPX.REUSE"; + // GPX: 基準時刻 {FILE_UPDATE | EXIF} public static String GPX_BASETIME = "GPX.BASETIME"; @@ -61,6 +64,14 @@ } //------------------------------------------------ + // GPX出力: 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF} + valueStr = this.getProperty(GPX_REUSE); + if (valueStr == null) { + update = true; + this.setProperty(GPX_REUSE, "OFF"); + } + + //------------------------------------------------ // GPX: 基準時刻 {FILE_UPDATE | EXIF} valueStr = this.getProperty(GPX_BASETIME); if (valueStr == null) { diff --git a/importPicture/src/osm/jp/gpx/ImportPicture.java b/importPicture/src/osm/jp/gpx/ImportPicture.java index 789fe4c..96da752 100644 --- a/importPicture/src/osm/jp/gpx/ImportPicture.java +++ b/importPicture/src/osm/jp/gpx/ImportPicture.java @@ -143,6 +143,23 @@ obj.outDir = new File(argv[3]); } + // その他のパラメータを読み取る + obj.params = new AppParameters(); + String paramStr = obj.params.getProperty(AppParameters.GPX_GPXSPLIT); + if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) { + obj.param_GpxSplit = true; + } + + paramStr = obj.params.getProperty(AppParameters.GPX_NO_FIRST_NODE); + if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) { + obj.param_GpxNoFirstNode = true; + } + + paramStr = obj.params.getProperty(AppParameters.GPX_REUSE); + if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) { + obj.param_GpxReuse = true; + } + // 第6引数が指定されなければ、指定されたディレクトリ内のGPXファイルすべてを対象とする if (argv.length >= 5) { obj.gpxDir = new File(argv[4]); @@ -166,7 +183,7 @@ if (file.isFile()) { String filename = file.getName().toUpperCase(); if (filename.endsWith(".GPX")) { - if (!filename.endsWith("_.GPX")) { + if (!filename.toUpperCase().endsWith("_.GPX") || obj.param_GpxReuse) { obj.gpxFiles.add(file); } } @@ -177,8 +194,14 @@ obj.gpxFiles.add(obj.gpxDir); } - // その他のパラメータを読み取る - obj.params = new AppParameters(); + + System.out.println(" - param: number of gpxFiles = '"+ obj.gpxFiles.size() +"'"); + System.out.println(" - param: imgDir = '"+ obj.imgDir.getAbsolutePath() +"'"); + System.out.println(" - param: outDir = '"+ (obj.outDir == null ? "" : obj.outDir.getAbsolutePath()) +"'"); + System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ obj.param_GpxSplit); + System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ obj.param_GpxNoFirstNode); + System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ obj.param_GpxReuse); + System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ obj.params.getProperty(AppParameters.GPX_BASETIME) ); obj.start(); try { @@ -195,26 +218,10 @@ public AppParameters params; public boolean param_GpxSplit = false; public boolean param_GpxNoFirstNode = false; + public boolean param_GpxReuse = false; @Override public void run() { - String paramStr = params.getProperty(AppParameters.GPX_GPXSPLIT); - if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) { - param_GpxSplit = true; - } - - paramStr = params.getProperty(AppParameters.GPX_NO_FIRST_NODE); - if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) { - param_GpxNoFirstNode = true; - } - - System.out.println(" - param: number of gpxFiles = '"+ this.gpxFiles.size() +"'"); - System.out.println(" - param: imgDir = '"+ this.imgDir.getAbsolutePath() +"'"); - System.out.println(" - param: outDir = '"+ (this.outDir == null ? "" : this.outDir.getAbsolutePath()) +"'"); - System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ param_GpxSplit); - System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ param_GpxNoFirstNode); - System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ params.getProperty(AppParameters.GPX_BASETIME) ); - /** * @@ -242,7 +249,7 @@ String iStr = fileName.substring(0, fileName.length() - 4); File outputFile = new File(imgDir, iStr +"_.gpx"); - System.out.println(iStr + " => "+ outputFile.getName()); + System.out.println(gpxFile.getAbsolutePath() + " => "+ outputFile.getAbsolutePath()); System.out.println(" 時差: "+ (delta / 1000) +"(sec)"); System.out.println(" Target GPX: ["+ gpxFile.getAbsolutePath() +"]"); System.out.println(" EXIF: "+ (exif ? ("convert to '" + outDir.getAbsolutePath() +"'") : "off")); diff --git a/importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java b/importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java index 2a4970d..481debe 100644 --- a/importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java +++ b/importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java @@ -42,6 +42,7 @@ JLabel imageLabel; // 基準時刻画像表示 JCheckBox exifBase; // EXIF日時を基準にする/ !(ファイル更新日時を基準にする) JCheckBox noFirstNode; // GPX: セグメントの最初の1ノードは無視する。 {ON | OFF} + JCheckBox gpxReuse; // 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF} JTextArea textArea; // 実行結果表示領域 //ImagePreview imagePane; // 基準時刻画像表示 ParameterPanelFolder arg1_srcFolder; @@ -237,6 +238,9 @@ tmpPanel4a.add(arg4_gpxFolder); noFirstNode = new JCheckBox("セグメントの最初の1ノードは無視する。", params.getProperty(AppParameters.GPX_NO_FIRST_NODE).equals("ON")); tmpPanel4a.add(noFirstNode); + gpxReuse = new JCheckBox("生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。", params.getProperty(AppParameters.GPX_REUSE).equals("ON")); + gpxReuse.setEnabled(false); + tmpPanel4a.add(gpxReuse); cards[cardNo].add(tmpPanel4a, BorderLayout.CENTER); //--------------------------------------------------------------------- @@ -297,6 +301,7 @@ doButton.addActionListener(lSymAction); exifON.addActionListener(lSymAction); noFirstNode.addActionListener(lSymAction); + gpxReuse.addActionListener(lSymAction); //arg1Panel_4.field.addActionListener(lSymAction); nextButton.addActionListener(lSymAction); backButton.addActionListener(lSymAction); @@ -518,6 +523,7 @@ argv[4] = arg4_gpxFolder.getText(); this.params.setProperty(AppParameters.GPX_NO_FIRST_NODE, (noFirstNode.isSelected() ? "ON" : "OFF")); + this.params.setProperty(AppParameters.GPX_REUSE, (gpxReuse.isSelected() ? "ON" : "OFF")); try { this.params.store(); }