test: Connection to PostGIS.
1 parent 757c40f commit 404e5aba187e29b7405f085ed76d694d62a9c7de
@yuu yuu authored on 11 Nov 2018
Showing 6 changed files
View
dist/lib/hayashi.jar
Not supported
View
59
doc/osmCoverage.md
 
 
## 使い方
 
### 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`
 
View
21
test/osm/jp/coverage/DbTest.java
import java.sql.SQLException;
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;
 
public class DbTest {
DatabaseTool.closeDb(conHsql);
}
}
}
 
@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データファイルを読み取ってローカルベータベースへ記録する
* @param conHsql
View
60
test/osm/jp/coverage/HsqldbTest.java 0 → 100644
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));
}
}
View
74
test/osm/jp/coverage/PostgresqlTest.java 0 → 100644
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());
}
}
}
View
1
■■■■
test/osm/jp/coverage/Test.java
import java.sql.ResultSet;
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;
 
public class Test {