diff --git a/src/osm/jp/api/Osmdb.java b/src/osm/jp/api/Osmdb.java
index 0bb9e84..59c1d0f 100644
--- a/src/osm/jp/api/Osmdb.java
+++ b/src/osm/jp/api/Osmdb.java
@@ -1,6 +1,5 @@
 package osm.jp.api;
 
-import java.net.*;
 import java.io.*;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -8,6 +7,7 @@
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.sql.SQLSyntaxErrorException;
+import jp.co.areaweb.tools.csv.CsvRecord;
 import jp.co.areaweb.tools.database.DatabaseTool;
 import org.hsqldb.HsqlException;
 import org.w3c.dom.NamedNodeMap;
@@ -76,50 +76,13 @@
     }
     
     public static final int POINT_NO = 0;       // 評価ポイント無し→ score=50
-    public static final int POINT_FIXME = 1;    // 評価ポイント無し→ score=50
+    public static final int POINT_FIXME = 1;    // 評価ポイント|!(fixme=null) → score=1
     public static final int POINT_BRAND = 2;    // 評価ポイント|brand=null → score=1
     public static final int POINT_NAME = 4;     // 評価ポイント|name=null → score=1
+    public static final int POINT_BUS = 8;      // 評価ポイント|!(bus=yes) → score=0
     
-    /**
-     * 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");
-            
-            PreparedStatement ps1 = osmdb.prepareStatement("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);
-            try (ResultSet rset1 = ps1.executeQuery()) {
-                while (rset1.next()) {
-                    counter += importExistingNode(hsqldb, rset1, point);
-                }
-            }
-            
-            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 " + sqlWhere);
-            try (ResultSet rset2 = ps2.executeQuery()) {
-                while (rset2.next()) {
-                    counter += importExistingNode(hsqldb, rset2, point);
-                }
-            }
 
-            System.out.println("Exists Node count = " + counter);
-        }
-        finally {
-            DatabaseTool.closeDb(osmdb);
-        }
-
-        //readAreaNodes(hsqldb, root);
-        
-    }
-
-    int importExistingNode(Connection hsqldb, ResultSet rset, int point) throws IOException, SQLException {
+    public int importExistingNode(Connection hsqldb, Connection osmdb, ResultSet rset, int point) throws IOException, SQLException {
         
         String osmidStr = rset.getString("osm_id");
         String latStr = rset.getString("lat");
@@ -135,27 +98,76 @@
         if (((point & POINT_NAME) != 0) && isNull(nameStr)) {
             score = 1;
         }
-        if (((point & POINT_FIXME) != 0) && !isNull(fixmeStr)) {
-            score = 1;
+        
+        boolean fixme = false;
+        boolean busYes = false;
+        if (((point & (POINT_FIXME | POINT_BUS)) != 0)) {
+            PreparedStatement ps8 = osmdb.prepareStatement("SELECT * FROM planet_osm_nodes where id='"+ osmidStr +"'");
+            try (ResultSet rset8 = ps8.executeQuery()) {
+                while (rset8.next()) {
+                    String tags = rset8.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 = true;
+                        boolean bus = false;
+                        for (String str : csv) {
+                            if (key) {
+                                if (str.startsWith("fixme")) {
+                                    fixme = true;
+                                }
+                                if (str.equals("bus")) {
+                                    bus = true;
+                                }
+                                key = false;
+                            }
+                            else {
+                                if (bus) {
+                                    if (str.equals("yes")) {
+                                        busYes = true;
+                                    }
+                                    bus = false;
+                                }
+                                key = true;
+                            }
+                        }
+                        
+                        System.out.println(tags);
+                    }
+                }
+            }
+            
+            if (((point & POINT_FIXME) != 0) && fixme) {
+                score = 1;
+            }
+            if (((point & POINT_BUS) != 0) && !busYes) {
+                score = 0;
+            }
+        }
+        
+        if (score > 0) {
+            // idref と brandStr をデータベースに格納する
+            System.out.println("INSERT INTO "+ TABLE_NAME +" (idref,lat,lon,score,name) VALUES ("+ osmidStr +","+ latStr +","+ lonStr+","+ Integer.toString(score) +",'"+ nameStr +"')N");
+            try (PreparedStatement ps5 = hsqldb.prepareStatement("INSERT INTO "+ TABLE_NAME +" (idref,lat,lon,score,name) VALUES (?,?,?,?,?)")) {
+                ps5.setString(1, osmidStr);
+                ps5.setDouble(2, Double.parseDouble(latStr));
+                ps5.setDouble(3, Double.parseDouble(lonStr));
+                ps5.setInt(4, score);
+                ps5.setString(5, nameStr);
+                ps5.executeUpdate();
+                return 1;
+            }
+            catch (HsqlException | SQLIntegrityConstraintViolationException e) {
+                // integrity constraint violation: unique constraint or index violation; SYS_PK_10069 table: FUEL_EXIST
+                // [HsqlException]は、無視する
+                // integrity constraint violation: unique constraint or index violation; SYS_PK_10069 table: FUEL_EXIST
+                // [SQLIntegrityConstraintViolationException]は、無視する
+            }
         }
 
-        // idref と brandStr をデータベースに格納する
-        System.out.println("INSERT INTO "+ TABLE_NAME +" (idref,lat,lon,score,name) VALUES ("+ osmidStr +","+ latStr +","+ lonStr+","+ Integer.toString(score) +",'"+ nameStr +"')N");
-        try (PreparedStatement ps5 = hsqldb.prepareStatement("INSERT INTO "+ TABLE_NAME +" (idref,lat,lon,score,name) VALUES (?,?,?,?,?)")) {
-            ps5.setString(1, osmidStr);
-            ps5.setDouble(2, Double.parseDouble(latStr));
-            ps5.setDouble(3, Double.parseDouble(lonStr));
-            ps5.setInt(4, score);
-            ps5.setString(5, nameStr);
-            ps5.executeUpdate();
-            return 1;
-        }
-        catch (HsqlException | SQLIntegrityConstraintViolationException e) {
-            // integrity constraint violation: unique constraint or index violation; SYS_PK_10069 table: FUEL_EXIST
-            // [HsqlException]は、無視する
-            // integrity constraint violation: unique constraint or index violation; SYS_PK_10069 table: FUEL_EXIST
-            // [SQLIntegrityConstraintViolationException]は、無視する
-        }
         return 0;
     }
     
@@ -163,10 +175,7 @@
         if (vstr == null) {
             return true;
         }
-        if (vstr.trim().length() < 1) {
-            return true;
-        }
-        return false;
+        return (vstr.trim().length() < 1);
     }
     
     int readAreaNodes(Connection con, Node node) throws IOException, SQLException {
diff --git a/src/osm/jp/coverage/busstop/DbExistBusstop.java b/src/osm/jp/coverage/busstop/DbExistBusstop.java
index 188310a..eed4a9a 100644
--- a/src/osm/jp/coverage/busstop/DbExistBusstop.java
+++ b/src/osm/jp/coverage/busstop/DbExistBusstop.java
@@ -1,8 +1,5 @@
 package osm.jp.coverage.busstop;
 
-import osm.jp.api.HttpPOST;
-import osm.jp.api.Japan;
-
 import javax.xml.parsers.*;
 import javax.xml.transform.TransformerException;
 import org.xml.sax.*;
@@ -11,24 +8,14 @@
 import java.net.MalformedURLException;
 import java.net.ProtocolException;
 import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.text.SimpleDateFormat;
 
 import jp.co.areaweb.tools.database.*;
+import osm.jp.api.Osmdb;
 
-public class DbExistBusstop extends HttpPOST {
-
-    String filter = "";
-    String urlStr = "";
-
-    public static final boolean DB_INIT = false;
-    public static boolean DROP = false;
-
-    // 近くのバス停を探す範囲(バス停を中心としたNEER×2m四方の領域
-    static boolean update = false;		// '-update'オプション postgisデータの更新を行う
-    static boolean noget = false;		// '-noget'オプション OSM既存データのGETを行わない
-
-    public static SimpleDateFormat timeStampFmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+public class DbExistBusstop extends Osmdb {
 
     /**
      * 既存のOSMバス停を読み込む
@@ -49,12 +36,12 @@
      * @throws TransformerException
      * @throws SAXException
      * @throws ParserConfigurationException */
-    public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException, TransformerException
+    public static void main(String[] args) throws Exception
     {
         Connection conHsql = null;
         try {
             conHsql = DatabaseTool.openDb("database");
-            HttpPOST.create(conHsql);
+            create(conHsql);
             
             /**
              * 既存のOSMバス停を読み込む
@@ -95,24 +82,84 @@
      * @throws ParserConfigurationException
      * @throws SAXException
      */
-    public void getJapanCapabilities(Connection conHsql) throws MalformedURLException, ProtocolException, IOException, ClassNotFoundException, SQLException, ParserConfigurationException, SAXException {
-        for (Japan area : Japan.all) {
-            StringBuilder queryText = new StringBuilder();
-            queryText.append("(");
-            queryText.append(" node[highway=bus_stop]("+ area.getSWNE() +");");
-            queryText.append(" node[highway=\"disused:bus_stop\"]("+ area.getSWNE() +");");
-            queryText.append(" node[public_transport=platform][bus=yes]("+ area.getSWNE() +");");
-            queryText.append(" node[public_transport=stop_position][bus=yes]("+ area.getSWNE() +");");
-            queryText.append(" node[amenity=bus_station]("+ area.getSWNE() +");");
-            queryText.append(" (way[amenity=bus_station]("+ area.getSWNE() +");>;);");
-            queryText.append(");");
-            queryText.append("out;");
-            HttpPOST.getQuery(queryText.toString());
+    public void getJapanCapabilities(Connection conHsql) throws Exception {
+        // 通常 → 50ポイント
+        // NAMEなし → 1ポイント
+        // FIXMEあり → 1ポイント
+        readExisting(conHsql, null, POINT_NAME | POINT_FIXME);
+    }
+    
+    // ノード: 厚木ナイロン (1995040609) 場所: 35.4433312, 139.3932098  public_transport=stop_position,bus=yes
+    // ノード: 海老名高校前 (2043102034) 場所: 35.4435042, 139.3878934  highway=bus_stop
+    // ノード: 4940018338 場所: 35.5909251, 139.1498642 highway=bus_stop, name=null, bus=null,public_transport=platform
+    // ノード: 八幡前 (3152604023) 場所: 33.9808001, 133.3123441    fixme有り
+    
+    /**
+     * 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");
             
-            // 通常 → 50ポイント
-            // NAMEなし → 1ポイント
-            // FIXMEあり → 1ポイント
-            readExistingFile(conHsql, HttpPOST.POINT_NAME | HttpPOST.POINT_FIXME);
+            String sql = "select osm_id,brand,disused,name";
+
+            StringBuilder whereText0 = new StringBuilder();
+            whereText0.append("where (highway='disused:bus_stop'");
+            whereText0.append(")");
+            PreparedStatement ps0 = osmdb.prepareStatement(sql + ",ST_Y(ST_Transform(way,4326)) as lat,ST_X(ST_Transform(way,4326)) as lon from planet_osm_point " + whereText0.toString());
+            try (ResultSet rset1 = ps0.executeQuery()) {
+                while (rset1.next()) {
+                    counter += importExistingNode(hsqldb, osmdb, rset1, 0);
+                }
+            }
+            
+            StringBuilder whereText1 = new StringBuilder();
+            whereText1.append("where (highway='bus_stop'");
+            whereText1.append(" or amenity='bus_station'");
+            whereText1.append(")");
+            PreparedStatement ps1 = osmdb.prepareStatement(sql + ",ST_Y(ST_Transform(way,4326)) as lat,ST_X(ST_Transform(way,4326)) as lon from planet_osm_point " + whereText1.toString());
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                while (rset1.next()) {
+                    counter += importExistingNode(hsqldb, osmdb, rset1, point);
+                }
+            }
+            
+            StringBuilder whereText = new StringBuilder();
+            whereText.append("where (public_transport='platform'");
+            whereText.append(" or public_transport='stop_position'");
+            whereText.append(")");
+            PreparedStatement ps = osmdb.prepareStatement(sql + ",ST_Y(ST_Transform(way,4326)) as lat,ST_X(ST_Transform(way,4326)) as lon from planet_osm_point " + whereText.toString());
+            try (ResultSet rset1 = ps.executeQuery()) {
+                while (rset1.next()) {
+                    counter += importExistingNode(hsqldb, osmdb, rset1, point | POINT_BUS);
+                }
+            }
+            
+            StringBuilder whereText2 = new StringBuilder();
+            whereText2.append("where (amenity='bus_station'");
+            whereText2.append(")");
+            PreparedStatement ps2 = osmdb.prepareStatement(sql +",ST_Y(ST_Transform(ST_Centroid(way),4326)) as lat,ST_X(ST_Transform(ST_Centroid(way),4326)) as lon from planet_osm_polygon " + whereText2.toString());
+            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);
+        }
+
+        //readAreaNodes(hsqldb, root);
+        
     }
 }
\ No newline at end of file
diff --git a/src/osm/jp/coverage/fuel/DbExist.java b/src/osm/jp/coverage/fuel/DbExist.java
index a7cd4ef..b5e8fa6 100644
--- a/src/osm/jp/coverage/fuel/DbExist.java
+++ b/src/osm/jp/coverage/fuel/DbExist.java
@@ -124,4 +124,39 @@
         }
     }
 
+    /**
+     * 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");
+            
+            PreparedStatement ps1 = osmdb.prepareStatement("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);
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                while (rset1.next()) {
+                    counter += importExistingNode(hsqldb, osmdb, rset1, point);
+                }
+            }
+            
+            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 " + sqlWhere);
+            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/test/osm/jp/coverage/busstop/DbExistBusstopTest.java b/test/osm/jp/coverage/busstop/DbExistBusstopTest.java
new file mode 100644
index 0000000..9734a1e
--- /dev/null
+++ b/test/osm/jp/coverage/busstop/DbExistBusstopTest.java
@@ -0,0 +1,224 @@
+package osm.jp.coverage.busstop;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import jp.co.areaweb.tools.database.DatabaseTool;
+import static org.hamcrest.CoreMatchers.is;
+import org.junit.*;
+import static org.junit.Assert.*;
+import static osm.jp.api.Osmdb.create;
+
+/**
+ *
+ * @author yuu
+ */
+public class DbExistBusstopTest {
+    @Before
+    public void setUp() throws Exception {
+        File dir = new File("database");
+        if (dir.exists()) {
+            if (dir.isDirectory()) {
+                dir.deleteOnExit();
+            }
+            else {
+                throw new Exception("'database' is not directory.");
+            }
+        }
+    }
+    
+    @After
+    public void tearDown() throws Exception {
+    }
+    
+    @Test
+    public void test01_hsqldbの生成確認() {
+        Connection con = null;
+        try {
+            // DB.tableを作成
+            con = DatabaseTool.openDb("database");
+            create(con);
+        }
+        catch (ClassNotFoundException ex) {
+            fail();
+        } catch (SQLException ex) {
+            fail();
+        } catch (IOException ex) {
+            fail();
+        } finally {
+            if (con != null) {
+                DatabaseTool.closeDb(con);
+            }
+        }
+
+        File dir = new File("database");
+        assertTrue(dir.exists());
+        assertTrue(dir.isDirectory());
+        
+        Connection hsqldb = null;
+        try {
+            hsqldb =  DatabaseTool.openDb("database");
+            
+            PreparedStatement ps8 = hsqldb.prepareStatement("SELECT count(*) FROM AREA_NODE");
+            try (ResultSet rset8 = ps8.executeQuery()) {
+                if (rset8.next()) {
+                    long cnt = rset8.getLong(1);
+                    assertThat(Long.toString(cnt), is("0"));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            PreparedStatement ps1 = hsqldb.prepareStatement("SELECT count(*) FROM OSM_EXIST");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    long cnt = rset1.getLong(1);
+                    assertThat(Long.toString(cnt), is("0"));
+                }
+                else {
+                    fail();
+                }
+            }
+
+        } catch (ClassNotFoundException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (SQLException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (IOException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } finally {
+            DatabaseTool.closeDb(hsqldb);
+        }
+    }
+
+    @Test
+    public void test02_busstop() {
+        try {
+            String[] args = new String[0];
+            DbExistBusstop.main(args);
+        }
+        catch (Exception ex) {
+            fail(ex.toString());
+        }
+
+        File dir = new File("database");
+        assertTrue(dir.exists());
+        assertTrue(dir.isDirectory());
+        
+        Connection hsqldb = null;
+        try {
+            hsqldb =  DatabaseTool.openDb("database");
+            
+            PreparedStatement ps1 = hsqldb.prepareStatement("SELECT count(*) FROM OSM_EXIST");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    long cnt = rset1.getLong(1);
+                    assertThat((cnt > 0), is(true));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            // ノード: 八幡前 (3152604023) 場所: 33.9808001, 133.3123441    fixme有り
+            ps1 = hsqldb.prepareStatement("SELECT score,name,lat,lon FROM OSM_EXIST where idref='3152604023'");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    // fixme有り
+                    assertThat(rset1.getInt("score"), is(1));
+                    assertThat(checkRenge(rset1, "33.9808001", "133.3123441"), is(true));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            // ノード: 4940018338 場所: 35.5909251, 139.1498642 highway=bus_stop, name=null, bus=null,public_transport=platform
+            ps1 = hsqldb.prepareStatement("SELECT score,name,lat,lon FROM OSM_EXIST where idref='4940018338'");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    // nameなし
+                    assertThat(rset1.getInt("score"), is(1));
+                    assertThat(checkRenge(rset1, "35.5909251", "139.1498642"), is(true));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            // ノード: 海老名高校前 (2043102034) 場所: 35.4435042, 139.3878934  highway=bus_stop
+            ps1 = hsqldb.prepareStatement("SELECT score,name,lat,lon FROM OSM_EXIST where idref='2043102034'");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    assertThat(rset1.getInt("score"), is(50));
+                    assertThat(checkRenge(rset1, "35.4435042", "139.3878934"), is(true));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            // ノード: 厚木ナイロン (1995040609) 場所: 35.4433312, 139.3932098  public_transport=stop_position,bus=yes
+            ps1 = hsqldb.prepareStatement("SELECT score,name,lat,lon FROM OSM_EXIST where idref='1995040609'");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    assertThat(rset1.getInt("score"), is(50));
+                    assertThat(checkRenge(rset1, "35.4433312", "139.3932098"), is(true));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+            // ウェイ: 国分寺台第12 (154659062) bus_station 
+            ps1 = hsqldb.prepareStatement("SELECT score,name,lat,lon FROM OSM_EXIST where idref='154659062'");
+            try (ResultSet rset1 = ps1.executeQuery()) {
+                if (rset1.next()) {
+                    assertThat(rset1.getInt("score"), is(50));
+                }
+                else {
+                    fail();
+                }
+            }
+            
+        } catch (ClassNotFoundException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (SQLException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } catch (IOException ex) {
+            Logger.getLogger(DbExistBusstopTest.class.getName()).log(Level.SEVERE, null, ex);
+        } finally {
+            DatabaseTool.closeDb(hsqldb);
+        }
+    }
+    
+    boolean checkRenge(ResultSet rset, String latStr, String lonStr) throws SQLException {
+        if (checkRenge(rset.getDouble("lat"), latStr)) {
+            if (checkRenge(rset.getDouble("lon"), lonStr)) {
+                return true;
+            }
+        }
+        return false;
+    }
+    
+    boolean checkRenge(double d1, String str) throws SQLException {
+        double base = Double.parseDouble(str);
+        double up = d1 + 0.00000009D;
+        double down = d1 - 0.00000009D;
+        boolean ret = true;
+        if (Double.compare(base, up) > 0) {
+            ret = false;
+        }
+        if (Double.compare(base, down) < 0) {
+            ret = false;
+        }
+        System.out.println("d1: "+ d1 +" : "+ str +" --> "+ (ret ? "IN" : "out"));
+        return ret;
+    }
+}
diff --git a/test/osm/jp/coverage/fuel/DbExistTest.java b/test/osm/jp/coverage/fuel/DbExistTest.java
index e661d11..ad851f4 100644
--- a/test/osm/jp/coverage/fuel/DbExistTest.java
+++ b/test/osm/jp/coverage/fuel/DbExistTest.java
@@ -104,7 +104,7 @@
             DbExist.main(args);
         }
         catch (Exception ex) {
-            fail();
+            fail(ex.toString());
         }
 
         File dir = new File("database");