package cz.agents.dbtokmlexporter.kmlitem.builder; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.opengis.referencing.operation.TransformException; import com.vividsolutions.jts.geom.Geometry; import cz.agents.agentpolis.tools.geovisio.database.connection.DatabaseConnection; import cz.agents.alite.googleearth.updates.Kmz; import cz.agents.dbtokmlexporter.utils.TimeUtils; import cz.agents.resultsvisio.kml.KmlItem; import de.micromata.opengis.kml.v_2_2_0.Coordinate; import de.micromata.opengis.kml.v_2_2_0.Document; import de.micromata.opengis.kml.v_2_2_0.Folder; import de.micromata.opengis.kml.v_2_2_0.Kml; /** * * @author Marek Cuchy * */ public abstract class KmlItemBuilder extends SimpleKmlItemBuilder { protected final DatabaseConnection connection; protected final long interval; public KmlItemBuilder(DatabaseConnection connection, String schemaName, long interval, String fileName) { this(connection, schemaName, interval, fileName, false); } public KmlItemBuilder(DatabaseConnection connection, String schemaName, long interval, String fileName, boolean hasToBeSavedToKmz) { super(schemaName, fileName, hasToBeSavedToKmz); this.connection = connection; this.interval = interval; } public Geometry getGeometry(ResultSet resultSet, String columnName) throws SQLException{ return (Geometry) resultSet.getObject(columnName); } public abstract KmlItem buildKmlItem() throws SQLException; public String getFileName() { return fileName; } protected String getTransformedGeomSql() { return "st_transform(geom,4326) as " + getTransformedGeomColumnName(); } protected String getTransformedGeomColumnName() { return "tranformed_geom"; } }