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;
}</pre>
*/
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 >>---
-------------------------