public static BigDecimal[] convertToBaidu(BigDecimal lat,BigDecimal lon) {
Connection conn = ServiceContext.getConnection(0);
CallableStatement cs = null;
String sInfoMsg = null;
try {
String callSql = "{call dlmis.fcCoordBaidu2LonLat(?,?,?,?,?,?)}";
cs = conn.prepareCall(callSql);
cs.setBigDecimal(1, lat);
cs.setBigDecimal(2, lon);
cs.setInt(3, 2);
cs.registerOutParameter(4, OracleTypes.NUMBER);
cs.registerOutParameter(5, OracleTypes.NUMBER);
cs.registerOutParameter(6, OracleTypes.VARCHAR);
cs.execute();
sInfoMsg = cs.getString("sInfoMsg");
return new BigDecimal[]{cs.getBigDecimal("outputX"),cs.getBigDecimal("outputY")};
} catch (final Exception e) {
logger.error("[坐标转换]转换为百度坐标(fcCoordBaidu2LonLat)错误:"
+ e.getLocalizedMessage()+sInfoMsg);
e.printStackTrace();
return null;
} finally {
try {
cs.close();
} catch (final Exception e) {
cs = null;
}
ServiceContext.releaseConnection(0, conn);
}
}
create or replace function fcCoordBaidu2LonLat(inputX in number,
inputY in number,
iConvertType in integer,
outputX out number,
outputY out number,
sInfoMsg out varchar2)
return integer is
/**
功能:百度坐标转WGS84
以下省略