目录
一.GeoTools介绍
GeoTools是一套操作和显示地图的开源Java 代码库,提供了一系列符合规范的操作地理空间数据的方法,GeoTools被许多项目使用,在地理信息领域有着广泛的应用。
二.背景
在后端GIS开发中经常需要根据坐标来创建几何对象。点几何对象是最基础的一种,下面我们来使用geotools来创建带度量值的三维点几何对象。
三.实现代码
这里编写了一个创建点几何对象的createPointZM()方法,每次使用只需要调用createPointZM()方法传入相关参数,即可完成创建带度量值的三维点对象。
/**
* 创建带度量值的三维点(度量值默认为0)
* @param longitude 经度
* @param latitude 纬度
* @param height 高程
* @param srid 坐标系代号
* @return
*/
public static Point createPointZM(Double longitude, Double latitude, Double height, int srid){
if (longitude == null || latitude == null || height == null || srid == 0){
return null;
}
Double measure = new Double(0);
return createPointZM(longitude,latitude,height,measure,srid);
}
/**
* 创建带度量值的三维点(度量值默认为0;srid默认为4326)
* @param longitude 经度
* @param latitude 纬度
* @param height 高程
* @return
*/
public static Point createPointZM(Double longitude, Double latitude, Double height){
if (longitude == null || latitude == null || height == null){
return null;
}
Double measure = new Double(0);
int srid = 4326;
return createPointZM(longitude,latitude,height,measure,srid);
}
/**
* 创建带度量值的三维点
* @param longitude 经度
* @param latitude 纬度
* @param height 高程
* @param measure 度量值
* @param srid 坐标系代号
* @return
*/
public static Point createPointZM(Double longitude, Double latitude, Double height, Double measure, int srid){
if (longitude == null || latitude == null || height == null || measure == null || srid == 0){
return null;
}
MGeometryFactory mGeometryFactory = new MGeometryFactory(new PrecisionModel(),srid);
return mGeometryFactory.createPoint(new MCoordinate(longitude,latitude,height,measure));
}