package osm.jp.coverage.police; import java.io.File; import java.sql.Connection; import jp.co.areaweb.tools.database.DatabaseTool; /** * PostGISデータをGeoJSONファイルに出力する。 * 出力ファイル名: "police.json" * テーブル名: POSTGIS.t_POLICE * fixed OSMの周辺に存在するかどうか、存在しない場合は0,存在する場合は50 * geom PostGIS形式の位置情報(4612:) * SELECT row_to_json(feature) FROM ( select 'Feature' As type, ST_AsGeoJSON(ST_Transform(t_POLICE.geom,4326))::json As geometry, row_to_json(( SELECT p FROM (SELECT t_POLICE.idref, t_POLICE.fixed) AS p)) AS properties From t_POLICE) As feature * * @author yuu * */ public class ToGeoJSON { public static void main (String[] argv) throws Exception { boolean slim = false; for (String arg : argv) { if (arg.equals("-slim")) { slim = true; } } File dir = new File("GML_POLICE"); osm.jp.postgis.ToGeoJSON obj = new osm.jp.postgis.ToGeoJSON(DbPolice.TABLE_NAME); Connection con = DatabaseTool.openDb("postgis"); try { obj.outputDb(con, "", new File(dir, "police.json"), false); obj.outputDb(con, "WHERE fixed=0 and code=2", new File(dir, "police2z.json"), slim); obj.outputDb(con, "WHERE fixed>0 and code=2", new File(dir, "police2.json"), slim); obj.outputDb(con, "WHERE fixed=0 and code=4", new File(dir, "police4z.json"), slim); obj.outputDb(con, "WHERE fixed>0 and code=4", new File(dir, "police4.json"), slim); obj.outputDb(con, "WHERE fixed=0 and code=5", new File(dir, "police5z.json"), slim); obj.outputDb(con, "WHERE fixed>0 and code=5", new File(dir, "police5.json"), slim); obj.outputDb(con, "WHERE fixed=0 and code=6", new File(dir, "police6z.json"), slim); obj.outputDb(con, "WHERE fixed>0 and code=6", new File(dir, "police6.json"), slim); } finally { DatabaseTool.closeDb(con); } } }