diff --git a/src/osm/jp/api/HttpPOST.java b/src/osm/jp/api/HttpPOST.java index 0eaad13..b85f2f4 100644 --- a/src/osm/jp/api/HttpPOST.java +++ b/src/osm/jp/api/HttpPOST.java @@ -28,19 +28,6 @@ getCapabilities(new File("output.xml"), "public_transport", "stop_position", minlat, maxlat, minlon, maxlon); } - public static void getJapanCapabilities(File oFile, String key, String value) throws MalformedURLException, ProtocolException, IOException { - if (oFile.isFile()) { - oFile.delete(); - } - - BufferedWriter hw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(oFile), "UTF-8")); - - for (int i=0; i < all.length; i++) { - getCapabilities(hw, key, value, all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); - } - hw.close(); - } - public static void getCapabilities(File oFile, String key, String value, double minLat, double maxLat, double minLon, double maxLon) throws MalformedURLException, ProtocolException, IOException { if (oFile.isFile()) { oFile.delete(); @@ -94,7 +81,9 @@ } System.out.println(); } - if (responsecode == 429) { + if ((responsecode == 429) || (responsecode == 504)) { + // レスポンスコード[429] レスポンスメッセージ[Too Many Requests] + // レスポンスコード[504] レスポンスメッセージ[Gateway Timeout] try { TimeUnit.MINUTES.sleep(5); } catch (InterruptedException e) {} @@ -118,143 +107,9 @@ TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) {} } - while (responsecode == 429); + while ((responsecode == 429) || (responsecode == 504)); } - public static Japan[] all = new Japan[] { - new Japan(140D, 45D, 1D), - new Japan(141D, 45D, 1D), - new Japan(142D, 45D, 1D), - - new Japan(140D, 44D, 1D), - new Japan(141D, 44D, 1D), - new Japan(142D, 44D, 1D), - new Japan(143D, 44D, 1D), - new Japan(144D, 44D, 1D), - new Japan(145D, 44D, 1D), - - new Japan(140D, 43D, 1D), - new Japan(141D, 43D, 1D), - new Japan(142D, 43D, 1D), - new Japan(143D, 43D, 1D), - new Japan(144D, 43D, 1D), - new Japan(145D, 43D, 1D), - - new Japan(139D, 42D, 1D), - new Japan(140D, 42D, 1D), - new Japan(141D, 42D, 1D), - new Japan(142D, 42D, 1D), - new Japan(143D, 42D, 1D), - new Japan(144D, 42D, 1D), - new Japan(145D, 42D, 1D), - - new Japan(139D, 41D, 1D), - new Japan(140D, 41D, 1D), - new Japan(141D, 41D, 1D), - - new Japan(139D, 40D, 1D), - new Japan(140D, 40D, 1D), - new Japan(141D, 40D, 1D), - - new Japan(139D, 39D, 1D), - new Japan(140D, 39D, 1D), - new Japan(141D, 39D, 1D), - new Japan(142D, 39D, 1D), - - new Japan(138D, 38D, 1D), - new Japan(139D, 38D, 1D), - new Japan(140D, 38D, 1D), - new Japan(141D, 38D, 1D), - - new Japan(136D, 37D, 1D), - new Japan(137D, 37D, 1D), - new Japan(138D, 37D, 1D), - new Japan(139D, 37D, 1D), - new Japan(140D, 37D, 1D), - new Japan(141D, 37D, 1D), - - new Japan(132D, 36D, 1D), - new Japan(133D, 36D, 1D), - new Japan(135D, 36D, 1D), - new Japan(136D, 36D, 1D), - new Japan(137D, 36D, 1D), - new Japan(138D, 36D, 1D), - new Japan(139D, 36D, 1D), - new Japan(140D, 36D, 1D), - - new Japan(132D, 35D, 1D), - new Japan(133D, 35D, 1D), - new Japan(134D, 35D, 1D), - new Japan(135D, 35D, 1D), - new Japan(136D, 35D, 1D), - new Japan(137D, 35D, 1D), - new Japan(138D, 35D, 1D), - new Japan(139D, 35D, 1D), - new Japan(140D, 35D, 1D), - - new Japan(129D, 34D, 1D), - new Japan(130D, 34D, 1D), - new Japan(131D, 34D, 1D), - new Japan(132D, 34D, 1D), - new Japan(133D, 34D, 1D), - new Japan(134D, 34D, 1D), - new Japan(135D, 34D, 1D), - new Japan(136D, 34D, 1D), - new Japan(137D, 34D, 1D), - new Japan(138D, 34D, 1D), - new Japan(139D, 34D, 1D), - - new Japan(129D, 33D, 1D), - new Japan(130D, 33D, 1D), - new Japan(131D, 33D, 1D), - new Japan(132D, 33D, 1D), - new Japan(133D, 33D, 1D), - new Japan(134D, 33D, 1D), - new Japan(135D, 33D, 1D), - new Japan(136D, 33D, 1D), - new Japan(139D, 33D, 1D), - - new Japan(128D, 32D, 1D), - new Japan(129D, 32D, 1D), - new Japan(130D, 32D, 1D), - new Japan(131D, 32D, 1D), - new Japan(132D, 32D, 1D), - new Japan(133D, 32D, 1D), - new Japan(139D, 32D, 1D), - - new Japan(129D, 31D, 1D), - new Japan(130D, 31D, 1D), - new Japan(131D, 31D, 1D), - - new Japan(129D, 30D, 1D), - new Japan(130D, 30D, 1D), - new Japan(131D, 30D, 1D), - - new Japan(128D, 29D, 1D), - new Japan(129D, 29D, 1D), - - new Japan(128D, 28D, 1D), - new Japan(129D, 28D, 1D), - - new Japan(127D, 27D, 1D), - new Japan(128D, 27D, 1D), - new Japan(129D, 27D, 1D), - - new Japan(126D, 26D, 1D), - new Japan(127D, 26D, 1D), - new Japan(128D, 26D, 1D), - new Japan(129D, 26D, 1D), - - new Japan(125D, 25D, 1D), - - new Japan(123D, 24D, 1D), - new Japan(124D, 24D, 1D), - new Japan(125D, 24D, 1D), - - // 小笠原諸島 - new Japan(142D, 27D, 1D), - new Japan(142D, 26D, 1D) - }; public static void outputWriter(PrintWriter pw, String text) { System.out.println("\t" + text); diff --git a/src/osm/jp/coverage/busstop/Busstop.java b/src/osm/jp/coverage/busstop/Busstop.java index caf5900..103eb56 100644 --- a/src/osm/jp/coverage/busstop/Busstop.java +++ b/src/osm/jp/coverage/busstop/Busstop.java @@ -1,5 +1,6 @@ package osm.jp.coverage.busstop; import osm.jp.api.HttpPOST; +import osm.jp.api.Japan; import javax.xml.parsers.*; import javax.xml.transform.TransformerException; @@ -8,6 +9,8 @@ import org.xml.sax.*; import java.io.*; +import java.net.MalformedURLException; +import java.net.ProtocolException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -68,16 +71,7 @@ * --> 'existing.xml' */ File existingFile = new File("existing.xml"); - HttpPOST.getJapanCapabilities(existingFile, "highway", "bus_stop"); - readExistingFile(con, existingFile); - HttpPOST.getJapanCapabilities(existingFile, "highway", "disused:bus_stop"); - readExistingFile(con, existingFile); - HttpPOST.getJapanCapabilities(existingFile, "amenity", "bus_station"); - readExistingFile(con, existingFile); - HttpPOST.getJapanCapabilities(existingFile, "public_transport", "platform"); - readExistingFile(con, existingFile); - HttpPOST.getJapanCapabilities(existingFile, "public_transport", "stop_position"); - readExistingFile(con, existingFile); + getJapanCapabilities(con, existingFile); /** * 都道府県ごとのGMLディレクトリの処理 @@ -99,6 +93,26 @@ } } + public static void getJapanCapabilities(Connection con, File oFile) throws MalformedURLException, ProtocolException, IOException, ClassNotFoundException, SQLException, ParserConfigurationException, SAXException { + for (int i=0; i < all.length; i++) { + HttpPOST.getCapabilities(oFile, "highway", "bus_stop", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); + readExistingFile(con, oFile); + + HttpPOST.getCapabilities(oFile, "highway", "disused:bus_stop", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); + readExistingFile(con, oFile); + + HttpPOST.getCapabilities(oFile, "amenity", "bus_station", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); + readExistingFile(con, oFile); + + HttpPOST.getCapabilities(oFile, "public_transport", "platform", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); + readExistingFile(con, oFile); + + HttpPOST.getCapabilities(oFile, "public_transport", "stop_position", all[i].minLat, all[i].maxLat, all[i].minLon, all[i].maxLon); + readExistingFile(con, oFile); + } + } + + /** * 個別の都道府県「GMLディレクトリ」を処理 * @@ -949,4 +963,139 @@ public static final String GML_DIR_PREFIX = "P11-10_"; public static final String GML_DIR_PRIFIX = "_GML"; + public static Japan[] all = new Japan[] { + new Japan(140D, 45D, 1D), + new Japan(141D, 45D, 1D), + new Japan(142D, 45D, 1D), + + new Japan(140D, 44D, 1D), + new Japan(141D, 44D, 1D), + new Japan(142D, 44D, 1D), + new Japan(143D, 44D, 1D), + new Japan(144D, 44D, 1D), + new Japan(145D, 44D, 1D), + + new Japan(140D, 43D, 1D), + new Japan(141D, 43D, 1D), + new Japan(142D, 43D, 1D), + new Japan(143D, 43D, 1D), + new Japan(144D, 43D, 1D), + new Japan(145D, 43D, 1D), + + new Japan(139D, 42D, 1D), + new Japan(140D, 42D, 1D), + new Japan(141D, 42D, 1D), + new Japan(142D, 42D, 1D), + new Japan(143D, 42D, 1D), + new Japan(144D, 42D, 1D), + new Japan(145D, 42D, 1D), + + new Japan(139D, 41D, 1D), + new Japan(140D, 41D, 1D), + new Japan(141D, 41D, 1D), + + new Japan(139D, 40D, 1D), + new Japan(140D, 40D, 1D), + new Japan(141D, 40D, 1D), + + new Japan(139D, 39D, 1D), + new Japan(140D, 39D, 1D), + new Japan(141D, 39D, 1D), + new Japan(142D, 39D, 1D), + + new Japan(138D, 38D, 1D), + new Japan(139D, 38D, 1D), + new Japan(140D, 38D, 1D), + new Japan(141D, 38D, 1D), + + new Japan(136D, 37D, 1D), + new Japan(137D, 37D, 1D), + new Japan(138D, 37D, 1D), + new Japan(139D, 37D, 1D), + new Japan(140D, 37D, 1D), + new Japan(141D, 37D, 1D), + + new Japan(132D, 36D, 1D), + new Japan(133D, 36D, 1D), + new Japan(135D, 36D, 1D), + new Japan(136D, 36D, 1D), + new Japan(137D, 36D, 1D), + new Japan(138D, 36D, 1D), + new Japan(139D, 36D, 1D), + new Japan(140D, 36D, 1D), + + new Japan(132D, 35D, 1D), + new Japan(133D, 35D, 1D), + new Japan(134D, 35D, 1D), + new Japan(135D, 35D, 1D), + new Japan(136D, 35D, 1D), + new Japan(137D, 35D, 1D), + new Japan(138D, 35D, 1D), + new Japan(139D, 35D, 1D), + new Japan(140D, 35D, 1D), + + new Japan(129D, 34D, 1D), + new Japan(130D, 34D, 1D), + new Japan(131D, 34D, 1D), + new Japan(132D, 34D, 1D), + new Japan(133D, 34D, 1D), + new Japan(134D, 34D, 1D), + new Japan(135D, 34D, 1D), + new Japan(136D, 34D, 1D), + new Japan(137D, 34D, 1D), + new Japan(138D, 34D, 1D), + new Japan(139D, 34D, 1D), + + new Japan(129D, 33D, 1D), + new Japan(130D, 33D, 1D), + new Japan(131D, 33D, 1D), + new Japan(132D, 33D, 1D), + new Japan(133D, 33D, 1D), + new Japan(134D, 33D, 1D), + new Japan(135D, 33D, 1D), + new Japan(136D, 33D, 1D), + new Japan(139D, 33D, 1D), + + new Japan(128D, 32D, 1D), + new Japan(129D, 32D, 1D), + new Japan(130D, 32D, 1D), + new Japan(131D, 32D, 1D), + new Japan(132D, 32D, 1D), + new Japan(133D, 32D, 1D), + new Japan(139D, 32D, 1D), + + new Japan(129D, 31D, 1D), + new Japan(130D, 31D, 1D), + new Japan(131D, 31D, 1D), + + new Japan(129D, 30D, 1D), + new Japan(130D, 30D, 1D), + new Japan(131D, 30D, 1D), + + new Japan(128D, 29D, 1D), + new Japan(129D, 29D, 1D), + + new Japan(128D, 28D, 1D), + new Japan(129D, 28D, 1D), + + new Japan(127D, 27D, 1D), + new Japan(128D, 27D, 1D), + new Japan(129D, 27D, 1D), + + new Japan(126D, 26D, 1D), + new Japan(127D, 26D, 1D), + new Japan(128D, 26D, 1D), + new Japan(129D, 26D, 1D), + + new Japan(125D, 25D, 1D), + + new Japan(123D, 24D, 1D), + new Japan(124D, 24D, 1D), + new Japan(125D, 24D, 1D), + + // 小笠原諸島 + new Japan(142D, 27D, 1D), + new Japan(142D, 26D, 1D) + }; + } \ No newline at end of file