diff --git a/doc/osmCoverage.md b/doc/osmCoverage.md index fd47c70..cdae0e7 100644 --- a/doc/osmCoverage.md +++ b/doc/osmCoverage.md @@ -27,4 +27,63 @@ ## 使い方 +### database PostGIS + +#### PostGIS データベースを立ち上げる + +"PostGIS"を起動する + +* Use by DockerHub `kartoza/postgis:9.6-2.4` + +1) `docker pull kartoza/postgis:9.6-2.4` + +2) `mkdir pg_data` + +3) `docker run --name=postgis -d -e POSTGRES_USER=alex -e POSTGRES_PASS=password -e POSTGRES_DBNAME=gis -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v pg_data:$(pwd)/pg_data --restart=always kartoza/postgis:9.6-2.4` + * `-e POSTGRES_USER=alex` + * `-e POSTGRES_PASS=password` + * `-e POSTGRES_DBNAME=gis` + * `-e ALLOW_IP_RANGE=0.0.0.0/0` すべてのIPからの接続を許可する + * `-p 5432:5432` + * `-v pg_data:$(pwd)/pg_data` PostgreSQL databade data folder + * `--restart=always` + + +"pgAdmin4"で接続を確認する + +1) `docker run -p 80:80 -e "PGADMIN_DEFAULT_EMAIL=user" -d dpage/pgadmin4` + +2) pgAdmin4 : Login + +3) pgAdmin4 : 接続 + + * host name: `192.168.0.11` + * port: `5432` + * database admin: `postgres` + * user name: `alex` + * password: `password` + + +"PostGISへの接続設定ファイル"を準備する + +* postgis `osmdb.properties` + +``` +db_driver=org.postgresql.Driver +db_url=jdbc:postgresql://localhost:5432/gis +db_user=alex +db_passwd=password +``` + +"" + +6. osm2pgsql +``` +echo '*:*:*:alex:password' > ~/.pgpass +chmod 600 ~/.pgpass +``` + +91. stop pgAdmin4 `docker stop stupefied_poitras` + +92. stop postGIS `docker stop postgis` diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 884d412..9cc275a 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -916,8 +916,8 @@ - - + + @@ -1411,8 +1411,8 @@ - - + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index ff571e4..d9744a4 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -nbbuild.xml.data.CRC32=cc6c4e6a +nbbuild.xml.data.CRC32=4bf27971 nbbuild.xml.script.CRC32=e7ea1557 nbbuild.xml.stylesheet.CRC32=8064a381@1.80.1.48 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=cc6c4e6a -nbproject/build-impl.xml.script.CRC32=3a0f5e9e +nbproject/build-impl.xml.data.CRC32=4bf27971 +nbproject/build-impl.xml.script.CRC32=ea55f081 nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/nbproject/project.properties b/nbproject/project.properties index a167df2..8f5353c 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -42,8 +42,8 @@ javac.classpath=\ ${file.reference.hsqldb_2.2.9.jar}:\ ${file.reference.javax.json.jar}:\ - ${reference.hayashi.jar}:\ - ${file.reference.postgresql-42.2.4.jar} + ${file.reference.postgresql-42.2.4.jar}:\ + ${reference.hayashi-1.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false @@ -92,8 +92,8 @@ meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false platform.active=default_platform -project.hayashi=../hayashi -reference.hayashi.jar=${project.hayashi}/dist/hayashi.jar +project.hayashi-1=../../../../mnt/hayashi/workspace/hayashi +reference.hayashi-1.jar=${project.hayashi-1}/dist/hayashi.jar run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} diff --git a/nbproject/project.xml b/nbproject/project.xml index c0a9730..eb3081e 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -14,7 +14,7 @@ - hayashi + hayashi-1 jar jar diff --git a/test/osm/jp/coverage/DbTest.java b/test/osm/jp/coverage/DbTest.java index dc49f4b..8afdfc4 100644 --- a/test/osm/jp/coverage/DbTest.java +++ b/test/osm/jp/coverage/DbTest.java @@ -8,7 +8,11 @@ import javax.xml.parsers.ParserConfigurationException; import jp.co.areaweb.tools.database.*; +import org.junit.After; +import org.junit.AfterClass; import static org.junit.Assert.fail; +import org.junit.Before; +import org.junit.BeforeClass; import org.xml.sax.SAXException; import osm.jp.api.HttpPOST; @@ -62,6 +66,23 @@ } } } + + @BeforeClass + public static void setUpClass() throws Exception { + } + + @AfterClass + public static void tearDownClass() throws Exception { + } + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + /** * 数値地図情報のGMLデータファイルを読み取ってローカルベータベースへ記録する diff --git a/test/osm/jp/coverage/HsqldbTest.java b/test/osm/jp/coverage/HsqldbTest.java new file mode 100644 index 0000000..affc301 --- /dev/null +++ b/test/osm/jp/coverage/HsqldbTest.java @@ -0,0 +1,59 @@ +package osm.jp.coverage; + +import java.io.File; +import java.sql.Connection; +import jp.co.areaweb.tools.database.DatabaseTool; +import static org.hamcrest.CoreMatchers.is; +import org.junit.After; +import org.junit.AfterClass; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * database connect test. + * `database.properties` hsqldb + */ +public class HsqldbTest { + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * HSQLDB `database.properties` + */ + @Test + public void connectTest_database() { + connect("database"); + } + + void connect(String dbname) { + try (Connection hsqldb = DatabaseTool.openDb(dbname)) { + assertNotNull(hsqldb); + } + catch (Exception ex) { + fail(ex.toString()); + } + + File dir = new File(dbname); + assertNotNull(dir); + assertThat(dir.exists(), is(true)); + assertThat(dir.isDirectory(), is(true)); + } +} diff --git a/test/osm/jp/coverage/PostgresqlTest.java b/test/osm/jp/coverage/PostgresqlTest.java new file mode 100644 index 0000000..79e22f8 --- /dev/null +++ b/test/osm/jp/coverage/PostgresqlTest.java @@ -0,0 +1,73 @@ +package osm.jp.coverage; + +import java.io.File; +import java.sql.Connection; +import jp.co.areaweb.tools.database.DatabaseTool; +import static org.hamcrest.CoreMatchers.is; +import org.junit.After; +import org.junit.AfterClass; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * database connect test. + * `database.properties` hsqldb + */ +public class PostgresqlTest { + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * postgresql `postgis.properties` + */ + @Test + public void connectTest_postgis() { + connect("postgis"); + } + + /** + * postgresql `osmdb.properties` + * ``` + * docker run --name=postgis -d + * -e POSTGRES_USER=alex + * -e POSTGRES_PASS=password + * -e POSTGRES_DBNAME=gis + * -e ALLOW_IP_RANGE=0.0.0.0/0 + * -p 5432:5432 + * -v pg_data:/var/lib/postgresql + * --restart=always + * kartoza/postgis:9.6-2.4 + * ``` + */ + @Test + public void connectTest_osmdb() { + connect("osmdb"); + } + + void connect(String dbname) { + try (Connection postgresql = DatabaseTool.openDb(dbname)) { + assertNotNull(postgresql); + } + catch (Exception ex) { + fail(ex.toString()); + } + } +} diff --git a/test/osm/jp/coverage/Test.java b/test/osm/jp/coverage/Test.java index 925510b..30d0911 100644 --- a/test/osm/jp/coverage/Test.java +++ b/test/osm/jp/coverage/Test.java @@ -12,7 +12,6 @@ import java.sql.SQLException; import java.text.SimpleDateFormat; import jp.co.areaweb.tools.database.*; -import osm.jp.api.HttpPOST; import osm.jp.api.Japan; import osm.jp.api.RectArea;