JTS拓扑操作-geometry合并

JTS拓扑操作-geometry合并

LINK之间合并

link的合并会把端点相同的线连接起来,输出一个LINESTRING的集合

	WKTReader reader = new WKTReader();
	Geometry line = reader.read("LINESTRING (0 0,0 0.5, 0 1)");
	Geometry line1 = reader.read("LINESTRING (1 1,0 0.5, 0 0.6, 0 0.5,0 1)");
	Geometry line2 = reader.read("LINESTRING (1 1,0 0.5, 2 2)");
	Geometry geometry = null;
	LineMerger lineMerger = new LineMerger();
	//添加几何对象不需要按照顺序,只要道路首尾坐标点重合即可
	lineMerger.add(line);
	lineMerger.add(line1);
	lineMerger.add(line2);
	Collection mergedLineStrings = lineMerger.getMergedLineStrings();
	System.out.println(mergedLineStrings.toString());

MULTILINESTRING合并

MULTILINESTRING的合并会把多线拆分为单线后,按多个LINK之间的合并规则进行

	Geometry multiLine = reader.read("MULTILINESTRING ((1 1, 0 1), (1 0.5, 1 1))");
	LineMerger lineMerger1 = new LineMerger();
	lineMerger1.add(multiLine);
	Collection mergedLineStrings1 = lineMerger1.getMergedLineStrings();
	System.out.println(mergedLineStrings1.toString());

POLYGON合并

POLYGON会把POLYGON和外环和内环提取为线后按多个LINK之间的合并规则进行

	// polygon - 会提取边界
	// polygon的外环为逆时针
	Geometry polygon = reader.read("POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))");
	LineMerger lineMerger2 = new LineMerger();
	lineMerger2.add(polygon);
	Collection mergedLineStrings2 = lineMerger2.getMergedLineStrings();
	System.out.println(mergedLineStrings2.toString());
	
	// 有环的polygon,pulygon的外环为逆时针,内环为顺时针
	Geometry polygon1 = reader.read("POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0), (0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1))");
	LineMerger lineMerger3 = new LineMerger();
	lineMerger3.add(polygon1);
	Collection mergedLineStrings3 = lineMerger3.getMergedLineStrings();
	System.out.println(mergedLineStrings3.toString());
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值