// GPX: <trkseg>セグメントの最初の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";
}
//------------------------------------------------
+ // 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) {
obj.outDir = new File(argv[3]);\r
}\r
\r
+ // その他のパラメータを読み取る\r
+ obj.params = new AppParameters();\r
+ String paramStr = obj.params.getProperty(AppParameters.GPX_GPXSPLIT);\r
+ if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+ obj.param_GpxSplit = true;\r
+ }\r
+ \r
+ paramStr = obj.params.getProperty(AppParameters.GPX_NO_FIRST_NODE);\r
+ if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+ obj.param_GpxNoFirstNode = true;\r
+ }\r
+ \r
+ paramStr = obj.params.getProperty(AppParameters.GPX_REUSE);\r
+ if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
+ obj.param_GpxReuse = true;\r
+ }\r
+ \r
// 第6引数が指定されなければ、指定されたディレクトリ内のGPXファイルすべてを対象とする\r
if (argv.length >= 5) {\r
obj.gpxDir = new File(argv[4]);\r
if (file.isFile()) {\r
String filename = file.getName().toUpperCase();\r
if (filename.endsWith(".GPX")) {\r
- if (!filename.endsWith("_.GPX")) {\r
+ if (!filename.toUpperCase().endsWith("_.GPX") || obj.param_GpxReuse) {\r
obj.gpxFiles.add(file);\r
}\r
}\r
obj.gpxFiles.add(obj.gpxDir); \r
}\r
\r
- // その他のパラメータを読み取る\r
- obj.params = new AppParameters();\r
+ \r
+ System.out.println(" - param: number of gpxFiles = '"+ obj.gpxFiles.size() +"'");\r
+ System.out.println(" - param: imgDir = '"+ obj.imgDir.getAbsolutePath() +"'");\r
+ System.out.println(" - param: outDir = '"+ (obj.outDir == null ? "" : obj.outDir.getAbsolutePath()) +"'");\r
+ System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ obj.param_GpxSplit);\r
+ System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ obj.param_GpxNoFirstNode); \r
+ System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ obj.param_GpxReuse); \r
+ System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ obj.params.getProperty(AppParameters.GPX_BASETIME) );\r
\r
obj.start();\r
try {\r
public AppParameters params;\r
public boolean param_GpxSplit = false;\r
public boolean param_GpxNoFirstNode = false;\r
+ public boolean param_GpxReuse = false;\r
\r
@Override\r
public void run() {\r
- String paramStr = params.getProperty(AppParameters.GPX_GPXSPLIT);\r
- if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
- param_GpxSplit = true;\r
- }\r
- \r
- paramStr = params.getProperty(AppParameters.GPX_NO_FIRST_NODE);\r
- if ((paramStr != null) && (paramStr.toUpperCase().equals("ON"))) {\r
- param_GpxNoFirstNode = true;\r
- }\r
- \r
- System.out.println(" - param: number of gpxFiles = '"+ this.gpxFiles.size() +"'");\r
- System.out.println(" - param: imgDir = '"+ this.imgDir.getAbsolutePath() +"'");\r
- System.out.println(" - param: outDir = '"+ (this.outDir == null ? "" : this.outDir.getAbsolutePath()) +"'");\r
- System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ param_GpxSplit);\r
- System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ param_GpxNoFirstNode); \r
- System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ params.getProperty(AppParameters.GPX_BASETIME) );\r
- \r
/**\r
*\r
<wpt lat="35.25714922" lon="139.15490497">\r
String iStr = fileName.substring(0, fileName.length() - 4);\r
\r
File outputFile = new File(imgDir, iStr +"_.gpx");\r
- System.out.println(iStr + " => "+ outputFile.getName());\r
+ System.out.println(gpxFile.getAbsolutePath() + " => "+ outputFile.getAbsolutePath());\r
System.out.println(" 時差: "+ (delta / 1000) +"(sec)");\r
System.out.println(" Target GPX: ["+ gpxFile.getAbsolutePath() +"]");\r
System.out.println(" EXIF: "+ (exif ? ("convert to '" + outDir.getAbsolutePath() +"'") : "off"));\r
JLabel imageLabel; // 基準時刻画像表示
JCheckBox exifBase; // EXIF日時を基準にする/ !(ファイル更新日時を基準にする)
JCheckBox noFirstNode; // GPX: <trkseg>セグメントの最初の1ノードは無視する。 {ON | OFF}
+ JCheckBox gpxReuse; // 生成されたGPXファイル(ファイル名が'_.gpx'で終わるもの)も対象にする。 {ON | OFF}
JTextArea textArea; // 実行結果表示領域
//ImagePreview imagePane; // 基準時刻画像表示
ParameterPanelFolder arg1_srcFolder;
tmpPanel4a.add(arg4_gpxFolder);
noFirstNode = new JCheckBox("<trkseg>セグメントの最初の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);
//---------------------------------------------------------------------
doButton.addActionListener(lSymAction);
exifON.addActionListener(lSymAction);
noFirstNode.addActionListener(lSymAction);
+ gpxReuse.addActionListener(lSymAction);
//arg1Panel_4.field.addActionListener(lSymAction);
nextButton.addActionListener(lSymAction);
backButton.addActionListener(lSymAction);
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();
}