geotools中的空间关系(Geometry Relationships)和空间操作(Geometry Operations)
来源:互联网 发布:新西兰留学利弊端 知乎 编辑:程序博客网 时间:2024/05/17 22:11
概述:
本文讲述geotools中的空间关系判断(Geometry Relationships)和空间操作(Geometry Operations)的编码实现。
空间关系(Geometry Relationships):
常见的空间关系(Geometry Relationships)包括:Disjoint、Intersects、Touches、Crosses、Within、Contains、Overlaps、Relates。
空间操作(Geometry Operations):
常见的空间操作(Geometry Operations)包括:Buffer、Intersection、ConvexHull、Intersection、Union、Difference、SymDifference。
代码实现:
1、测试数据
String wktPoint = "POINT(103.83489981581 33.462715497945)";String wktLine = "LINESTRING(108.32803893589 41.306670233001,99.950999898452 25.84722546391)";String wktPolygon = "POLYGON((100.02715479879 32.168082192159,102.76873121104 37.194305614622,107.0334056301 34.909658604412,105.96723702534 30.949603786713,100.02715479879 32.168082192159))";String wktPolygon1 = "POLYGON((96.219409781775 32.777321394882,96.219409781775 40.240501628236,104.82491352023001 40.240501628236,104.82491352023001 32.777321394882,96.219409781775 32.777321394882))";
测试数据地图展示如下:
2、空间关系
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory( null );WKTReader reader = new WKTReader( geometryFactory );Point point = (Point) reader.read(wktPoint);LineString line = (LineString) reader.read(wktLine);Polygon polygon = (Polygon) reader.read(wktPolygon);Polygon polygon1 = (Polygon) reader.read(wktPolygon1);System.out.println("-------空间关系判断-------");System.out.println(polygon.contains(point));System.out.println(polygon.intersects(line));System.out.println(polygon.overlaps(polygon1));
控制台输出结果如下:
3、空间操作
System.out.println("\r\n-------空间计算-------");WKTWriter write = new WKTWriter();Geometry intersection = polygon.union( polygon1 );Geometry union = polygon.union( polygon1 );Geometry difference = polygon.difference( polygon1 );Geometry symdifference = polygon.symDifference( polygon1 );System.out.println("\t+++++++++++叠加分析+++++++++++");System.out.println(write.write(intersection));System.out.println("\t+++++++++++合并分析+++++++++++");System.out.println(write.write(union));System.out.println("\t+++++++++++差异分析+++++++++++");System.out.println(write.write(difference));System.out.println("\t+++++++++++sym差异分析+++++++++++");System.out.println(write.write(symdifference));控制台输出结果如下:
空间操作的计算结果展示如下:
intersect
union
Difference
SymDifference
---------------------------------------------------------------------------------------------------------------
技术博客
http://blog.csdn.NET/gisshixisheng
在线教程
http://edu.csdn.Net/course/detail/799
Github
https://github.com/lzugis/
联系方式
q q:1004740957
e-mail:niujp08@qq.com
公众号:lzugis15
Q Q 群:452117357(webgis)
337469080(Android)
---------------------------------------------------------------------------------------------------------------
技术博客
http://blog.csdn.NET/gisshixisheng
在线教程
http://edu.csdn.Net/course/detail/799
Github
https://github.com/lzugis/
联系方式
q q:1004740957
e-mail:niujp08@qq.com
公众号:lzugis15
Q Q 群:452117357(webgis)
337469080(Android)
- geotools中的空间关系(Geometry Relationships)和空间操作(Geometry Operations)
- GeoTools应用-(JTS Geometry Operations)
- GeoTools应用-(JTS Geometry Operations)(一)
- GeoTools应用-(JTS Geometry Operations)(二)
- MySQL空间查询(Geometry类)
- Oracle Spacial(空间数据库)GEOMETRY示例
- SQL Server 支持空间数据(Geometry和Geography)的空间索引概述
- GeoTools应用-JTS(Geometry之间的关系)
- GeoTools应用-JTS(Geometry之间的关系)
- GeoTools应用-JTS(Geometry之间的关系)
- Oracle Spacial(空间数据库)geometry元数据结构
- GeoTools应用-JTS(Geometry)
- GeoTools应用-JTS(Geometry)
- JTS Geometry Operations(一)
- JTS Geometry Operations(二)
- Postgresql 创建空间数据库 支持geometry类型
- JTS(Geometry) 空间数据模型的构建
- Jts Geometry 的Difference 空间差异分析
- 链表
- STM32笔记风速仪
- LeetCode 82. Remove Duplicates from Sorted List II
- odoo通过iframe插入html页面
- C++字符串长度获取方法
- geotools中的空间关系(Geometry Relationships)和空间操作(Geometry Operations)
- 转:视觉传达专业需要学习什么内容
- 蓝桥杯未解决题目之等和的分隔子集
- Java虚拟机详解04----GC算法和种类【重要】
- iOS去除网络请求到的数据的null值
- 机器学习:过拟合问题
- Java复习之内部类
- html入门教程适合初学者(2)
- ubuntu16.04安装caffe以及各种问题汇总