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 @@
         </propertyfile>
         <antcall target="-maybe-call-dep">
             <param name="call.built.properties" value="${built-jar.properties}"/>
-            <param location="${project.hayashi}" name="call.subproject"/>
-            <param location="${project.hayashi}/nbbuild.xml" name="call.script"/>
+            <param location="${project.hayashi-1}" name="call.subproject"/>
+            <param location="${project.hayashi-1}/nbbuild.xml" name="call.script"/>
             <param name="call.target" value="jar"/>
             <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
             <param name="transfer.not.archive.disabled" value="true"/>
@@ -1411,8 +1411,8 @@
         </propertyfile>
         <antcall target="-maybe-call-dep">
             <param name="call.built.properties" value="${built-clean.properties}"/>
-            <param location="${project.hayashi}" name="call.subproject"/>
-            <param location="${project.hayashi}/nbbuild.xml" name="call.script"/>
+            <param location="${project.hayashi-1}" name="call.subproject"/>
+            <param location="${project.hayashi-1}/nbbuild.xml" name="call.script"/>
             <param name="call.target" value="clean"/>
             <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
             <param name="transfer.not.archive.disabled" value="true"/>
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 @@
         </data>
         <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
             <reference>
-                <foreign-project>hayashi</foreign-project>
+                <foreign-project>hayashi-1</foreign-project>
                 <artifact-type>jar</artifact-type>
                 <script>nbbuild.xml</script>
                 <target>jar</target>
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;