package org.geotools.data.sqlserver;
import org.geotools.jdbc.JDBC3DTestSetup;
public class SQLServer3DTestSetup extends JDBC3DTestSetup {
protected SQLServer3DTestSetup() {
super(new SQLServerTestSetup());
}
@Override
protected void createLine3DTable() throws Exception {
// smuggle in the creation of the geometry columns table
run("CREATE TABLE GEOMETRY_COLUMNS_3D_TEST(" +
" F_TABLE_SCHEMA VARCHAR(30) NOT NULL," +
" F_TABLE_NAME VARCHAR(30) NOT NULL," +
" F_GEOMETRY_COLUMN VARCHAR(30) NOT NULL," +
" COORD_DIMENSION INTEGER," +
" SRID INTEGER NOT NULL," +
" TYPE VARCHAR(30) NOT NULL," +
" UNIQUE(F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN)," +
" CHECK(TYPE IN ('POINT','LINE', 'POLYGON', 'COLLECTION', 'MULTIPOINT', 'MULTILINE', 'MULTIPOLYGON', 'GEOMETRY') ))");
// setup table
run("CREATE TABLE \"line3d\"(\"fid\" int IDENTITY(0, 1) PRIMARY KEY, \"id\" int, "
+ "\"geom\" geometry, \"name\" varchar(255) )");
run("CREATE SPATIAL INDEX line3d_GEOM_IDX ON \"line3d\"(\"geom\") WITH (BOUNDING_BOX = (-10, -10, 10, 10))");
// insert data
run("INSERT INTO \"line3d\" (\"id\",\"geom\",\"name\") VALUES (0,"
+ "geometry::STGeomFromText('LINESTRING(1 1 0, 2 2 0, 4 2 1, 5 1 1)', 4326),"
+ "'l1')");
run("INSERT INTO \"line3d\" (\"id\",\"geom\",\"name\") VALUES (1,"
+ "geometry::STGeomFromText('LINESTRING(3 0 1, 3 2 2, 3 3 3, 3 4 5)', 4326),"
+ "'l2')");
}
@Override
protected void createPoint3DTable() throws Exception {
// setup table
run("CREATE TABLE \"point3d\"(\"fid\" int IDENTITY(0, 1) PRIMARY KEY, \"id\" int, "
+ "\"geom\" geometry, \"name\" varchar(255) )");
run("CREATE SPATIAL INDEX POINT3D_GEOM_IDX ON \"point3d\"(\"geom\") WITH (BOUNDING_BOX = (-10, -10, 10, 10))");
// insert data
run("INSERT INTO \"point3d\" (\"id\",\"geom\",\"name\") VALUES (0, "
+ "geometry::STGeomFromText('POINT(1 1 1)', 4326)," + "'p1')");
run("INSERT INTO \"point3d\" (\"id\",\"geom\",\"name\") VALUES (1, "
+ "geometry::STGeomFromText('POINT(3 0 1)', 4326)," + "'p2')");
}
@Override
protected void dropLine3DTable() throws Exception {
runSafe("DROP TABLE \"GEOMETRY_COLUMNS_3D_TEST\"");
runSafe("DROP TABLE \"line3d\"");
}
@Override
protected void dropPoly3DTable() throws Exception {
runSafe("DROP TABLE \"poly3d\"");
}
@Override
protected void dropPoint3DTable() throws Exception {
runSafe("DROP TABLE \"point3d\"");
}
}