diff --git a/src/osm/jp/coverage/police/Coverage2.java b/src/osm/jp/coverage/police/Coverage2.java new file mode 100644 index 0000000..80471fb --- /dev/null +++ b/src/osm/jp/coverage/police/Coverage2.java @@ -0,0 +1,49 @@ +package osm.jp.coverage.police; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.xml.sax.SAXException; +import jp.co.areaweb.tools.database.DatabaseTool; + +/** + * 国土数値情報 警察署データ(平成24年:2012) + * code = 警察署 + * @author yuu + */ +public class Coverage2 extends osm.jp.postgis.CoverageAll { + + public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException + { + File dir = new File("GML_POLICE"); + File outputFileCsv = new File(dir, "coverage.police2.csv"); + File outputFileJson = new File(dir, "coverage.police2.json"); + + Coverage2 obj = new Coverage2(DbPolice.TABLE_NAME); + + Connection conPost = DatabaseTool.openDb("postgis"); + Connection conHsql = DatabaseTool.openDb("database"); + try { + obj.load(conPost, conHsql); + obj.outputCSV(outputFileCsv); + obj.outputJson(outputFileJson, "国土数値情報 警察署データ(平成24年:2012)2:警察署"); + } + finally { + DatabaseTool.closeDb(conHsql); + DatabaseTool.closeDb(conPost); + } + } + + public Coverage2(String tableName) throws ClassNotFoundException, SQLException, IOException { + super(tableName); + } + + @Override + public void load(Connection conPost, Connection conHsql) throws ClassNotFoundException, SQLException, IOException { + load(conPost, conHsql, "code=2"); + } +} diff --git a/src/osm/jp/coverage/police/Coverage4.java b/src/osm/jp/coverage/police/Coverage4.java new file mode 100644 index 0000000..1d59c06 --- /dev/null +++ b/src/osm/jp/coverage/police/Coverage4.java @@ -0,0 +1,49 @@ +package osm.jp.coverage.police; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.xml.sax.SAXException; +import jp.co.areaweb.tools.database.DatabaseTool; + +/** + * 国土数値情報 警察署データ(平成24年:2012) + * code = 交番 + * @author yuu + */ +public class Coverage4 extends osm.jp.postgis.CoverageAll { + + public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException + { + File dir = new File("GML_POLICE"); + File outputFileCsv = new File(dir, "coverage.police4.csv"); + File outputFileJson = new File(dir, "coverage.police4.json"); + + Coverage4 obj = new Coverage4(DbPolice.TABLE_NAME); + + Connection conPost = DatabaseTool.openDb("postgis"); + Connection conHsql = DatabaseTool.openDb("database"); + try { + obj.load(conPost, conHsql); + obj.outputCSV(outputFileCsv); + obj.outputJson(outputFileJson, "国土数値情報 警察署データ(平成24年:2012)4:交番"); + } + finally { + DatabaseTool.closeDb(conHsql); + DatabaseTool.closeDb(conPost); + } + } + + public Coverage4(String tableName) throws ClassNotFoundException, SQLException, IOException { + super(tableName); + } + + @Override + public void load(Connection conPost, Connection conHsql) throws ClassNotFoundException, SQLException, IOException { + load(conPost, conHsql, "code=4"); + } +} diff --git a/src/osm/jp/coverage/police/Coverage5.java b/src/osm/jp/coverage/police/Coverage5.java new file mode 100644 index 0000000..d83ac02 --- /dev/null +++ b/src/osm/jp/coverage/police/Coverage5.java @@ -0,0 +1,49 @@ +package osm.jp.coverage.police; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.xml.sax.SAXException; +import jp.co.areaweb.tools.database.DatabaseTool; + +/** + * 国土数値情報 警察署データ(平成24年:2012) + * code = 派出所 + * @author yuu + */ +public class Coverage5 extends osm.jp.postgis.CoverageAll { + + public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException + { + File dir = new File("GML_POLICE"); + File outputFileCsv = new File(dir, "coverage.police5.csv"); + File outputFileJson = new File(dir, "coverage.police5.json"); + + Coverage5 obj = new Coverage5(DbPolice.TABLE_NAME); + + Connection conPost = DatabaseTool.openDb("postgis"); + Connection conHsql = DatabaseTool.openDb("database"); + try { + obj.load(conPost, conHsql); + obj.outputCSV(outputFileCsv); + obj.outputJson(outputFileJson, "国土数値情報 警察署データ(平成24年:2012)5:派出所"); + } + finally { + DatabaseTool.closeDb(conHsql); + DatabaseTool.closeDb(conPost); + } + } + + public Coverage5(String tableName) throws ClassNotFoundException, SQLException, IOException { + super(tableName); + } + + @Override + public void load(Connection conPost, Connection conHsql) throws ClassNotFoundException, SQLException, IOException { + load(conPost, conHsql, "code=5"); + } +} diff --git a/src/osm/jp/coverage/police/CoverageAll.java b/src/osm/jp/coverage/police/CoverageAll.java deleted file mode 100644 index b140a5a..0000000 --- a/src/osm/jp/coverage/police/CoverageAll.java +++ /dev/null @@ -1,37 +0,0 @@ -package osm.jp.coverage.police; - -import osm.jp.postgis.*; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.ArrayList; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import org.xml.sax.SAXException; -import jp.co.areaweb.tools.database.DatabaseTool; - -public class CoverageAll extends ArrayList { - - public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException - { - File dir = new File("GML_POLICE"); - File outputFileCsv = new File(dir, "coverage.police.csv"); - File outputFileJson = new File(dir, "coverage.police.json"); - - osm.jp.postgis.CoverageAll obj = new osm.jp.postgis.CoverageAll(DbPolice.TABLE_NAME); - - Connection conPost = DatabaseTool.openDb("postgis"); - Connection conHsql = DatabaseTool.openDb("database"); - try { - obj.load(conPost, conHsql); - obj.outputCSV(outputFileCsv); - obj.outputJson(outputFileJson, "国土数値情報 警察署データ(平成25年)"); - } - finally { - DatabaseTool.closeDb(conHsql); - DatabaseTool.closeDb(conPost); - } - } -} diff --git a/src/osm/jp/coverage/postoffice/Coverage.java b/src/osm/jp/coverage/postoffice/Coverage.java new file mode 100644 index 0000000..0012ec3 --- /dev/null +++ b/src/osm/jp/coverage/postoffice/Coverage.java @@ -0,0 +1,44 @@ +package osm.jp.coverage.postoffice; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.sql.Connection; +import java.sql.SQLException; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.xml.sax.SAXException; +import jp.co.areaweb.tools.database.DatabaseTool; + +public class Coverage extends osm.jp.postgis.CoverageAll { + + public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException + { + File dir = new File("GML_POSTOFFICE"); + File outputFileCsv = new File(dir, "coverage.postoffice.csv"); + File outputFileJson = new File(dir, "coverage.postoffice.json"); + + Coverage obj = new Coverage(DbPostoffice.TABLE_NAME); + + Connection conPost = DatabaseTool.openDb("postgis"); + Connection conHsql = DatabaseTool.openDb("database"); + try { + obj.load(conPost, conHsql); + obj.outputCSV(outputFileCsv); + obj.outputJson(outputFileJson, "国土数値情報 郵便局データ(平成25年)"); + } + finally { + DatabaseTool.closeDb(conHsql); + DatabaseTool.closeDb(conPost); + } + } + + public Coverage(String tableName) throws ClassNotFoundException, SQLException, IOException { + super(tableName); + } + + @Override + public void load(Connection conPost, Connection conHsql) throws ClassNotFoundException, SQLException, IOException { + load(conPost, conHsql, null); + } +} diff --git a/src/osm/jp/coverage/postoffice/CoverageAll.java b/src/osm/jp/coverage/postoffice/CoverageAll.java deleted file mode 100644 index 8502837..0000000 --- a/src/osm/jp/coverage/postoffice/CoverageAll.java +++ /dev/null @@ -1,36 +0,0 @@ -package osm.jp.coverage.postoffice; - -import osm.jp.postgis.*; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.ArrayList; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import org.xml.sax.SAXException; -import jp.co.areaweb.tools.database.DatabaseTool; - -public class CoverageAll extends ArrayList { - - public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException - { - File outputFileCsv = new File("GML_POSTOFFICE", "coverage.postoffice.csv"); - File outputFileJson = new File("GML_POSTOFFICE", "coverage.postoffice.json"); - - osm.jp.postgis.CoverageAll obj = new osm.jp.postgis.CoverageAll(DbPostoffice.TABLE_NAME); - - Connection conPost = DatabaseTool.openDb("postgis"); - Connection conHsql = DatabaseTool.openDb("database"); - try { - obj.load(conPost, conHsql); - obj.outputCSV(outputFileCsv); - obj.outputJson(outputFileJson, "国土数値情報 郵便局データ(平成25年)"); - } - finally { - DatabaseTool.closeDb(conHsql); - DatabaseTool.closeDb(conPost); - } - } -} diff --git a/src/osm/jp/postgis/Coverage.java b/src/osm/jp/postgis/Coverage.java deleted file mode 100644 index ad080c7..0000000 --- a/src/osm/jp/postgis/Coverage.java +++ /dev/null @@ -1,30 +0,0 @@ -package osm.jp.postgis; - -public class Coverage -{ - /** - * 以下はクラスのメンバ変数 - * setter/getterはめんどくさいのでつかわない - */ - public int areacode; // 1..47: 都道府県コード, 0: 全国合計 - public String name; // 都道府県名称 - public long denominator; // 分母(denominator) - public long molecule; // 分子(molecule) - public double par; // パーセンテージ - public String tableName; - - /** - * コンストラクタ - * @param areacode - * @param name - * @param tableName - */ - public Coverage(int areacode, String name, String tableName) { - this.areacode = areacode; - this.name = name; - this.denominator = 1L; - this.molecule = 0L; - this.par = 0.0D; - } - -} diff --git a/src/osm/jp/postgis/CoverageAll.java b/src/osm/jp/postgis/CoverageAll.java index ac0ea04..6073827 100644 --- a/src/osm/jp/postgis/CoverageAll.java +++ b/src/osm/jp/postgis/CoverageAll.java @@ -15,17 +15,14 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import org.xml.sax.SAXException; import jp.co.areaweb.tools.csv.CsvFile; import jp.co.areaweb.tools.csv.CsvRecord; -import jp.co.areaweb.tools.database.DatabaseTool; import osm.jp.api.Japan; import osm.jp.coverage.postoffice.DbPostoffice; -public class CoverageAll extends ArrayList { +public abstract class CoverageAll extends ArrayList { + /* public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException { if (args.length < 3) { @@ -50,6 +47,7 @@ DatabaseTool.closeDb(conPost); } } + */ public static DecimalFormat df3 = new DecimalFormat("##0.00"); public String tableName; @@ -78,11 +76,8 @@ * @throws SQLException * @throws IOException */ - public void load(Connection conPost, Connection conHsql) - throws ClassNotFoundException, SQLException, IOException - { - load(conPost, conHsql, null); - } + public abstract void load(Connection conPost, Connection conHsql) + throws ClassNotFoundException, SQLException, IOException; public void load(Connection conPost, Connection conHsql, String where) @@ -90,7 +85,7 @@ { // 都道府県名(name)の設定 for (int i=0; i < Japan.areaArgs.length; i++) { - Coverage cover = new Coverage(i, Japan.areaArgs[i], DbPostoffice.TABLE_NAME); + CoverageData cover = new CoverageData(i, Japan.areaArgs[i], DbPostoffice.TABLE_NAME); // 分母(denominator)、分子(molecule)、Lv を記入 // 全国の設定 @@ -155,7 +150,7 @@ System.out.println(line.toString()); try { - for (Coverage cover : this) { + for (CoverageData cover : this) { line = new CsvRecord(); line.add(String.valueOf(cover.areacode)); line.add(cover.name); @@ -182,7 +177,7 @@ hw.write(space(level++) + "\"coverage\": ["); hw.newLine(); boolean head = true; - for (Coverage cover : this) { + for (CoverageData cover : this) { if (head == false) { hw.write(space(level) + ","); } diff --git a/src/osm/jp/postgis/CoverageData.java b/src/osm/jp/postgis/CoverageData.java new file mode 100644 index 0000000..344dbb7 --- /dev/null +++ b/src/osm/jp/postgis/CoverageData.java @@ -0,0 +1,30 @@ +package osm.jp.postgis; + +public class CoverageData +{ + /** + * 以下はクラスのメンバ変数 + * setter/getterはめんどくさいのでつかわない + */ + public int areacode; // 1..47: 都道府県コード, 0: 全国合計 + public String name; // 都道府県名称 + public long denominator; // 分母(denominator) + public long molecule; // 分子(molecule) + public double par; // パーセンテージ + public String tableName; + + /** + * コンストラクタ + * @param areacode + * @param name + * @param tableName + */ + public CoverageData(int areacode, String name, String tableName) { + this.areacode = areacode; + this.name = name; + this.denominator = 1L; + this.molecule = 0L; + this.par = 0.0D; + } + +} diff --git a/src/osmCoverage_PoliceJson b/src/osmCoverage_PoliceJson index 9ca04f7..b9bd0dd 100644 --- a/src/osmCoverage_PoliceJson +++ b/src/osmCoverage_PoliceJson @@ -18,8 +18,16 @@ tar czvf policeJSON.tgz vtile/*.json java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.ToGeoJSON -slim -java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.Coverage coverage.police.csv -java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.Coverage coverage.police.json + +# output file "coverage.police2.csv" and "coverage.police2.json" +java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.Coverage2 + +# output file "coverage.police4.csv" and "coverage.police4.json" +java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.Coverage4 + +# output file "coverage.police5.csv" and "coverage.police5.json" +java -cp .:osmCoverage.jar:hayashi.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.police.Coverage5 + ls -l mv coverage.police.json GML_POLICE mv coverage.police.csv GML_POLICE