java 使用jts工具做线的缓冲区,左侧自定义扩展N米,右侧自定义扩展M米。
- 1.左右各扩展n米
public static void main(String[] args) throws ParseException {
String geom1 = "LINESTRING Z(13504399.8685721 3657960.0165479057 0, 13504400.422609204 3657953.2089571054 1)";
BufferParameters parameters1 = new BufferParameters();
parameters1.setEndCapStyle(BufferParameters.CAP_FLAT);
parameters1.setSingleSided(true);
Geometry buffer = BufferOp.bufferOp(lineString1, 1, parameters1);
Geometry buffer2 = BufferOp.bufferOp(lineString1, -2, parameters1);
System.out.println(buffer.union(buffer2).toString());
}
- 2.左侧扩展n米缓冲区
public static void main(String[] args) throws ParseException {
String geom1 = "LINESTRING Z(13504399.8685721 3657960.0165479057 0, 13504400.422609204 3657953.2089571054 1)";
BufferParameters parameters1 = new BufferParameters();
parameters1.setEndCapStyle(BufferParameters.CAP_FLAT);
parameters1.setSingleSided(true);
Geometry buffer = BufferOp.bufferOp(lineString1, 1, parameters1);
System.out.println(buffer.toString());
}
- 3.右侧与左侧相同操作,扩展distance为负数即可。