*/\r
public static void main(String[] argv) throws Exception\r
{\r
-\r
- String paramFilePath = ((argv.length < 1) ? AppParameters.FILE_PATH : argv[0]);\r
- System.out.println("Param File = '"+ paramFilePath +"'");\r
ImportPicture obj = new ImportPicture();\r
+ obj.setUp(((argv.length < 1) ? AppParameters.FILE_PATH : argv[0]));\r
+ }\r
+ \r
+ public File gpxDir;\r
+ public File imgDir;\r
+ public File outDir;\r
+ public long delta = 0;\r
+ public boolean exif = false;\r
+ public boolean exifBase = false;\r
+ public ArrayList<File> gpxFiles = new ArrayList<>();\r
+ public AppParameters params;\r
+ public boolean param_GpxSplit = false;\r
+ public static boolean param_GpxNoFirstNode = false;\r
+ public boolean param_GpxReuse = false;\r
+ public boolean param_GpxOutputWpt = true;\r
+ public boolean param_ImgOutputAll = false;\r
+ public String param_GpxSourceFolder = ".";\r
+ Document document;\r
+ \r
+ public static final String TIME_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ss'Z'";\r
+ private static final String EXIF_DATE_TIME_FORMAT_STRING = "yyyy:MM:dd HH:mm:ss";\r
+ \r
+ public void setUp(String paramFilePath) throws Exception {\r
+ System.out.println("Param File = '"+ paramFilePath +"'");\r
+ this.params = new AppParameters(paramFilePath);\r
\r
Date imgtime;\r
- obj.params = new AppParameters(paramFilePath);\r
-\r
- System.out.println(" - param: "+ AppParameters.IMG_TIME +"="+ obj.params.getProperty(AppParameters.IMG_TIME) );\r
- System.out.println(" - param: "+ AppParameters.IMG_BASE_FILE +"="+ obj.params.getProperty(AppParameters.IMG_BASE_FILE) );\r
- System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ obj.params.getProperty(AppParameters.GPX_BASETIME) );\r
- System.out.println(" - param: "+ AppParameters.IMG_SOURCE_FOLDER +"="+ obj.params.getProperty(AppParameters.IMG_SOURCE_FOLDER) );\r
- System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_FOLDER +"="+ obj.params.getProperty(AppParameters.IMG_OUTPUT_FOLDER) );\r
- System.out.println(" - param: "+ AppParameters.IMG_OUTPUT +"="+ obj.params.getProperty(AppParameters.IMG_OUTPUT)); \r
- System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_ALL +"="+ obj.param_ImgOutputAll);\r
- System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_EXIF +"= "+ String.valueOf(obj.exif));\r
- System.out.println(" - param: "+ AppParameters.GPX_SOURCE_FOLDER +"="+ obj.param_GpxSourceFolder);\r
- System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_WPT +"="+ obj.param_GpxOutputWpt);\r
+\r
+ System.out.println(" - param: "+ AppParameters.IMG_TIME +"="+ this.params.getProperty(AppParameters.IMG_TIME) );\r
+ System.out.println(" - param: "+ AppParameters.IMG_BASE_FILE +"="+ this.params.getProperty(AppParameters.IMG_BASE_FILE) );\r
+ System.out.println(" - param: "+ AppParameters.GPX_BASETIME +"="+ this.params.getProperty(AppParameters.GPX_BASETIME) );\r
+ System.out.println(" - param: "+ AppParameters.IMG_SOURCE_FOLDER +"="+ this.params.getProperty(AppParameters.IMG_SOURCE_FOLDER) );\r
+ System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_FOLDER +"="+ this.params.getProperty(AppParameters.IMG_OUTPUT_FOLDER) );\r
+ System.out.println(" - param: "+ AppParameters.IMG_OUTPUT +"="+ this.params.getProperty(AppParameters.IMG_OUTPUT)); \r
+ System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_ALL +"="+ this.param_ImgOutputAll);\r
+ System.out.println(" - param: "+ AppParameters.IMG_OUTPUT_EXIF +"= "+ String.valueOf(this.exif));\r
+ System.out.println(" - param: "+ AppParameters.GPX_SOURCE_FOLDER +"="+ this.param_GpxSourceFolder);\r
+ System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_WPT +"="+ this.param_GpxOutputWpt);\r
System.out.println(" - param: "+ AppParameters.GPX_OVERWRITE_MAGVAR +"="+ Complementation.param_GpxOverwriteMagvar);\r
System.out.println(" - param: "+ AppParameters.GPX_OUTPUT_SPEED +"="+ Complementation.param_GpxOutputSpeed);\r
- System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ obj.param_GpxSplit);\r
+ System.out.println(" - param: "+ AppParameters.GPX_GPXSPLIT +"="+ this.param_GpxSplit);\r
System.out.println(" - param: "+ AppParameters.GPX_NO_FIRST_NODE +"="+ ImportPicture.param_GpxNoFirstNode); \r
- System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ obj.param_GpxReuse);\r
+ System.out.println(" - param: "+ AppParameters.GPX_REUSE +"="+ this.param_GpxReuse);\r
\r
- obj.ex = null;\r
+ this.ex = null;\r
// argv[0] --> AppParameters.IMG_SOURCE_FOLDER に置き換え\r
- obj.imgDir = new File(obj.params.getProperty(AppParameters.IMG_SOURCE_FOLDER));\r
+ this.imgDir = new File(this.params.getProperty(AppParameters.IMG_SOURCE_FOLDER));\r
\r
// 基準時刻(ファイル更新日時 | EXIF撮影日時)\r
- obj.exifBase = (obj.params.getProperty(AppParameters.GPX_BASETIME).equals("EXIF_TIME") ? true : false);\r
+ this.exifBase = (this.params.getProperty(AppParameters.GPX_BASETIME).equals("EXIF_TIME") ? true : false);\r
\r
// 基準時刻ファイルの「更新日時」を使って時刻合わせを行う。\r
// argv[1] --> AppParameters.IMG_BASE_FILE に置き換え\r
- imgtime = obj.adjustTime(new File(obj.imgDir, obj.params.getProperty(AppParameters.IMG_BASE_FILE)));\r
+ imgtime = this.adjustTime(new File(this.imgDir, this.params.getProperty(AppParameters.IMG_BASE_FILE)));\r
\r
// 出力ファイル\r
// argv[3] --> AppParameters.IMG_OUTPUT に置き換え\r
- obj.outDir = new File(obj.params.getProperty(AppParameters.IMG_OUTPUT_FOLDER));\r
+ this.outDir = new File(this.params.getProperty(AppParameters.IMG_OUTPUT_FOLDER));\r
\r
// その他のパラメータを読み取る\r
- String paramStr = obj.params.getProperty(AppParameters.GPX_GPXSPLIT);\r
+ String paramStr = this.params.getProperty(AppParameters.GPX_GPXSPLIT);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
- obj.param_GpxSplit = true;\r
+ this.param_GpxSplit = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_NO_FIRST_NODE);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_NO_FIRST_NODE);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
ImportPicture.param_GpxNoFirstNode = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_REUSE);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_REUSE);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
- obj.param_GpxReuse = true;\r
+ this.param_GpxReuse = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.IMG_OUTPUT_ALL);\r
+ paramStr = this.params.getProperty(AppParameters.IMG_OUTPUT_ALL);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
- obj.param_ImgOutputAll = true;\r
+ this.param_ImgOutputAll = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_OUTPUT_WPT);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_OUTPUT_WPT);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
- obj.param_GpxOutputWpt = true;\r
+ this.param_GpxOutputWpt = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_OVERWRITE_MAGVAR);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_OVERWRITE_MAGVAR);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
Complementation.param_GpxOverwriteMagvar = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_OUTPUT_SPEED);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_OUTPUT_SPEED);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
Complementation.param_GpxOutputSpeed = true;\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.GPX_SOURCE_FOLDER);\r
+ paramStr = this.params.getProperty(AppParameters.GPX_SOURCE_FOLDER);\r
if (paramStr != null) {\r
- obj.param_GpxSourceFolder = new String(paramStr);\r
- obj.gpxDir = new File(obj.param_GpxSourceFolder);\r
- if (!obj.gpxDir.exists()) {\r
+ this.param_GpxSourceFolder = new String(paramStr);\r
+ this.gpxDir = new File(this.param_GpxSourceFolder);\r
+ if (!this.gpxDir.exists()) {\r
// GPXファイルまたはディレクトリが存在しません。\r
System.out.println("GPXファイルまたはディレクトリが存在しません。('"+ paramStr +"')");\r
return;\r
}\r
}\r
else {\r
- obj.gpxDir = obj.imgDir;\r
+ this.gpxDir = this.imgDir;\r
}\r
\r
// 指定されたディレクトリ内のGPXファイルすべてを対象とする\r
- if (obj.gpxDir.isDirectory()) {\r
- File[] files = obj.gpxDir.listFiles();\r
+ if (this.gpxDir.isDirectory()) {\r
+ File[] files = this.gpxDir.listFiles();\r
if (files == null) {\r
// 対象となるGPXファイルがありませんでした。\r
- System.out.println("対象となるGPXファイルがありませんでした。('"+ obj.gpxDir.getAbsolutePath() +"')");\r
+ System.out.println("対象となるGPXファイルがありませんでした。('"+ this.gpxDir.getAbsolutePath() +"')");\r
return;\r
}\r
- if (obj.param_ImgOutputAll && (files.length > 1)) {\r
+ if (this.param_ImgOutputAll && (files.length > 1)) {\r
System.out.println("複数のGPXファイルがあるときには、'IMG.OUTPUT_ALL'オプションは指定できません。");\r
return;\r
}\r
if (file.isFile()) {\r
String filename = file.getName().toUpperCase();\r
if (filename.toUpperCase().endsWith(".GPX")) {\r
- if (!filename.toUpperCase().endsWith("_.GPX") || obj.param_GpxReuse) {\r
- obj.gpxFiles.add(file);\r
+ if (!filename.toUpperCase().endsWith("_.GPX") || this.param_GpxReuse) {\r
+ this.gpxFiles.add(file);\r
}\r
}\r
}\r
}\r
}\r
else {\r
- obj.gpxFiles.add(obj.gpxDir);\r
+ this.gpxFiles.add(this.gpxDir);\r
}\r
\r
- paramStr = obj.params.getProperty(AppParameters.IMG_OUTPUT_EXIF);\r
+ paramStr = this.params.getProperty(AppParameters.IMG_OUTPUT_EXIF);\r
if ((paramStr != null) && (paramStr.equals(Boolean.toString(true)))) {\r
- obj.exif = true;\r
+ this.exif = true;\r
}\r
\r
- String timeStr = obj.params.getProperty(AppParameters.IMG_TIME);\r
+ String timeStr = this.params.getProperty(AppParameters.IMG_TIME);\r
try {\r
Date t = toUTCDate(timeStr);\r
- obj.delta = t.getTime() - imgtime.getTime();\r
+ this.delta = t.getTime() - imgtime.getTime();\r
}\r
catch (ParseException e) {\r
System.out.println("'"+ timeStr +"' の書式が違います("+ TIME_FORMAT_STRING +")");\r
return;\r
}\r
\r
- obj.start();\r
+ this.start();\r
try {\r
- obj.join();\r
+ this.join();\r
} catch(InterruptedException end) {}\r
- if (obj.ex != null) {\r
- throw obj.ex;\r
+ if (this.ex != null) {\r
+ throw this.ex;\r
}\r
- }\r
- \r
- public File gpxDir;\r
- public File imgDir;\r
- public File outDir;\r
- public long delta = 0;\r
- public boolean exif = false;\r
- public boolean exifBase = false;\r
- public ArrayList<File> gpxFiles = new ArrayList<>();\r
- public AppParameters params;\r
- public boolean param_GpxSplit = false;\r
- public static boolean param_GpxNoFirstNode = false;\r
- public boolean param_GpxReuse = false;\r
- public boolean param_GpxOutputWpt = true;\r
- public boolean param_ImgOutputAll = false;\r
- public String param_GpxSourceFolder = ".";\r
- Document document;\r
- \r
- public static final String TIME_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ss'Z'";\r
- private static final String EXIF_DATE_TIME_FORMAT_STRING = "yyyy:MM:dd HH:mm:ss";\r
- \r
- public void setUp() {\r
\r
}\r
\r
\r
// 基準時刻ファイルの「更新日時」を使って時刻合わせを行う。\r
// argv[1] --> AppParameters.IMG_BASE_FILE に置き換え\r
- // File baseFile = new File(obj.imgDir, obj.params.getProperty(AppParameters.IMG_BASE_FILE));\r
+ // File baseFile = new File(this.imgDir, this.params.getProperty(AppParameters.IMG_BASE_FILE));\r
private Date adjustTime(File baseFile) throws ImageReadException, IOException, ParseException {\r
if (exifBase) {\r
ImageMetadata meta = Imaging.getMetadata(baseFile);\r