diff --git a/src/osm/jp/postgis/Kml.java b/src/osm/jp/postgis/Kml.java new file mode 100644 index 0000000..2b2eacc --- /dev/null +++ b/src/osm/jp/postgis/Kml.java @@ -0,0 +1,341 @@ +package osm.jp.postgis; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.PipedWriter; +import java.io.PrintWriter; +import java.io.StringReader; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonNumber; +import javax.json.JsonObject; +import javax.json.JsonReader; +import javax.json.JsonValue; +import jp.co.areaweb.tools.database.DatabaseTool; +import osm.jp.api.Coverage; +import osm.jp.api.Japan; +import osm.jp.api.RectArea; + +public class Kml implements Runnable { + private ToPostgis type; + private final String name; + private final double lat; + private final double lon; + private final double km; + + PipedWriter pipeOut; + + public static final int MAX_DATA_COUNT = 1000; + + /** + * + * @param pipeOut + * @param dbname + * @param name + * @param lat + * @param lon + * @param km + * @throws java.io.IOException + */ + public Kml(PipedWriter pipeOut, String dbname, String name, double lat, double lon, double km) throws IOException { + this.name = name; + this.lat = lat; + this.lon = lon; + this.km = km; + + this.type = null; + if (dbname.equals(osm.jp.coverage.busstop.DbBusstop.TABLE_NAME)) { + this.type = new osm.jp.coverage.busstop.ToPostgis(); + } + else if (dbname.equals(osm.jp.coverage.fuel.DbFuel.TABLE_NAME)) { + this.type = new osm.jp.coverage.fuel.ToPostgis(); + } + else if (dbname.equals(osm.jp.coverage.police.DbPolice.TABLE_NAME)) { + this.type = new osm.jp.coverage.police.ToPostgis(); + } + else if (dbname.equals(osm.jp.coverage.postoffice.DbPostoffice.TABLE_NAME)) { + this.type = new osm.jp.coverage.postoffice.ToPostgis(); + } + + this.pipeOut = pipeOut; + } + + @Override + @SuppressWarnings({"CallToPrintStackTrace", "SleepWhileInLoop"}) + public void run() { + BufferedWriter bw = new BufferedWriter(pipeOut); + try (PrintWriter ow = new PrintWriter(bw)) + { + ow.println(""); + ow.println(""); + ow.println(""); + ow.flush(); + try { + Thread.sleep(0); + } + catch (InterruptedException ex) { + ex.printStackTrace(); + } + + int count = 0; + try (Connection conPost = DatabaseTool.openDb(Coverage.DB_PORP_GISDB)) + { + ow.println(getStringStyle()); + + ow.println(""+ name +""); + ow.println("1"); + ow.println(getStringExtendedData(name)); + ow.flush(); + try { + Thread.sleep(0); + } + catch(InterruptedException ex) { + ex.printStackTrace(); + } + + String sql = "SELECT area,gmlid,fixed,ST_Y(geom) AS lat, ST_X(geom) AS lon, ST_AsGeoJSON(ST_Transform(t_%s.geom,4326))::json As geometry " + + "FROM t_%s " + + "WHERE (ST_Y(geom) > ?) and (ST_Y(geom) < ?) and (ST_X(geom) > ?) and (ST_X(geom) < ?)"; + sql = String.format(sql, type.tableName, type.tableName); + try (PreparedStatement ps8 = conPost.prepareStatement(sql)) { + RectArea rect = new RectArea(lat, lon, (int)(km * 2000)); + ps8.setDouble(1, rect.minlat); + ps8.setDouble(2, rect.maxlat); + ps8.setDouble(3, rect.minlon); + ps8.setDouble(4, rect.maxlon); + try (ResultSet rset8 = ps8.executeQuery()) { + while (rset8.next()) { + String gmlid = rset8.getString("gmlid"); + int area = rset8.getInt("area"); + int fixed = rset8.getInt("fixed"); + + // geom: {"type":"Point","coordinates":[143.3147749,42.2984888]} + String geom = rset8.getString("geometry"); + String lonStr = null; + String latStr = null; + try (JsonReader reader = Json.createReader(new StringReader(geom))) { + JsonObject geojson = reader.readObject(); + JsonArray coordinates = geojson.getJsonArray("coordinates"); + for (JsonValue v1 : coordinates) { + if (v1.getValueType() == JsonValue.ValueType.NUMBER) { + JsonNumber num = (JsonNumber)v1; + if (lonStr == null) { + lonStr = num.toString(); + } + else { + latStr = num.toString(); + } + } + } + } + if ((lonStr != null) && (latStr != null)) { + double lat0 = Double.parseDouble(latStr); + double lon0 = Double.parseDouble(lonStr); + double dd = Japan.distanceKm(lat,lon,lat0,lon0); + if (dd < km) { + count++; + if (count <= MAX_DATA_COUNT) { + String poiname = String.format("%02d - %s", area, gmlid); + String color = decideColor(fixed); + String str = getStringPlacemark(poiname, latStr, lonStr, color); + ow.println(str); + ow.flush(); + try { + Thread.sleep(0); + } + catch(InterruptedException ex) { + ex.printStackTrace(); + } + } + else { + break; + } + } + } + } + } + } + } + ow.println(""); + ow.println(""); + ow.flush(); + } + catch (Exception ex) { + ex.printStackTrace(); + } + } + + String decideColor(int fixed) { + if (this.type instanceof osm.jp.coverage.busstop.ToPostgis) { + if (fixed == 0) { + return "red"; + } + else if (fixed < 100) { + return "orange"; + } + else { + return "green"; + } + } + else if (this.type instanceof osm.jp.coverage.fuel.ToPostgis) { + if (fixed == 0) { + return "red"; + } + else if (fixed < 50) { + return "orange"; + } + else { + return "green"; + } + } + else if (this.type instanceof osm.jp.coverage.police.ToPostgis) { + if (fixed == 0) { + return "red"; + } + else { + return "green"; + } + } + else if (this.type instanceof osm.jp.coverage.postoffice.ToPostgis) { + if (fixed == 0) { + return "red"; + } + else { + return "green"; + } + } + return "brown"; + } + + String getStringStyle() { + StringBuilder sbuf = new StringBuilder(); + sbuf.append(icon("red")); + sbuf.append(icon("orange")); + sbuf.append(icon("green")); + sbuf.append(icon("brown")); + return sbuf.toString(); + } + + /** + * + * @param color ["red"|"blue"|"purple"|"yellow"|"pink"|"brown"|"green"|"orange"] + * @return + */ + String icon(String color) { + StringBuilder sbuf = new StringBuilder(); + sbuf.append(String.format(""); + return sbuf.toString(); + } + + /** + * + + + poi + + + + 2018-12-23T01:50:40Z + Local + + * + * + */ + String getStringExtendedData(String name) { + StringBuilder sbuf = new StringBuilder(); + sbuf.append(""); + sbuf.append(""); + sbuf.append(name); + sbuf.append(""); + sbuf.append(""); + sbuf.append(""); + + sbuf.append(""); + sbuf.append((new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(new Date())); + sbuf.append(""); + + sbuf.append("Local"); + sbuf.append(""); + return sbuf.toString(); + } + + /** + * + + 新日本海フェリー 苫小牧東港ターミナル + 2017-12-28T11:15:56Z + #placemark-blue + 141.81955,42.610008 + + + 新日本海フェリー 苫小牧東港ターミナル + + + + + 新日本海フェリー 苫小牧東港ターミナル + + 13 + + + * + */ + String getStringPlacemark(String name, String latStr, String lonStr, String color) { + StringBuilder sbuf = new StringBuilder(); + sbuf.append(""); + sbuf.append(""); + sbuf.append(name); + sbuf.append(""); + sbuf.append(""); + sbuf.append((new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(new Date())); + sbuf.append(""); + sbuf.append(String.format("#placemark-%s", color)); + sbuf.append(""); + sbuf.append(String.format("%s,%s", lonStr, latStr)); + sbuf.append(""); + sbuf.append(getStringPlacemarkExtendedData(name)); + sbuf.append(""); + return sbuf.toString(); + } + + /** + * + + + 新日本海フェリー 苫小牧東港ターミナル + + + + + 新日本海フェリー 苫小牧東港ターミナル + + 13 + + * + */ + String getStringPlacemarkExtendedData(String name) { + StringBuilder sbuf = new StringBuilder(); + sbuf.append(""); + sbuf.append(""); + sbuf.append(name); + sbuf.append(""); + sbuf.append(""); + sbuf.append(""); + sbuf.append(name); + sbuf.append(""); + sbuf.append("13"); + sbuf.append(""); + return sbuf.toString(); + } +} diff --git a/src/osm/jp/postgis/Kmz.java b/src/osm/jp/postgis/Kmz.java new file mode 100644 index 0000000..9d2bde6 --- /dev/null +++ b/src/osm/jp/postgis/Kmz.java @@ -0,0 +1,40 @@ +package osm.jp.postgis; + +import java.io.ByteArrayInputStream; +import java.io.OutputStream; +import org.apache.commons.compress.archivers.ArchiveOutputStream; +import org.apache.commons.compress.archivers.ArchiveStreamFactory; +import org.apache.commons.compress.utils.IOUtils; + +public class Kmz implements Runnable { + ByteArrayInputStream in; + OutputStream out; + + public Kmz(ByteArrayInputStream in, OutputStream out) { + this.in = in; + this.out = out; + } + + @Override + @SuppressWarnings({"CallToPrintStackTrace", "null", "UseSpecificCatch"}) + public void run() { + try { + int data = in.read(); + while (data != -1) { + System.out.print((char) data); + data = in.read(); + } + /* + try { + ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.ZIP, out); + IOUtils.copy(in, os); + os.closeArchiveEntry(); + } catch (Exception ex) { + ex.printStackTrace(); + } + */ + } catch (Exception ex) { + ex.printStackTrace(); + } + } +} diff --git a/src/osm/jp/postgis/PipeConverter.java b/src/osm/jp/postgis/PipeConverter.java new file mode 100644 index 0000000..b2c0b36 --- /dev/null +++ b/src/osm/jp/postgis/PipeConverter.java @@ -0,0 +1,31 @@ +package osm.jp.postgis; + +import java.io.IOException; +import java.io.ByteArrayOutputStream; +import java.io.PipedReader; + +public class PipeConverter implements Runnable { + PipedReader source; + ByteArrayOutputStream out; + + public PipeConverter(PipedReader source, ByteArrayOutputStream out) { + this.source = source; + this.out = out; + } + + @Override + @SuppressWarnings("CallToPrintStackTrace") + public void run() { + try { + int data = source.read(); + while (data != -1) { + out.write(data); + data = source.read(); + } + out.flush(); + out.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } +} diff --git a/src/osm/jp/postgis/UnMapped.java b/src/osm/jp/postgis/UnMapped.java index 87c6d80..956d46e 100644 --- a/src/osm/jp/postgis/UnMapped.java +++ b/src/osm/jp/postgis/UnMapped.java @@ -1,359 +1,74 @@ package osm.jp.postgis; -import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.StringReader; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.text.SimpleDateFormat; -import java.util.Date; -import javax.json.Json; -import javax.json.JsonArray; -import javax.json.JsonNumber; -import javax.json.JsonObject; -import javax.json.JsonReader; -import javax.json.JsonValue; -import javax.xml.parsers.ParserConfigurationException; -import jp.co.areaweb.tools.database.DatabaseTool; -import org.apache.commons.compress.archivers.ArchiveException; -import org.xml.sax.SAXException; -import osm.jp.api.Coverage; -import osm.jp.api.Japan; -import tools.Compless; +import java.io.OutputStream; +import java.io.PipedReader; +import java.io.PipedWriter; +import java.nio.file.Files; +import java.nio.file.Paths; +import org.apache.commons.compress.archivers.ArchiveEntry; +import org.apache.commons.compress.archivers.ArchiveOutputStream; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; +import org.apache.commons.compress.utils.IOUtils; public class UnMapped { ToPostgis type; String dbname; - public static final int MAX_DATA_COUNT = 300; @SuppressWarnings({"UseSpecificCatch", "CallToPrintStackTrace"}) public static void main(String[] args) { + String dbname = "busstop"; + (new UnMapped(dbname)).createKml(35.4341254D,139.408969D, 3.0D); + } + + public UnMapped(String dbname) { + this.dbname = dbname; + } + + @SuppressWarnings({"CallToPrintStackTrace", "UseSpecificCatch"}) + public void createKml(double lat, double lon, double km) { try { - File kmz = (new UnMapped("busstop")) - .getKmz(35.4341254D,139.408969D, 3.0D); + final PipedReader read = new PipedReader(); + final PipedWriter write = new PipedWriter(read); + final ByteArrayOutputStream out = new ByteArrayOutputStream(); + String title = "'"+ dbname +"' - UnMapped OpenSteetMap"; + + Thread kml = new Thread(new Kml(write, dbname, title, lat,lon, km)); + Thread converter = new Thread(new PipeConverter(read, out)); + + kml.start(); + converter.start(); + try { + kml.join(); + converter.join(); + } + catch(InterruptedException ex) { + ex.printStackTrace(); + } + + File kmzFile = new File(dbname +".kmz"); + File kmlFile = new File(dbname +".kml"); + try { + try (OutputStream outKmz = Files.newOutputStream(Paths.get(kmzFile.getName())); + ArchiveOutputStream o = new ZipArchiveOutputStream(outKmz)) + { + ArchiveEntry entry = o.createArchiveEntry(kmlFile, kmlFile.getName()); + o.putArchiveEntry(entry); + try (ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray())) { + IOUtils.copy(in, o); + } + o.closeArchiveEntry(); + } + } + finally { + out.flush(); + out.close(); + } } catch(Exception e) { e.printStackTrace(); } } - - /** - * コンストラクタ - * @param dbname - * @throws java.lang.ClassNotFoundException - * @throws java.sql.SQLException - * @throws java.io.IOException - */ - public UnMapped(String dbname) throws ClassNotFoundException, SQLException, IOException { - this.type = null; - this.dbname = dbname; - if (dbname.equals(osm.jp.coverage.busstop.DbBusstop.TABLE_NAME)) { - this.type = new osm.jp.coverage.busstop.ToPostgis(); - } - else if (dbname.equals(osm.jp.coverage.fuel.DbFuel.TABLE_NAME)) { - this.type = new osm.jp.coverage.fuel.ToPostgis(); - } - else if (dbname.equals(osm.jp.coverage.police.DbPolice.TABLE_NAME)) { - this.type = new osm.jp.coverage.police.ToPostgis(); - } - else if (dbname.equals(osm.jp.coverage.postoffice.DbPostoffice.TABLE_NAME)) { - this.type = new osm.jp.coverage.postoffice.ToPostgis(); - } - } - - /** - * - * @param lat0 緯度 - * @param lon0 経度 - * @param km 半径(km) - * @return KMZファイル - * @throws java.lang.ClassNotFoundException - * @throws java.sql.SQLException - * @throws java.io.IOException - * @throws java.io.FileNotFoundException - * @throws javax.xml.parsers.ParserConfigurationException - * @throws org.xml.sax.SAXException - * @throws org.apache.commons.compress.archivers.ArchiveException - */ - public File getKmz(double lat0, double lon0, double km) throws ClassNotFoundException, SQLException, IOException, FileNotFoundException, ParserConfigurationException, SAXException, ArchiveException { - File kml = new File(dbname +".kml"); - File kmz = new File(dbname +".kmz"); - toKml(kml, "'"+ this.dbname +"' - UnMapped OpenSteetMap", 35.4341254D,139.408969D,3.0D); - toKmz(kml, kmz); - kml.delete(); - return kmz; - } - - public UnMapped toKmz(File kml, File kmz) throws ArchiveException, IOException { - Compless.toZip(kml, kmz); - return this; - } - - /** - * - * @param kmlFile - * @param name - * @param lat0 - * @param lon0 - * @param km - * @return - * @throws FileNotFoundException - * @throws ClassNotFoundException - * @throws SQLException - * @throws IOException - * @throws ParserConfigurationException - * @throws SAXException - */ - public UnMapped toKml (File kmlFile, String name, double lat0, double lon0, double km) - throws FileNotFoundException, ClassNotFoundException, SQLException, IOException, ParserConfigurationException, SAXException - { - int count = 0; - try (Connection conPost = DatabaseTool.openDb(Coverage.DB_PORP_GISDB); - BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(kmlFile), "UTF-8"))) - { - ow.write(""); - ow.newLine(); - ow.write(""); - ow.newLine(); - ow.write(""); - ow.newLine(); - { - ow.write(getStringStyle()); - ow.newLine(); - - ow.write(""+ name +""); - ow.newLine(); - ow.write("1"); - ow.newLine(); - ow.write(getStringExtendedData(name)); - ow.newLine(); - - String sql = "SELECT area,gmlid,fixed,ST_AsGeoJSON(ST_Transform(t_%s.geom,4326))::json As geometry FROM t_%s"; - sql = String.format(sql, type.tableName, type.tableName); - try (PreparedStatement ps8 = conPost.prepareStatement(sql)) { - try (ResultSet rset8 = ps8.executeQuery()) { - while (rset8.next()) { - String gmlid = rset8.getString("gmlid"); - int area = rset8.getInt("area"); - int fixed = rset8.getInt("fixed"); - - // geom: {"type":"Point","coordinates":[143.3147749,42.2984888]} - String geom = rset8.getString("geometry"); - String lonStr = null; - String latStr = null; - try (JsonReader reader = Json.createReader(new StringReader(geom))) { - JsonObject geojson = reader.readObject(); - JsonArray coordinates = geojson.getJsonArray("coordinates"); - for (JsonValue v1 : coordinates) { - if (v1.getValueType() == JsonValue.ValueType.NUMBER) { - JsonNumber num = (JsonNumber)v1; - if (lonStr == null) { - lonStr = num.toString(); - } - else { - latStr = num.toString(); - } - } - } - } - if ((lonStr != null) && (latStr != null)) { - double lat = Double.parseDouble(latStr); - double lon = Double.parseDouble(lonStr); - double dd = Japan.distanceKm(lat0,lon0,lat,lon); - if (dd < km) { - count++; - if (count <= MAX_DATA_COUNT) { - String poiname = String.format("%02d - %s", area, gmlid); - String color = decideColor(fixed); - ow.write(getStringPlacemark(poiname, latStr, lonStr, color)); - ow.newLine(); - } - } - } - } - } - } - } - ow.write(""); - ow.write(""); - ow.flush(); - } - return this; - } - - String decideColor(int fixed) { - if (this.type instanceof osm.jp.coverage.busstop.ToPostgis) { - if (fixed == 0) { - return "red"; - } - else if (fixed < 100) { - return "orange"; - } - else { - return "green"; - } - } - else if (this.type instanceof osm.jp.coverage.fuel.ToPostgis) { - if (fixed == 0) { - return "red"; - } - else if (fixed < 50) { - return "orange"; - } - else { - return "green"; - } - } - else if (this.type instanceof osm.jp.coverage.police.ToPostgis) { - if (fixed == 0) { - return "red"; - } - else { - return "green"; - } - } - else if (this.type instanceof osm.jp.coverage.postoffice.ToPostgis) { - if (fixed == 0) { - return "red"; - } - else { - return "green"; - } - } - return "brown"; - } - - String getStringStyle() { - StringBuilder sbuf = new StringBuilder(); - sbuf.append(icon("red")); - sbuf.append(icon("orange")); - sbuf.append(icon("green")); - sbuf.append(icon("brown")); - return sbuf.toString(); - } - - /** - * - * @param color ["red"|"blue"|"purple"|"yellow"|"pink"|"brown"|"green"|"orange"] - * @return - */ - String icon(String color) { - StringBuilder sbuf = new StringBuilder(); - sbuf.append(String.format(""); - return sbuf.toString(); - } - - /** - * - - - poi - - - - 2018-12-23T01:50:40Z - Local - - * - * - */ - String getStringExtendedData(String name) { - StringBuilder sbuf = new StringBuilder(); - sbuf.append(""); - sbuf.append(""); - sbuf.append(name); - sbuf.append(""); - sbuf.append(""); - sbuf.append(""); - - sbuf.append(""); - sbuf.append((new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(new Date())); - sbuf.append(""); - - sbuf.append("Local"); - sbuf.append(""); - return sbuf.toString(); - } - - /** - * - - 新日本海フェリー 苫小牧東港ターミナル - 2017-12-28T11:15:56Z - #placemark-blue - 141.81955,42.610008 - - - 新日本海フェリー 苫小牧東港ターミナル - - - - - 新日本海フェリー 苫小牧東港ターミナル - - 13 - - - * - */ - String getStringPlacemark(String name, String latStr, String lonStr, String color) { - StringBuilder sbuf = new StringBuilder(); - sbuf.append(""); - sbuf.append(""); - sbuf.append(name); - sbuf.append(""); - sbuf.append(""); - sbuf.append((new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(new Date())); - sbuf.append(""); - sbuf.append(String.format("#placemark-%s", color)); - sbuf.append(""); - sbuf.append(String.format("%s,%s", lonStr, latStr)); - sbuf.append(""); - sbuf.append(getStringPlacemarkExtendedData(name)); - sbuf.append(""); - return sbuf.toString(); - } - - /** - * - - - 新日本海フェリー 苫小牧東港ターミナル - - - - - 新日本海フェリー 苫小牧東港ターミナル - - 13 - - * - */ - String getStringPlacemarkExtendedData(String name) { - StringBuilder sbuf = new StringBuilder(); - sbuf.append(""); - sbuf.append(""); - sbuf.append(name); - sbuf.append(""); - sbuf.append(""); - sbuf.append(""); - sbuf.append(name); - sbuf.append(""); - sbuf.append("13"); - sbuf.append(""); - return sbuf.toString(); - } - } diff --git a/src/tools/ExIO3.java b/src/tools/ExIO3.java new file mode 100644 index 0000000..c38c5b8 --- /dev/null +++ b/src/tools/ExIO3.java @@ -0,0 +1,72 @@ +package tools; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.io.PipedReader; +import java.io.PipedWriter; +import java.io.PrintWriter; +import java.io.Reader; + +public class ExIO3 { + public static void main(String[] args) throws IOException { + ExIO3 object1 = new ExIO3(); + object1.sortValue(object1.getValue()); + } + + Reader getValue () throws IOException { + FileReader csv = new FileReader("sales.csv"); + BufferedReader in = new BufferedReader(csv); + + PipedWriter pipeOut = new PipedWriter(); + PipedReader pipeIn = new PipedReader(pipeOut); + PrintWriter out = new PrintWriter(pipeOut); + + String line; + String[] arrayline; + + //(8)読み込みソースがなくなるまで読み込み、 + // 読み込みデータをprintlnメソッドで書き込み + while((line = in.readLine()) != null) { + arrayline = line.split(","); + out.println(arrayline[3]); + out.flush(); + } + + in.close(); //(9)読み込みストリームのクローズ + out.close(); //(10)書き込みストリームのクローズ + + return pipeIn; //(11)pipeInオブジェクトのリターン + } + + void sortValue(Reader source) throws IOException { + BufferedReader in = new BufferedReader(source); + + String line; String[] data = new String[5]; + int m = 0; + int price1, price2; + + while ((line = in.readLine()) != null) { + data[m] = line; + m++; + } + + //(14)売上データをソート + for (int i = 0; i < data.length - 1; i++) { + for (int j = data.length - 1; j > i; j--) { + price1 = Integer.parseInt(data[j]); + price2 = Integer.parseInt(data[j-1]); + if (price1 > price2) { + String temp = data[j]; + data[j] = data[j-1]; + data[j-1] = temp; + } + } + } + + for (int k = 0; k < data.length; k++) { + System.out.println(data[k]); + } + in.close(); //(16)読み込みストリームのクローズ + } +} diff --git a/test/busstop.kmz b/test/busstop.kmz new file mode 100644 index 0000000..30e8330 --- /dev/null +++ b/test/busstop.kmz Binary files differ diff --git a/test/osm/jp/postgis/UnMappedTest.java b/test/osm/jp/postgis/UnMappedTest.java index 08caca5..98090de 100644 --- a/test/osm/jp/postgis/UnMappedTest.java +++ b/test/osm/jp/postgis/UnMappedTest.java @@ -6,8 +6,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; import org.xml.sax.helpers.DefaultHandler; import jp.co.areaweb.tools.database.DatabaseTool; import static org.hamcrest.CoreMatchers.is; @@ -102,8 +100,7 @@ void check(String dbname) { File kmz = null; try { - kmz = (new UnMapped(dbname)) - .getKmz(35.4341254D,139.408969D, 5.0D); + (new UnMapped(dbname)).createKml(35.4341254D,139.408969D, 5.0D); } catch(Exception e) { fail(e.toString()); diff --git a/test/sales.csv b/test/sales.csv new file mode 100644 index 0000000..ce0eefb --- /dev/null +++ b/test/sales.csv @@ -0,0 +1,5 @@ +2002/10/10,洗濯機,SHARP,100 +2002/10/10,掃除機,MITHUBISHI,200 +2002/10/10,乾燥機,HITACHI,50 +2002/10/10,テレビ,SONY,600 +2002/10/10,DVDプレーヤー,KENWOOD,300 \ No newline at end of file