Revision | 54974451ef90b04d886701c5fa9d83bd43e45848 (tree) |
---|---|
Zeit | 2012-05-24 20:23:00 |
Autor | hayashi <hayashi.yuu@gmai...> |
Commiter | hayashi |
ConvAdmPt25000 を追加
@@ -1,2 +0,0 @@ | ||
1 | -java -cp ".;classes" ConvCommPt | |
2 | -pause | |
\ No newline at end of file |
@@ -16,7 +16,6 @@ | ||
16 | 16 | <tag k="fixme" v="要確認:名称,道の右に"/> |
17 | 17 | </node> |
18 | 18 | |
19 | - | |
20 | 19 | <node gpxname="交番"> |
21 | 20 | <tag k='amenity' v='police' /> |
22 | 21 | <tag k="fixme" v="要確認:名称"/> |
@@ -8,13 +8,14 @@ public class ConvAdmPt25000 { | ||
8 | 8 | File inputFile; |
9 | 9 | String admCodeStr = ""; |
10 | 10 | int iCounter = 0; |
11 | + boolean link = true; | |
11 | 12 | |
12 | 13 | /** |
13 | 14 | * メイン |
14 | - * | |
15 | + * | |
15 | 16 | * <GI> |
16 | 17 | * <dataset> |
17 | - * | |
18 | + * | |
18 | 19 | * <AdmPt id="K6_1" uuid="fgoid:10-00150-11-1002-1530"> |
19 | 20 | <fid>fgoid:10-00150-11-1002-1530</fid> |
20 | 21 | <lfSpanFr> |
@@ -27,58 +28,66 @@ public class ConvAdmPt25000 { | ||
27 | 28 | <jps:date8601>2999-12-31</jps:date8601> |
28 | 29 | </jps:position> |
29 | 30 | </lfSpanTo> |
30 | - | |
31 | + | |
31 | 32 | <devDate> |
32 | 33 | <jps:position> |
33 | 34 | <jps:date8601>2011-01-31</jps:date8601> |
34 | 35 | </jps:position> |
35 | 36 | </devDate> |
36 | - | |
37 | + | |
37 | 38 | <orgGILvl>25000</orgGILvl> |
38 | 39 | <vis>表示</vis> |
39 | - | |
40 | + | |
40 | 41 | <pos id="K6_2" uuid="fgoid:10-00150-11-1002-1530-g"> |
41 | 42 | <jps:CRS uuidref="fguuid:jgd2000.bl"/> |
42 | 43 | <jps:position> |
43 | 44 | <jps:coordinate>37.055674 139.338021</jps:coordinate> |
44 | 45 | </jps:position> |
45 | 46 | </pos> |
46 | - | |
47 | + | |
47 | 48 | <type>その他</type> |
48 | 49 | <name>福島県南会津郡檜枝岐村</name> |
49 | 50 | <admCode>07364</admCode> |
50 | - | |
51 | + | |
51 | 52 | </AdmPt> |
52 | - | |
53 | + | |
53 | 54 | </dataset> |
54 | - | |
55 | + | |
55 | 56 | </GI> |
56 | 57 | |
57 | 58 | */ |
58 | 59 | public static void main(String[] argv) |
59 | 60 | { |
61 | + boolean link = true; | |
62 | + for (String arg : argv) { | |
63 | + if (arg.equals("-nolink")) { | |
64 | + link = false; | |
65 | + } | |
66 | + } | |
67 | + | |
60 | 68 | File dir = new File("."); |
61 | 69 | File[] files = dir.listFiles(); |
62 | 70 | int counter = 0; |
63 | 71 | for (File iFile : files) { |
64 | 72 | if (checkFile(iFile)) { |
65 | 73 | counter++; |
66 | - ConvAdmPt25000 t = new ConvAdmPt25000(iFile); | |
74 | + ConvAdmPt25000 t = new ConvAdmPt25000(iFile, link); | |
67 | 75 | t.runner(); |
68 | 76 | } |
69 | 77 | } |
70 | 78 | System.out.println("["+ counter +"]つのファイルを処理しました。"); |
71 | 79 | } |
72 | - | |
73 | - public ConvAdmPt25000 (File iFile) { | |
80 | + | |
81 | + public ConvAdmPt25000 (File iFile, boolean link) { | |
74 | 82 | this.inputFile = iFile; |
83 | + this.link = link; | |
75 | 84 | } |
76 | 85 | |
77 | 86 | public void runner() { |
78 | 87 | DocumentBuilderFactory factory; |
79 | 88 | DocumentBuilder builder; |
80 | 89 | Node root; |
81 | - | |
90 | + | |
82 | 91 | this.iCounter = 0; |
83 | 92 | String iStr = this.inputFile.getName(); |
84 | 93 | String[] nameAry = iStr.split("-"); |
@@ -92,18 +101,37 @@ public class ConvAdmPt25000 { | ||
92 | 101 | this.admCodeStr = nameAry[2]; |
93 | 102 | } |
94 | 103 | } |
95 | - | |
104 | + | |
96 | 105 | File outputFile = new File(iStr.substring(0, iStr.length() - 4) +".gpx"); |
97 | 106 | BufferedWriter w = null; |
98 | 107 | System.out.println(outputFile.getName() + " => "); |
99 | 108 | |
109 | + File htmlFile = new File(iStr.substring(0, iStr.length() - 4) +".html"); | |
110 | + BufferedWriter hw = null; | |
111 | + System.out.println(htmlFile.getName() + " => "); | |
112 | + | |
100 | 113 | try { |
101 | 114 | w = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8")); |
102 | 115 | w.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); |
103 | 116 | w.newLine(); |
104 | 117 | w.write("<gpx xmlns=\"http://www.topografix.com/GPX/1/1\" version=\"1.1\" creator=\"osmtracker-android\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd \">"); |
105 | 118 | w.newLine(); |
106 | - | |
119 | + | |
120 | + hw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile), "UTF-8")); | |
121 | + hw.write("<!DOCTYPE html>"); | |
122 | + hw.newLine(); | |
123 | + hw.write("<html><head><meta charset=\"utf-8\" /></head>"); | |
124 | + hw.newLine(); | |
125 | + hw.write("<body><table border='1'>"); | |
126 | + hw.newLine(); | |
127 | + hw.write("<tr>"); | |
128 | + hw.write("<td></td>"); | |
129 | + hw.write("<td>admCode</td>"); | |
130 | + hw.write("<td>name</td>"); | |
131 | + hw.write("<td></td>"); | |
132 | + hw.write("</tr>"); | |
133 | + hw.newLine(); | |
134 | + | |
107 | 135 | factory = DocumentBuilderFactory.newInstance(); |
108 | 136 | builder = factory.newDocumentBuilder(); |
109 | 137 | factory.setIgnoringElementContentWhitespace(true); |
@@ -111,10 +139,13 @@ public class ConvAdmPt25000 { | ||
111 | 139 | factory.setValidating(true); |
112 | 140 | root = builder.parse(inputFile.getName()); |
113 | 141 | |
114 | - showNodes(w, root, ""); | |
115 | - | |
142 | + showNodes(w, hw, root, ""); | |
143 | + | |
116 | 144 | w.write("</gpx>"); |
117 | 145 | w.newLine(); |
146 | + | |
147 | + hw.write("</table></body></html>"); | |
148 | + hw.newLine(); | |
118 | 149 | } catch (ParserConfigurationException e0) { |
119 | 150 | System.out.println(e0.getMessage()); |
120 | 151 | } catch (SAXException e1){ |
@@ -127,6 +158,7 @@ public class ConvAdmPt25000 { | ||
127 | 158 | if (w != null) { |
128 | 159 | try { |
129 | 160 | w.close(); |
161 | + hw.close(); | |
130 | 162 | } |
131 | 163 | catch (IOException e) { |
132 | 164 | e.printStackTrace(); |
@@ -135,20 +167,20 @@ public class ConvAdmPt25000 { | ||
135 | 167 | } |
136 | 168 | } |
137 | 169 | |
138 | - public void showNodes(BufferedWriter w, Node node, String space) throws IOException { | |
170 | + public void showNodes(BufferedWriter w, BufferedWriter hw, Node node, String space) throws IOException { | |
139 | 171 | NodeList nodes = node.getChildNodes(); |
140 | 172 | for (int i=0; i<nodes.getLength(); i++) { |
141 | 173 | Node node2 = nodes.item(i); |
142 | 174 | if (node2.getNodeName().equals("AdmPt")) { |
143 | - showAdmPt(w, node2); | |
175 | + showAdmPt(w, hw, node2); | |
144 | 176 | } |
145 | 177 | else { |
146 | - showNodes(w, node2, space + " "); | |
178 | + showNodes(w, hw, node2, space + " "); | |
147 | 179 | } |
148 | 180 | } |
149 | 181 | } |
150 | 182 | |
151 | - public void showAdmPt(BufferedWriter w, Node node) throws IOException { | |
183 | + public void showAdmPt(BufferedWriter w, BufferedWriter hw, Node node) throws IOException { | |
152 | 184 | String positionStr = ""; |
153 | 185 | String typeStr = ""; |
154 | 186 | String nameStr = ""; |
@@ -204,7 +236,7 @@ public class ConvAdmPt25000 { | ||
204 | 236 | } |
205 | 237 | else if (node2.getNodeName().equals("type")) { |
206 | 238 | typeStr = node2.getTextContent(); |
207 | - | |
239 | + | |
208 | 240 | } |
209 | 241 | else if (node2.getNodeName().equals("name")) { |
210 | 242 | nameStr = node2.getTextContent(); |
@@ -215,37 +247,45 @@ public class ConvAdmPt25000 { | ||
215 | 247 | } |
216 | 248 | |
217 | 249 | String oName = "FG-JPS-"+ codeStr +"-AdmPt25000-"+ idStr +".txt"; |
218 | - this.iCounter++; | |
219 | - File o2File = new File(oName); | |
220 | - BufferedWriter w2 = null; | |
221 | - try { | |
222 | - w2 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(o2File), "UTF-8")); | |
223 | - w2.write("name="+ nameStr +""); | |
224 | - w2.newLine(); | |
225 | - w2.write("type:"+ typeStr); | |
226 | - w2.newLine(); | |
227 | - w2.write("admCode:"+ codeStr); | |
228 | - w2.newLine(); | |
229 | - w2.write("date:"+ dateStr); | |
230 | - w2.newLine(); | |
231 | - w2.write("id:"+ idStr); | |
232 | - w2.newLine(); | |
233 | - w2.write("source=GSI/KIBAN Block http://wiki.osm.org/wiki/GSI_KIBAN"); | |
234 | - w2.newLine(); | |
235 | - System.out.println(idStr +","+ codeStr +","+ nameStr +","+ typeStr); | |
236 | - } | |
237 | - finally { | |
238 | - if (w2 != null) { | |
239 | - try { | |
240 | - w2.close(); | |
241 | - } | |
242 | - catch (IOException e) { | |
243 | - e.printStackTrace(); | |
250 | + if (link) { | |
251 | + this.iCounter++; | |
252 | + File o2File = new File(oName); | |
253 | + BufferedWriter w2 = null; | |
254 | + try { | |
255 | + w2 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(o2File), "UTF-8")); | |
256 | + w2.write("name="+ nameStr +""); | |
257 | + w2.newLine(); | |
258 | + w2.write("type:"+ typeStr); | |
259 | + w2.newLine(); | |
260 | + w2.write("admCode:"+ codeStr); | |
261 | + w2.newLine(); | |
262 | + w2.write("date:"+ dateStr); | |
263 | + w2.newLine(); | |
264 | + w2.write("id:"+ idStr); | |
265 | + w2.newLine(); | |
266 | + w2.write("source=GSI/KIBAN Block http://wiki.osm.org/wiki/GSI_KIBAN"); | |
267 | + w2.newLine(); | |
268 | + System.out.println(idStr +","+ codeStr +","+ nameStr +","+ typeStr); | |
269 | + } | |
270 | + finally { | |
271 | + if (w2 != null) { | |
272 | + try { | |
273 | + w2.close(); | |
274 | + } | |
275 | + catch (IOException e) { | |
276 | + e.printStackTrace(); | |
277 | + } | |
244 | 278 | } |
245 | 279 | } |
246 | 280 | } |
247 | 281 | |
248 | - | |
282 | + hw.write("<td>"+ idStr +"</td>"); | |
283 | + hw.write("<td>"+ codeStr +"</td>"); | |
284 | + hw.write("<td>"+ nameStr +"</td>"); | |
285 | + hw.write("<td>"+ typeStr +"</td>"); | |
286 | + hw.write("</tr>"); | |
287 | + hw.newLine(); | |
288 | + | |
249 | 289 | //System.out.println(admCodeStr +","+ typeStr +","+ nameStr +","+ latStr +","+ lonStr +","+ dateStr); |
250 | 290 | w.write("<wpt lat=\""+ latStr +"\" lon=\""+ lonStr +"\">"); |
251 | 291 | w.newLine(); |
@@ -253,19 +293,20 @@ public class ConvAdmPt25000 { | ||
253 | 293 | w.newLine(); |
254 | 294 | w.write(" <name><![CDATA["+ nameStr +"]]></name>"); |
255 | 295 | w.newLine(); |
256 | - | |
257 | - w.write(" <link href=\""+ oName +"\"><text>"+ nameStr +"</text></link>"); | |
258 | - w.newLine(); | |
259 | - | |
296 | + | |
297 | + if (link) { | |
298 | + w.write(" <link href=\""+ oName +"\"><text>"+ nameStr +"</text></link>"); | |
299 | + w.newLine(); | |
300 | + } | |
301 | + | |
260 | 302 | w.write("</wpt>"); |
261 | 303 | w.newLine(); |
262 | - | |
263 | 304 | } |
264 | - | |
305 | + | |
265 | 306 | /** |
266 | - * | |
307 | + * | |
267 | 308 | * 例 [FG-JPS-07-AdmPt25000-20110131-0001.xml] |
268 | - * | |
309 | + * | |
269 | 310 | * @param f |
270 | 311 | * @return |
271 | 312 | */ |
@@ -53,6 +53,18 @@ public class ConvBusstop { | ||
53 | 53 | Gpx2osm.main(shiftArgs(args)); |
54 | 54 | return; |
55 | 55 | } |
56 | + else if (args[0].equals("ConvCommPt")) { | |
57 | + ConvCommPt.main(shiftArgs(args)); | |
58 | + return; | |
59 | + } | |
60 | + else if (args[0].equals("ConvAdmPt25000")) { | |
61 | + ConvAdmPt25000.main(shiftArgs(args)); | |
62 | + return; | |
63 | + } | |
64 | + else if (args[0].equals("ConvRdComPt")) { | |
65 | + ConvRdComPt.main(shiftArgs(args)); | |
66 | + return; | |
67 | + } | |
56 | 68 | if (args[0].equals("-exp")) { |
57 | 69 | updateDb = false; |
58 | 70 | } |