空间类相关方法

This commit is contained in:
hukekuan@163.com 2017-12-16 00:47:31 +08:00
parent b5861722b4
commit f84e6e039c
5 changed files with 35 additions and 27 deletions

View File

@ -19,20 +19,25 @@ public class App {
public static void main(String[] args) {
ApplicationContext context = ApplicationInit();
ViewService viewService = context.getBean(ViewService.class);
View view = new View();
String id = UUID.randomUUID().toString();
view.setViewId(id);
System.out.println(view.getViewId());
view.setViewName("测试视图");
view.setCenter(new Double[]{117.089151, 36.738693});
view.setProjection("EPSG:4326");
view.setMinZoom(8);
view.setMaxZoom(18);
view.setZoom(9);
View view = viewService.findeViewById("a20d41b4-208d-47da-8c02-e7023fc4e9f4");
System.out.println("["+ ((Double[])view.getCenter())[0] + ", " + ((Double[])view.getCenter())[1] + "]");
viewService.insertView(view);
System.out.println("插入成功");
// View view = new View();
// String id = UUID.randomUUID().toString();
//
// view.setViewId(id);
// System.out.println(view.getViewId());
// view.setViewName("测试视图");
// view.setCenter(new Double[]{117.089151, 36.738693});
// view.setProjection("EPSG:4326");
// view.setMinZoom(8);
// view.setMaxZoom(18);
// view.setZoom(9);
//
// viewService.insertView(view);
// System.out.println("插入成功");
// MapService mapService = context.getBean(MapService.class);
// Map map = mapService.findAllList().get(0);

View File

@ -4,11 +4,13 @@ import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeException;
import java.math.BigDecimal;
import java.sql.*;
/**
* Created by hukekuan on 2017/12/15.
*/
public class ArrayTypeHandler extends BaseTypeHandler<Object[]> {
private static final String TYPE_NAME_VARCHAR = "varchar";
private static final String TYPE_NAME_BOOLEAN = "boolean";
@ -32,11 +34,13 @@ public class ArrayTypeHandler extends BaseTypeHandler<Object[]> {
if (typeName == null) {
throw new TypeException("ArrayTypeHandler parameter typeName error, your type is " + parameter.getClass().getName());
}
System.out.println("======= "+ typeName +" =======");
Array array = ps.getConnection().createArrayOf(typeName, parameter);
ps.setArray(i, array);
}
@Override
public Object[] getNullableResult(ResultSet rs, String columnName) throws SQLException {
return getArray(rs.getArray(columnName));

View File

@ -16,8 +16,8 @@ create table c3gis_ol_map(
create table c3gis_ol_view(
viewid varchar(50) not null PRIMARY KEY,
viewname varchar(50) not null,
center NUMERIC(14,6) ARRAY[2],
extent NUMERIC(14,6) ARRAY[4],
center double precision ARRAY[2],
extent double precision ARRAY[4],
maxresolution varchar(50),
minresolution varchar(50),
maxzoom int,

View File

@ -4,22 +4,21 @@
<resultMap id="viewResult" type="com.gis3c.ol.entity.View">
<result property="viewId" column="viewid" />
<result property="viewName" column="viewname" />
<result property="center" column="center" javaType="Object"/>
<result property="extent" column="extent" javaType="Object"/>
<result property="maxResolution" column="maxresolution" />
<result property="center" column="center" javaType="ObjectArray"/>
<result property="extent" column="extent" javaType="ObjectArray"/>
<result property="minResolution" column="minresolution" />
<result property="maxZoom" column="maxzoom" />
<result property="minZoom" column="minzoom" />
<result property="zoom" column="zoom" />
<result property="projection" column="projection" />
<result property="resolution" column="resolution" />
<result property="resolutions" column="resolutions" javaType="Object"/>
<result property="resolutions" column="resolutions" javaType="ObjectArray"/>
<result property="rotation" column="rotation" />
<result property="description" column="description" />
</resultMap>
<sql id="viewColumns">
v.viewid
viewid
, v.viewname
, v.center
, v.extent
@ -39,7 +38,7 @@
SELECT
<include refid="viewColumns"/>
FROM c3gis_ol_view v
WHERE v.viewid = #{viewId};
WHERE v.viewid = #{viewId, javaType=java.lang.String};
</select>
<select id="findeViewByName" resultMap="viewResult">
@ -69,8 +68,8 @@
VALUES(
#{viewId}
, #{viewName}
, #{center}
, #{extent}
, #{center, javaType=ObjectArray}
, #{extent, javaType=ObjectArray}
, #{maxResolution}
, #{minResolution}
, #{maxZoom}
@ -78,7 +77,7 @@
, #{zoom}
, #{projection}
, #{resolution}
, #{resolutions}
, #{resolutions, javaType=ObjectArray}
, #{rotation}
, #{description});
</insert>

View File

@ -45,9 +45,9 @@
<typeHandler handler="com.gis3c.common.OracleSpatialHandler" javaType="Geometry" />
</typeHandlers>-->
<typeAliases>
<typeAlias type="java.lang.Object" alias="Object" />
<typeAlias type="java.lang.Object" alias="ObjectArray" />
</typeAliases>
<typeHandlers>
<typeHandler handler="com.gis3c.spatial.postgis.ArrayTypeHandler" javaType="Object" />
<typeHandler handler="com.gis3c.spatial.postgis.ArrayTypeHandler" javaType="ObjectArray" />
</typeHandlers>
</configuration>