diff --git a/src/osm/jp/coverage/fuel/DbExist.java b/src/osm/jp/coverage/fuel/DbExist.java index cd14d37..0af32eb 100644 --- a/src/osm/jp/coverage/fuel/DbExist.java +++ b/src/osm/jp/coverage/fuel/DbExist.java @@ -4,6 +4,7 @@ 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; @@ -73,7 +74,7 @@ *
{@code
* (
* node[disused:amenity=fuel](35.42,139.39,35.45,139.42);
- * way[disused:amenity=fuel](35.42,139.39,35.45,139.42);
+ * way[amenity=fuel](35.42,139.39,35.45,139.42);
* node[amenity=fuel](35.42,139.39,35.45,139.42);
* (way[amenity=fuel](35.42,139.39,35.45,139.42);>;);
* );
@@ -101,7 +102,7 @@
// BRANDなし → 1ポイント
// FIXMEあり → 1ポイント
readExisting(hsqldb, "\"where amenity='fuel'\"", POINT_BRAND | POINT_FIXME);
- readExistingSub(hsqldb, "disused:amenity", "fuel", POINT_BRAND | POINT_FIXME);
+ //readExistingSub(hsqldb, "disused:amenity", "fuel", POINT_BRAND | POINT_FIXME);
}
/**
@@ -187,15 +188,38 @@
try {
osmdb = DatabaseTool.openDb("osmdb");
- PreparedStatement ps1 = osmdb.prepareStatement("SELECT osm_id, brand, name, disused, tags FROM planet_osm_point, planet_osm_nodes WHERE osm_id=id and ? = ANY (tags) and ? = ANY (tags)");
+ PreparedStatement ps1 = osmdb.prepareStatement("SELECT osm_id, brand, name, disused, tags FROM planet_osm_point, planet_osm_nodes WHERE osm_id=id AND tags=ANY('"+ kStr +"')");
ps1.setString(1, kStr);
ps1.setString(2, vStr);
try (ResultSet rset1 = ps1.executeQuery()) {
while (rset1.next()) {
- counter += importExistingNode(hsqldb, osmdb, rset1, point);
+ 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,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 ? = ANY (tags) and ? = ANY (tags)");
+ /*
+ PreparedStatement ps2 = osmdb.prepareStatement("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, planet_osm_nodes WHERE osm_id=id AND tags= ANY(?) AND tags=ANY(?)");
ps2.setString(1, kStr);
ps2.setString(2, vStr);
try (ResultSet rset2 = ps2.executeQuery()) {
@@ -203,6 +227,7 @@
counter += importExistingNode(hsqldb, osmdb, rset2, point);
}
}
+*/
System.out.println("Exists Node count = " + counter);
}
finally {