REMOVED
1 parent da3af81 commit 99736e489cbc8e410c9ef4d19f82badc6b64645f
@hayashi hayashi authored on 7 Oct 2018
Showing 10 changed files
View
28
src/coverage_FUEL.sh
git checkout master
cp ../osmCoverage/dist/osmCoverage.jar .
rm -r database
mkdir database
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.DbExist
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.DbFuel
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.Fuel
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.ToPostgis
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.ToCartoCSV
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.ToGeoJSON
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.Coverage coverage.fuel.csv
java -cp .:osmCoverage.jar:hayashi_0225.jar:hsqldb_2.2.9.jar:postgresql-9.4.1212.jar osm.jp.coverage.fuel.Coverage coverage.fuel.json
 
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbFuel -INIT
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbFuel -IMPORT GML_FUEL
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbFuel -REMOVED GML_FUEL/P07-15.removed.json.txt
 
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbExistFuel -INIT
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbExistFuel -IMPORT
 
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.Fuel
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar:javax.json.jar osm.jp.coverage.fuel.DbFuel -OUTPUT GML_FUEL/P07-15.removed.json.txt
 
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar osm.jp.coverage.fuel.ToPostgis postgis
java -cp .:osmCoverage.jar:hayashi.jar:hsqldb.jar:postgresql.jar osm.jp.coverage.fuel.ToPostgis gisdb
 
cp coverage.fuel.json GML_FUEL
cp coverage.fuel.csv GML_FUEL
cp fuel?.json GML_FUEL
rm coverage.fuel.*
View
4
src/osm/jp/api/Osmdb.java
return true;
}
return (vstr.trim().length() < 1);
}
 
int readAreaNodes(Connection con, Node node) throws IOException, SQLException {
int iCounter = 0;
 
NodeList nodes = node.getChildNodes();
}
}
return iCounter;
}
 
void importAreaNode(Connection con, Node node) throws IOException, SQLException {
String idrefStr = "";
String latStr = "";
String lonStr = "";
View
112
src/osm/jp/coverage/fuel/DbExistFuel.java
package osm.jp.coverage.fuel;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.sql.Connection;
import jp.co.areaweb.tools.database.*;
import osm.jp.api.Osmdb;
 
public class DbExistFuel extends Osmdb {
public static final String EXIST_TABLENAME = "FUEL_EXIST";
@SuppressWarnings("FieldNameHidesFieldInSuperclass")
public static final String TABLE_NAME = "FUEL_EXIST";
public static final String CLASS_NAME = "DbExistFuel";
 
/** メイン
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
Connection hsqldb = null;
try {
// DB.tableを作成
hsqldb = DatabaseTool.openDb("database");
DbExistFuel dbExist = new DbExistFuel(hsqldb);
dbExist.create();
/**
* 既存のOSMガソリンスタンドを読み込む
* OSM OverPassAPI を使って、既存のGSデータを取得して、「HSQLDB.FUEL_EXIST」にSTOREする
*/
dbExist.getJapanCapabilities();
dbExist.export();
if (args.length < 1) {
commandHelp();
throw new Exception(
String.format("[ERROR] Illegal command call '%s'", CLASS_NAME)
);
}
finally {
if (hsqldb != null) {
DatabaseTool.closeDb(hsqldb);
// HSQLディレクトリがなければエラー
File dbdir = new File("database");
if (!dbdir.isDirectory()) {
throw new FileNotFoundException("Directory 'database' is not found.");
}
try (Connection hsqldb = DatabaseTool.openDb("database")) {
switch (args[0]) {
case "-INIT":
{
// DB.tableを作成(初期化)
DbExistFuel dbExist = new DbExistFuel(hsqldb);
dbExist.create();
break;
}
case "-IMPORT":
{
// 既存のOSMガソリンスタンドを読み込む
DbExistFuel dbExist = new DbExistFuel(hsqldb);
dbExist.getJapanCapabilities();
break;
}
case "-EXPORT":
{
DbExistFuel dbExist = new DbExistFuel(hsqldb);
dbExist.export();
break;
}
default:
commandHelp();
throw new Exception("[ERROR] Illegal command call '"+ CLASS_NAME +"'");
}
}
}
 
static void commandHelp() {
System.out.println("[Command Call]");
System.out.println("> "+ CLASS_NAME +" -INIT");
System.out.println(" Initillaize detabase table '"+ TABLE_NAME +"'.");
System.out.println();
System.out.println("> "+ CLASS_NAME +" -IMPORT");
System.out.println(" 既存のOSMガソリンスタンドを読み込む.");
System.out.println();
}
public DbExistFuel(Connection hsqldb) {
super(hsqldb, EXIST_TABLENAME);
super(hsqldb, TABLE_NAME);
}
/*
Test data:
View
52
src/osm/jp/coverage/fuel/DbFuel.java
 
public class DbFuel extends Osmdb {
@SuppressWarnings("FieldNameHidesFieldInSuperclass")
public static final String TABLE_NAME = "FUEL";
public static final String CLASS_NAME = "DbFuel";
 
/** メイン
*
* @param args
public static void main(String[] args) throws Exception
{
if (args.length < 1) {
commandHelp();
throw new Exception("[ERROR] Illegal command call 'DbFuel'");
throw new Exception(
String.format("[ERROR] Illegal command call '%s'", CLASS_NAME)
);
}
// HSQLディレクトリがなければエラー
File dbdir = new File("database");
if (!dbdir.isDirectory()) {
throw new FileNotFoundException("Directory 'database' is not found.");
}
Connection hsqldb = null;
try {
hsqldb = DatabaseTool.openDb("database");
try (Connection hsqldb = DatabaseTool.openDb("database")) {
switch (args[0]) {
case "-INIT":
{
// DB.tableを作成(初期化)
{
// GMLからの読み込み
if (args.length < 2) {
throw new Exception(
"[ERROR] Illegal command call 'DbFuel -IMPORT <gml directory>'"
"[ERROR] Illegal command call '"+ CLASS_NAME +" -IMPORT <gml directory>'"
);
}
DbFuel dbFuel = new DbFuel(hsqldb);
dbFuel.importGmlfiles(args[1]);
{
// REMOVEDファイルを読み込み
if (args.length < 2) {
throw new Exception(
"[ERROR] Illegal command call 'DbFuel -REMOVED <removed.json.txt>'"
"[ERROR] Illegal command call '"+ CLASS_NAME +" -REMOVED <removed.json.txt>'"
);
}
DbFuel dbFuel = new DbFuel(hsqldb);
dbFuel.loadRemoved(new File(args[1]));
case "-EXPORT":
// 'table.FUEL'の内容をCSV形式にして標準出力に出力する
DbFuel.export(hsqldb);
break;
case "-OUTPUT":
{
// REMOVEDファイルを読み込み
if (args.length < 2) {
throw new Exception(
"[ERROR] Illegal command call '"+ CLASS_NAME +" -OUTPUT <removed.json.txt>'"
);
}
DbFuel dbFuel = new DbFuel(hsqldb);
dbFuel.outputRemoved(new File(args[1]));
break;
}
default:
commandHelp();
throw new Exception("[ERROR] Illegal command call 'DbFuel'");
}
}
finally {
if (hsqldb != null) {
DatabaseTool.closeDb(hsqldb);
throw new Exception("[ERROR] Illegal command call '"+ CLASS_NAME +"'");
}
}
}
static void commandHelp() {
System.out.println("[Command Call]");
System.out.println("> DbFuel -INIT");
System.out.println("> "+ CLASS_NAME +" -INIT");
System.out.println(" Initillaize detabase table 'FUEL'.");
System.out.println();
System.out.println("> DbFuel -IMPORT <gml directory>");
System.out.println("> "+ CLASS_NAME +" -IMPORT <gml directory>");
System.out.println(" Import from GML files.");
System.out.println();
System.out.println("> DbFuel -REMOVED <removed.json.txt>");
System.out.println("> "+ CLASS_NAME +" -REMOVED <removed.json.txt>");
System.out.println(" Import REMOVED json.text file.");
System.out.println();
System.out.println("> DbFuel -EXPORT");
System.out.println("> "+ CLASS_NAME +" -EXPORT");
System.out.println(" 'table.*'の内容をCSV形式にして標準出力に出力する");
System.out.println();
System.out.println("> "+ CLASS_NAME +" -OUTPUT <removed.json.txt>");
System.out.println(" removedデータをファイルに追記する");
System.out.println();
}
public DbFuel(Connection hsqldb) {
View
8
src/osm/jp/coverage/fuel/Fuel.java
}
 
try (Connection hsql = DatabaseTool.openDb("database")) {
new Fuel(hsql);
File removedFile = new File("GML_FUEL", "P07-15.removed.json.txt");
DbFuel dbFuel = new DbFuel(hsql);
dbFuel.outputRemoved(removedFile);
}
}
/**
boolean removed = false;
double distance = 999999.9D;
 
String whereStr = "WHERE (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?) and (gmlid IS NULL)";
String fromStr = "FROM "+ DbExistFuel.EXIST_TABLENAME;
String fromStr = "FROM "+ DbExistFuel.TABLE_NAME;
String sql2 = String.format("SELECT idref,lat,lon,score,removed %s %s", fromStr, whereStr);
try (PreparedStatement ps2 = hsqldb.prepareStatement(sql2)) {
// 指定の緯度経度を中心とする半径100x2m四方の矩形領域
RectArea rect = new RectArea(lat, lon, NEER); // 100m 四方
}
 
setStr = "SET gmlid=?,area=?";
whereStr = "WHERE idref=?";
String sql4 = String.format("UPDATE %s %s %s",DbExistFuel.EXIST_TABLENAME, setStr, whereStr);
String sql4 = String.format("UPDATE %s %s %s",DbExistFuel.TABLE_NAME, setStr, whereStr);
try (PreparedStatement ps4 = hsqldb.prepareStatement(sql4)) {
System.out.println(sql4);
ps4.setString(1, gmlid);
ps4.setInt(2, area);
View
src/osm/jp/coverage/fuel/OsmExistFuel.java
View
test/osm/jp/coverage/DbTest.java
View
test/osm/jp/coverage/fuel/DbExistTest.java
View
test/osm/jp/coverage/fuel/DbFuelTest.java
View
test/osm/jp/coverage/fuel/FuelTest.java