Newer
Older
osmCoverage / src / osm / jp / coverage / fuel / ToGeoJSON.java
@hayashi hayashi on 31 Jan 2018 1 KB fixed: Fuel
package osm.jp.coverage.fuel;

import java.io.File;
import java.sql.Connection;
import jp.co.areaweb.tools.database.DatabaseTool;

/**
 * PostGISデータをGeoJSONファイルに出力する。
 * 	出力ファイル名:	"fuel.json"
 * 	テーブル名:		t_fuel
 * 		fixed	OSMの周辺に存在するかどうか、存在しない場合は0,存在する場合は1。ブランド有りは50。
 * 		geom	PostGIS形式の位置情報(4612:)
 * SELECT row_to_json(feature) FROM (
select 'Feature' As type, ST_AsGeoJSON(ST_Transform(t_fuel.geom,4326))::json As geometry, row_to_json((
   SELECT p FROM (SELECT t_fuel.idref, t_fuel.fixed) AS p)) AS properties From t_fuel) 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;
            }
        }
        
        osm.jp.postgis.ToGeoJSON obj = new osm.jp.postgis.ToGeoJSON(DbFuel.TABLE_NAME);
        Connection con = DatabaseTool.openDb("postgis");
        try {
            obj.outputDb(con, "", new File("fuel.json"), false);
            obj.outputDb(con, "WHERE fixed=0", new File("fuel0.json"), slim);
            obj.outputDb(con, "WHERE fixed>0 and fixed<50", new File("fuel1.json"), slim);
            obj.outputDb(con, "WHERE fixed>49", new File("fuel2.json"), slim);
        }
        finally {
            DatabaseTool.closeDb(con);
        }
    }
}