diff --git a/src/osm/jp/coverage/busstop/ToPostgis.java b/src/osm/jp/coverage/busstop/ToPostgis.java index 76ebca3..145b144 100644 --- a/src/osm/jp/coverage/busstop/ToPostgis.java +++ b/src/osm/jp/coverage/busstop/ToPostgis.java @@ -16,9 +16,20 @@ * */ public class ToPostgis extends osm.jp.postgis.ToPostgis { + + /** + * + * @param argv 出力先データベースのプロパティ名 + * @throws Exception + */ public static void main(String[] argv) throws Exception { ToPostgis model = new ToPostgis(); - model.transport(); + if (argv.length < 1) { + model.transport(); + } + else { + model.transport(argv[0]); + } } public ToPostgis() { diff --git a/src/osm/jp/coverage/fuel/ToPostgis.java b/src/osm/jp/coverage/fuel/ToPostgis.java index fb50ca5..b63b3af 100644 --- a/src/osm/jp/coverage/fuel/ToPostgis.java +++ b/src/osm/jp/coverage/fuel/ToPostgis.java @@ -4,8 +4,8 @@ import osm.jp.postgis.PostgisItems; /** - * 国土数値情報から読み取ったデータをPostGISへインサートするためのSQLファイルに出力する。 - * 出力ファイル名: "t_FUEL.sql" + * 国土数値情報から読み取ったデータをPostGISへインサートする。 + * 出力dbプロパティ: "postgis.properties" * テーブル名: t_FUEL * インデックス: ix_t_FUEL_geom * gid PostGISの識別ID @@ -18,9 +18,19 @@ */ public class ToPostgis extends osm.jp.postgis.ToPostgis { + /** + * + * @param argv 出力先データベースのプロパティ名 + * @throws Exception + */ public static void main(String[] argv) throws Exception { ToPostgis model = new ToPostgis(); - model.transport(); + if (argv.length < 1) { + model.transport(); + } + else { + model.transport(argv[0]); + } } public ToPostgis() { diff --git a/src/osm/jp/coverage/police/ToPostgis.java b/src/osm/jp/coverage/police/ToPostgis.java index 10e51b2..52d68b8 100644 --- a/src/osm/jp/coverage/police/ToPostgis.java +++ b/src/osm/jp/coverage/police/ToPostgis.java @@ -18,9 +18,19 @@ */ public class ToPostgis extends osm.jp.postgis.ToPostgis { + /** + * + * @param argv 出力先データベースのプロパティ名 + * @throws Exception + */ public static void main(String[] argv) throws Exception { ToPostgis model = new ToPostgis(); - model.transport(); + if (argv.length < 1) { + model.transport(); + } + else { + model.transport(argv[0]); + } } public ToPostgis() { diff --git a/src/osm/jp/coverage/postoffice/ToPostgis.java b/src/osm/jp/coverage/postoffice/ToPostgis.java index e07f00f..dc6908a 100644 --- a/src/osm/jp/coverage/postoffice/ToPostgis.java +++ b/src/osm/jp/coverage/postoffice/ToPostgis.java @@ -18,9 +18,19 @@ */ public class ToPostgis extends osm.jp.postgis.ToPostgis { + /** + * + * @param argv 出力先データベースのプロパティ名 + * @throws Exception + */ public static void main(String[] argv) throws Exception { ToPostgis model = new ToPostgis(); - model.transport(); + if (argv.length < 1) { + model.transport(); + } + else { + model.transport(argv[0]); + } } public ToPostgis() { diff --git a/src/osm/jp/postgis/ToPostgis.java b/src/osm/jp/postgis/ToPostgis.java index 2822c29..f0691f5 100644 --- a/src/osm/jp/postgis/ToPostgis.java +++ b/src/osm/jp/postgis/ToPostgis.java @@ -16,8 +16,8 @@ import osm.jp.api.HttpPOST; /** - * 国土数値情報から読み取ったデータをPostGISへインサートするためのSQLファイルに出力する。 - * 出力ファイル名: "t_POSTOFFICE.sql" + * 国土数値情報から読み取ったデータをPostGISへインサートする。 + * 出力db名: "postgis.properties" * テーブル名: t_POSTOFFICE * インデックス: ix_t_POSTOFFICE_geom * gid PostGISの識別ID @@ -32,6 +32,10 @@ String tableName = null; public PostgisItems items = null; + /** + * コンストラクタ + * @param tableName 出力先データベーステーブル + */ public ToPostgis(String tableName) { this.tableName = tableName; this.items = new PostgisItems(); @@ -53,8 +57,11 @@ * @throws Exception */ public void transport() throws Exception { + transport("postgis"); + } + public void transport(String toPropertiy) throws Exception { try (Connection conHsql = DatabaseTool.openDb("database"); - Connection conPost = DatabaseTool.openDb("postgis")) + Connection conPost = DatabaseTool.openDb(toPropertiy)) { transportNew(conHsql, conPost); toInsert(conHsql, conPost); @@ -94,6 +101,7 @@ OWNER TO postgres; CREATE INDEX ix_TABLENAME_geom ON public.t_TABLENAME USING gist (geom); + GRANT SELECT ON t_fuel TO gisuser; } */ public void transportNew(Connection conHsql, Connection conPost) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException { @@ -110,6 +118,7 @@ + "geom GEOMETRY(POINT, 4612)" + ");"); posgre.sql("CREATE INDEX ix_"+ tableName +"_geom ON t_"+ tableName +" USING GiST (geom);"); + posgre.sql("GRANT SELECT ON t_"+ tableName +" TO gisuser;"); } public void toInsert (Connection conHsql, Connection conPost) diff --git a/src/t_BUSSTOP.sql b/src/t_BUSSTOP.sql index 8f5dad5..7b1f5bb 100644 --- a/src/t_BUSSTOP.sql +++ b/src/t_BUSSTOP.sql @@ -30,6 +30,7 @@ insert into t_test(osm_id,name,geom) VALUES(884, 'なまえ', ST_GeomFromText('POINT(139.4110836 35.4341053)', 4612)); ---- +GRANT SELECT ON t_BUSSTOP TO gisuser; ---<< database: hsqldb >>--- CREATE TABLE bus_stop ( diff --git a/src/t_FUEL.sql b/src/t_FUEL.sql index d3c8758..cf25ecc 100644 --- a/src/t_FUEL.sql +++ b/src/t_FUEL.sql @@ -23,7 +23,8 @@ insert into t_FUEL (gmlid,fixed,area,geom) VALUES('n000001',0,0, ST_GeomFromText('POINT(136.9695284611471 35.10300377075564)', 4612)); insert into t_FUEL (gmlid,fixed,area,geom) VALUES('n000002',0,0, ST_GeomFromText('POINT(136.969047121627 35.102834616747685)', 4612)); insert into t_FUEL (gmlid,fixed,area,geom) VALUES('n000003',0,0, ST_GeomFromText('POINT(136.9743151095072 35.10462957171922)', 4612)); - +------------------------- +GRANT SELECT ON t_fuel TO gisuser; ---<< database: hsqldb >>--- -------------------------