diff --git a/src/osm/jp/coverage/busstop/DbExistBusstop.java b/src/osm/jp/coverage/busstop/DbExistBusstop.java
index df1cbf3..ca10a48 100644
--- a/src/osm/jp/coverage/busstop/DbExistBusstop.java
+++ b/src/osm/jp/coverage/busstop/DbExistBusstop.java
@@ -113,6 +113,7 @@
* @param point 評価ポイント[POINT_NO|POINT_BRAND|POINT_NAME] 1: 'brand' 2:'name'
* @throws Exception エラー
*/
+ @Override
public void readExisting(Connection hsqldb, String sqlWhere, int point) throws Exception {
Connection osmdb = null;
long counter = 0L;
diff --git a/src/osm/jp/coverage/fuel/DbExist.java b/src/osm/jp/coverage/fuel/DbExist.java
index 2fdb284..5d4a40c 100644
--- a/src/osm/jp/coverage/fuel/DbExist.java
+++ b/src/osm/jp/coverage/fuel/DbExist.java
@@ -1,9 +1,6 @@
package osm.jp.coverage.fuel;
import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
import jp.co.areaweb.tools.database.*;
import osm.jp.api.Osmdb;
diff --git a/src/osm/jp/coverage/fuel/DbFuel.java b/src/osm/jp/coverage/fuel/DbFuel.java
index 82ace0b..821f91a 100644
--- a/src/osm/jp/coverage/fuel/DbFuel.java
+++ b/src/osm/jp/coverage/fuel/DbFuel.java
@@ -95,7 +95,7 @@
}
public static void dropTable (Connection conHsql) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException {
- String sqlStr = "DROP TABLE FUEL";
+ String sqlStr = "DROP TABLE IF EXISTS FUEL";
try (PreparedStatement ps = conHsql.prepareStatement(sqlStr)) {
System.out.println(sqlStr);
ps.executeUpdate();
diff --git a/src/osm/jp/coverage/police/DbExist.java b/src/osm/jp/coverage/police/DbExist.java
index 723af9a..cbff489 100644
--- a/src/osm/jp/coverage/police/DbExist.java
+++ b/src/osm/jp/coverage/police/DbExist.java
@@ -1,10 +1,6 @@
package osm.jp.coverage.police;
import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import jp.co.areaweb.tools.csv.CsvRecord;
import jp.co.areaweb.tools.database.*;
import osm.jp.api.Osmdb;
@@ -84,7 +80,7 @@
public void getJapanCapabilities(Connection hsqldb) throws Exception {
// 通常 → 50ポイント
// FIXMEあり → 1ポイント
- readExisting(hsqldb, "where amenity='police'", POINT_NO);
+ readExisting(hsqldb, "where amenity='police'", POINT_FIXME);
readExistingSub(hsqldb, "disused:amenity", "police", POINT_NO);
readExistingSub(hsqldb, "abandoned:amenity", "police", POINT_NO);
readExistingSub(hsqldb, "demolished:amenity", "police", POINT_NO);
@@ -94,126 +90,4 @@
readExistingSub(hsqldb, "no:amenity", "police", POINT_NO);
}
- /**
- * 'table.POLICE'の内容をCSV形式にして標準出力に出力する
- * @param hsqldb
- * @throws java.sql.SQLException
- */
- public static void export(Connection hsqldb) throws SQLException {
- String header = "idref,lat,lon,score";
- System.out.println(header);
- PreparedStatement ps8 = hsqldb.prepareStatement("SELECT idref,lat,lon,score FROM "+ TABLE_NAME);
- try (ResultSet rset8 = ps8.executeQuery()) {
- while (rset8.next()) {
- String idcode = rset8.getString(1);
- Double lat = rset8.getDouble(2);
- Double lon = rset8.getDouble(3);
- int score = rset8.getInt(4);
- System.out.println("OSM: "+ idcode +","+ lat +","+ lon +","+ score);
- }
- }
- }
-
- /**
- * File(HttpPOST.EXIST_FILE)を読み取って、データベースに反映させる。
- * その際に、OSMノードを評価し、scoreを算定する
- *
- * @param hsqldb 反映先のデータベースコネクタ(HSQLDB)
- * @param sqlWhere POI条件
- * @param point 評価ポイント[POINT_NO|POINT_BRAND|POINT_NAME] 1: 'brand' 2:'name'
- * @throws Exception エラー
- */
- public void readExisting(Connection hsqldb, String sqlWhere, int point) throws Exception {
- Connection osmdb = null;
- long counter = 0L;
- try {
- osmdb = DatabaseTool.openDb("osmdb");
- String sqlNode = "select osm_id,brand,disused,name,ST_Y(ST_Transform(way,4326)) as lat,ST_X(ST_Transform(way,4326)) as lon from planet_osm_point " + sqlWhere;
- PreparedStatement ps1 = osmdb.prepareStatement(sqlNode);
- try (ResultSet rset1 = ps1.executeQuery()) {
- while (rset1.next()) {
- counter += importExistingNode(hsqldb, osmdb, rset1, point);
- }
- }
- String sqlArea = "select osm_id,brand,disused,name,ST_Y(ST_Transform(ST_Centroid(way),4326)) as lat,ST_X(ST_Transform(ST_Centroid(way),4326)) as lon from planet_osm_polygon " + sqlWhere;
- PreparedStatement ps2 = osmdb.prepareStatement(sqlArea);
- try (ResultSet rset2 = ps2.executeQuery()) {
- while (rset2.next()) {
- counter += importExistingNode(hsqldb, osmdb, rset2, point);
- }
- }
-
- System.out.println("Exists Node count = " + counter);
- }
- finally {
- DatabaseTool.closeDb(osmdb);
- }
- }
-
- /**
- *
- * SELECT
- planet_osm_point.osm_id,
- planet_osm_point.amenity,
- planet_osm_point.brand,
- planet_osm_nodes.id,
- planet_osm_nodes.tags
- FROM
- public.planet_osm_point,
- public.planet_osm_nodes
- WHERE
- planet_osm_point.osm_id = planet_osm_nodes.id and 'disused:amenity'=ANY(planet_osm_nodes.tags) and 'fuel'=ANY(planet_osm_nodes.tags);
- *
- * @param hsqldb
- * @param kStr
- * @param vStr
- * @param point
- * @throws Exception
- */
- public void readExistingSub(Connection hsqldb, String kStr, String vStr, int point) throws Exception {
- Connection osmdb = null;
- long counter = 0L;
- try {
- osmdb = DatabaseTool.openDb("osmdb");
-
- PreparedStatement ps1 = osmdb.prepareStatement("SELECT osm_id,brand,name,disused,tags,ST_Y(ST_Transform(way,4326)) as lat,ST_X(ST_Transform(way,4326)) as lon FROM planet_osm_point,planet_osm_nodes WHERE osm_id=id AND '"+ kStr +"'=ANY(tags) AND '"+ vStr +"'=ANY(tags)");
- try (ResultSet rset1 = ps1.executeQuery()) {
- while (rset1.next()) {
- String tags = rset1.getString("tags");
- if (tags != null) {
- tags = tags.substring(1);
- tags = tags.substring(0, tags.length()-1);
- CsvRecord csv = new CsvRecord();
- csv.analizeRecord(tags);
-
- boolean key = false;
- for (String str : csv) {
- if (key) {
- if (str.equals(vStr)) {
- counter += importExistingNode(hsqldb, osmdb, rset1, point);
- break;
- }
- key = false;
- }
- else {
- if (str.equals(kStr)) {
- key = true;
- }
- }
- }
- }
- }
- }
- PreparedStatement ps2 = osmdb.prepareStatement("SELECT osm_id,brand,disused,name,tags,ST_Y(ST_Transform(ST_Centroid(way),4326)) as lat,ST_X(ST_Transform(ST_Centroid(way),4326)) as lon FROM planet_osm_polygon,planet_osm_nodes WHERE osm_id=id AND '"+ kStr +"'=ANY(tags) AND '"+ vStr +"'=ANY(tags)");
- try (ResultSet rset2 = ps2.executeQuery()) {
- while (rset2.next()) {
- counter += importExistingNode(hsqldb, osmdb, rset2, point);
- }
- }
- System.out.println("Exists Node count = " + counter);
- }
- finally {
- DatabaseTool.closeDb(osmdb);
- }
- }
}
\ No newline at end of file
diff --git a/src/osm/jp/coverage/police/Police.java b/src/osm/jp/coverage/police/Police.java
index 905a2d5..d9c384e 100644
--- a/src/osm/jp/coverage/police/Police.java
+++ b/src/osm/jp/coverage/police/Police.java
@@ -57,7 +57,7 @@
/**
* HSQL_DB.OSM_EXITのscoreを集計して、HSQL_DB.POLICEのfixedに反映させる
*
- * @param con
+ * @param con HSQLDB
* @throws SQLException
* @throws FileNotFoundException
* @throws ClassNotFoundException
@@ -72,6 +72,11 @@
String sql2 = "SELECT idref,lat,lon,fixed, area FROM "+ DbPolice.TABLE_NAME +" WHERE (lat > ?) and (lat < ?) and (lon > ?) and (lon < ?) and (fixed1=0)";
String sql3 = "UPDATE "+ DbPolice.TABLE_NAME +" SET fixed1=? WHERE idref=? and area=?";
String sql5 = "UPDATE "+ DbPolice.TABLE_NAME +" SET up=1 WHERE (fixed<>fixed1) and (up=0)";
+ System.out.println(sql1);
+ System.out.println(sql2);
+ System.out.println(sql3);
+ System.out.println(sql4);
+ System.out.println(sql5);
try ( PreparedStatement ps2 = con.prepareStatement(sql2);
PreparedStatement ps1 = con.prepareStatement(sql1);
PreparedStatement ps3 = con.prepareStatement(sql3);
diff --git a/src/police.activity.violet.html b/src/police.activity.violet.html
index 6cb4144..b834f43 100644
--- a/src/police.activity.violet.html
+++ b/src/police.activity.violet.html
@@ -48,7 +48,8 @@
DbPolice.main()
国土数値情報XMLを読み取って
-HSQLDB.BUS_STOPテーブルに格納する
+"HSQLDB.POLICE"と
+"HSQLDB.POLICE2"テーブルに格納する
@@ -898,1023 +899,1041 @@
]]>
-
+