double latitude = Double.parseDouble(latStr);\r
double longitude = Double.parseDouble(lonStr);\r
\r
- String eleStr = null;\r
- String magvarStr = null;\r
+ String eleStr = "-";\r
+ String magvarStr = "-";\r
NodeList nodes = wpt.getChildNodes(); // 子ノードを取得\r
- for (int i4=0; i4< nodes.getLength(); i4++) {\r
+ for (int i4 = 0; i4 < nodes.getLength(); i4++) {\r
Node node = nodes.item(i4);\r
if (node != null) {\r
- if (node.getNodeName().equals("ele")) {\r
- eleStr = node.getFirstChild().getNodeValue();\r
- System.out.println(String.format("%8s|", eleStr));\r
- break;\r
- }\r
- if (node.getNodeName().equals("magvar")) {\r
- magvarStr = node.getFirstChild().getNodeValue();\r
- System.out.println(String.format("%6s|", magvarStr));\r
- break;\r
+ switch (node.getNodeName()) {\r
+ case "ele":\r
+ eleStr = node.getFirstChild().getNodeValue();\r
+ break;\r
+ case "magvar":\r
+ magvarStr = node.getFirstChild().getNodeValue();\r
+ break;\r
}\r
}\r
- else {\r
- System.out.println("-");\r
- break;\r
- }\r
}\r
+ System.out.println(String.format("%8s|%6s|", eleStr, magvarStr));\r
\r
if (exifWrite) {\r
TiffOutputSet outputSet = null;\r
}\r
\r
/**\r
- * < lat="35.32123832" lon="139.56965631">\r
+ * <trkpt lat="35.32123832" lon="139.56965631">\r
* <ele>47.20000076293945</ele>\r
* <time>2012-06-15T03:00:29Z</time>\r
* </trkpt>\r
Double x = Math.toRadians(imaLON - maeLON) * r;\r
Double y = Math.toRadians(imaLAT - maeLAT) * R;\r
double rad = Math.toDegrees(Math.atan(y / x));\r
- System.out.println("magvar = " + rad);\r
+ \r
+ if (y < 0) {\r
+ rad = rad * -1;\r
+ if (x > 0) {\r
+ rad = rad + 90;\r
+ }\r
+ else {\r
+ rad = rad - 90;\r
+ }\r
+ }\r
+\r
magvar = ret.getOwnerDocument().createElement("magvar");\r
- magvar.setTextContent(Double.toString(rad));\r
+ String str = Double.toString(rad);\r
+ int iDot = str.indexOf('.');\r
+ if (iDot > 0) {\r
+ str = str.substring(0, iDot);\r
+ }\r
+ magvar.setTextContent(str);\r
ret.appendChild(magvar);\r
}\r
}\r