OSDN Git Service

'list.csv'を廃止してSTDOUTに出力するように変更した。
authorYu Hayashi <Yu.Hayashi@tecan.com>
Mon, 7 Jul 2014 00:27:23 +0000 (09:27 +0900)
committerYu Hayashi <Yu.Hayashi@tecan.com>
Mon, 7 Jul 2014 00:27:23 +0000 (09:27 +0900)
importPicture/list.csv [new file with mode: 0644]
importPicture/src/osm/jp/gpx/ImportPicture.java
importPicture/src/osm/jp/gpx/matchtime/gui/AdjustTime.java

diff --git a/importPicture/list.csv b/importPicture/list.csv
new file mode 100644 (file)
index 0000000..3665519
--- /dev/null
@@ -0,0 +1,8 @@
+           \8e\9e\8d·\81F -491(sec)
+    Target GPX\81F [Current.gpx]
+GPX start time\81F 2013-11-30T16:16:28
+  GPX end time\81F 2013-11-30T16:18:12
+--------|--------------------|--------------------|--------|-------|--------
+ name   | UpdateTime         | GPStime            | LAT    | LON   | ele
+--------|--------------------|--------------------|--------|-------|--------
+--------|--------------------|--------------------|--------|-------|--------
index 64774b8..ea9997b 100644 (file)
@@ -76,11 +76,11 @@ public class ImportPicture {
         * ・画像ファイルの更新日付リストをCSV形式のファイルとして出力する。\r
         * ・・結果は、取り込み元のGPXファイルとは別に、元ファイル名にアンダーバー「_」を付加した.ファイルに出力します。\r
         *\r
-        * argv[0] = 画像リストの出力ファイル\r
-        * argv[1] = 画像ファイルが格納されているディレクトリ\r
-        * argv[2] = 時刻補正の基準とする画像ファイル\r
-        * argv[3] = 基準画像ファイルの精確な撮影日時 "yyyy-mm-dd'T'HH:MM:ss"\r
-        * argv[4] = 撮影位置をロギングしたGPXファイル\r
+        * argv[-] = dummy\r
+        * argv[0] = 画像ファイルが格納されているディレクトリ\r
+        * argv[1] = 時刻補正の基準とする画像ファイル\r
+        * argv[2] = 基準画像ファイルの精確な撮影日時 "yyyy-mm-dd'T'HH:MM:ss"\r
+        * argv[3] = 撮影位置をロギングしたGPXファイル\r
         * \r
         * @throws IOException\r
         */\r
@@ -88,29 +88,23 @@ public class ImportPicture {
        {\r
                Date jptime;\r
                \r
-               \r
-               File csvfile = new File("ImportPicture.csv");\r
                if (argv.length > 0) {\r
-                       csvfile = new File(argv[0]);\r
-               }\r
-\r
-               if (argv.length > 1) {\r
-                       gpxDir = new File(argv[1]);\r
+                       gpxDir = new File(argv[0]);\r
                }\r
 \r
-               if (argv.length < 4) {\r
-                       System.out.println("> java -jar importPicture.jar <outputfile> <targetDir> <time base image> <time> (gpx)");\r
-                       System.out.println("> java -jar importPicture.jar list.csv . IMG_01234.JPG 2012-06-15T12:52:22");\r
+               if (argv.length < 3) {\r
+                       System.out.println("> java -jar importPicture.jar <targetDir> <time base image> <time> (gpx)");\r
+                       System.out.println("> java -jar importPicture.jar . IMG_01234.JPG 2012-06-15T12:52:22");\r
                }\r
 \r
                // 基準時刻ファイルの「更新日時」を使って時刻合わせを行う。\r
-               File baseFile = new File(gpxDir, argv[2]);\r
+               File baseFile = new File(gpxDir, argv[1]);\r
                jptime = new Date(baseFile.lastModified());\r
                \r
                // 第5引数が指定されなければ、指定されたディレクトリ内のGPXファイルすべてを対象とする\r
                ArrayList<File> gpxFiles = new ArrayList<File>();\r
-               if (argv.length > 4) {\r
-                       gpxFiles.add(new File(gpxDir, argv[4]));\r
+               if (argv.length > 3) {\r
+                       gpxFiles.add(new File(gpxDir, argv[3]));\r
                }\r
                else {\r
                        File[] files = gpxDir.listFiles();\r
@@ -194,8 +188,7 @@ public class ImportPicture {
                                if (trk != null) {\r
                                        HashMap<Long,Element> map = trkptMap(trk);\r
 \r
-                                       PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(csvfile)));\r
-                                       String timeStr = argv[3];\r
+                                       String timeStr = argv[2];\r
                                        try {\r
                                                Date t = dfjp.parse(timeStr);\r
                                                long delta = t.getTime() - jptime.getTime();\r
@@ -217,21 +210,20 @@ public class ImportPicture {
                                                        }\r
                                                }\r
                                                \r
-                                               System.out.println("時差: "+ (delta / 1000) +"(sec)");\r
-                                               pw.println("           時差: "+ (delta / 1000) +"(sec)");\r
-                                               pw.println("    Target GPX: ["+ gpxFile.getName() +"]");\r
-                                               pw.println("GPX start time: "+ dfjp.format(new Date(gpxStartTime).getTime()));\r
-                                               pw.println("  GPX end time: "+ dfjp.format(new Date(gpxEndTime).getTime()));\r
-\r
-                                               pw.println("\"name\",\"orignal\",\"gpstime\"");\r
-                                               proc(gpxDir, delta, gpxStartTime, gpxEndTime, map, pw, gpx);\r
+                                               System.out.println("           時差: "+ (delta / 1000) +"(sec)");\r
+                                               System.out.println("    Target GPX: ["+ gpxFile.getName() +"]");\r
+                                               System.out.println("GPX start time: "+ dfjp.format(new Date(gpxStartTime).getTime()));\r
+                                               System.out.println("  GPX end time: "+ dfjp.format(new Date(gpxEndTime).getTime()));\r
+\r
+                                               System.out.println("--------|--------------------|--------------------|--------|-------|--------");\r
+                                               System.out.println(" name   | UpdateTime         | GPStime            | LAT    | LON   | ele");\r
+                                               System.out.println("--------|--------------------|--------------------|--------|-------|--------");\r
+                                               proc(gpxDir, delta, gpxStartTime, gpxEndTime, map, gpx);\r
+                                               System.out.println("--------|--------------------|--------------------|--------|-------|--------");\r
                                        }\r
                                        catch (ParseException e) {\r
                                                System.out.println("'"+ timeStr +"' の書式が違います(yyyy-MM-dd'T'HH:mm:ss)");\r
                                        }\r
-                                       finally {\r
-                                               pw.close();\r
-                                       }\r
                                }\r
 \r
                                // 出力\r
@@ -267,12 +259,12 @@ public class ImportPicture {
         * 再帰メソッド\r
         * @throws ParseException \r
         */\r
-       static void proc(File dir, long delta, long gpxStartTime, long gpxEndTime, HashMap<Long,Element> map, PrintWriter pw, Node gpx) throws ParseException {\r
+       static void proc(File dir, long delta, long gpxStartTime, long gpxEndTime, HashMap<Long,Element> map, Node gpx) throws ParseException {\r
                File[] files = dir.listFiles();\r
                Arrays.sort(files, new FileSort());\r
                for (File image : files) {\r
                        if (image.isDirectory()) {\r
-                               proc(image, delta, gpxStartTime, gpxEndTime, map, pw, gpx);\r
+                               proc(image, delta, gpxStartTime, gpxEndTime, map, gpx);\r
                        }\r
                        else {\r
                                String imageName = image.getName();\r
@@ -282,11 +274,25 @@ public class ImportPicture {
                                        if ((uktime.getTime() >= gpxStartTime) && (uktime.getTime() <= gpxEndTime)) {\r
                                                Element trkpt = trkpt(map, uktime);\r
                                                if (trkpt != null) {\r
-                                                       pw.print("\""+ image.getName() +"\",");\r
-                                                       pw.print("\""+ dfjp.format(itime) +"\",");\r
-                                                       pw.println("\""+ dfjp.format(uktime) +"\"");\r
+                                                       System.out.print("\""+ image.getName() +"\"\t");\r
+                                                       System.out.print("\""+ dfjp.format(itime) +"\"\t");\r
+                                                       System.out.println("\""+ dfjp.format(uktime) +"\"\t");\r
 \r
                                                        Element wpt = createWptTag(image, uktime.getTime(), trkpt);\r
+                                                       System.out.println("\""+ wpt.getAttribute("lat") +"\"\t");\r
+                                                       System.out.println("\""+ wpt.getAttribute("lon") +"\"\t");\r
+                                                       \r
+                                                       NodeList nodes = wpt.getChildNodes();      // 子ノードを取得\r
+                                                       for (int i4=0; i4< nodes.getLength(); i4++) {\r
+                                                               Node node = nodes.item(i4);\r
+                                                               if (node != null) {\r
+                                                                       if (node.getNodeType() == Node.TEXT_NODE) {\r
+                                                                               String eleStr = node.getNodeValue();\r
+                                                                               System.out.println("\""+ eleStr +"\"");\r
+                                                                       }\r
+                                                           }\r
+                                                       }\r
+\r
                                                        Element temp = getCopy(gpx.getOwnerDocument(), wpt);\r
                                                        gpx.appendChild(temp);\r
                                                }\r
index 240a65e..7ec73da 100644 (file)
@@ -324,11 +324,11 @@ public class AdjustTime extends JFrame
     void doButton_Action(java.awt.event.ActionEvent event) {
        arg1Panel_3.doButton.setEnabled(false);
 
-       String[] argv = new String[4];
-               argv[0] = "list.csv";
-               argv[1] = arg1Panel_1.getText();
-               argv[2] = arg1Panel_2.getText();
-               argv[3] = arg1Panel_3.getText();
+       String[] argv = new String[3];
+               //argv[0] = "list.csv";
+               argv[0] = arg1Panel_1.getText();
+               argv[1] = arg1Panel_2.getText();
+               argv[2] = arg1Panel_3.getText();
                (new DoDialog(this, argv)).setVisible(true);
                
        arg1Panel_3.doButton.setEnabled(true);