GeoTools中的空间关系(Geometry Relationships)和空间操作(Geometry Operations)
参考原文:GeoTools中的空间关系和空间操作
一、GeoTools包含的空间关系和空间操作:
空间关系(Geometry Relationships):
常见的空间关系(Geometry Relationships)包括:Disjoint、Intersects、Touches、Crosses、Within、Contains、Overlaps、Relates。
空间操作(Geometry Operations):
常见的空间操作(Geometry Operations)包括:Buffer、Intersection、ConvexHull、Intersection、Union、Difference、SymDifference。
二、代码测试
- 测试数据
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))";
- 空间关系
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));
- 空间操作
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));
GeoTools中的空间关系(Geometry Relationships)和空间操作(Geometry Operations)相关推荐
- GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换
GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...
- GeoTools——JTS空间操作
目录 一.引言 二.代码操作 1.服务端 2.返回数据 3.客户端 三.总结 一.引言 使用geotools主要是对数据进行操作,这里的操作包括空间关系判断和空间关系运算.这里的空间关系判断常用的是否 ...
- geotools中等值面的生成与OL3中的展示
概述: 本文讲述如何在geotools中IDW插值生成等值面,并根据给定shp进行裁剪,并生成geojson数据,以及Openlayers3中展示. 效果: 插值数据 裁剪结果 裁剪区域数据 实现代码 ...
- Geotools中蜂巢的实现
概述 本文讲述如何在geotools中实现蜂巢效果. 效果 实现 1.扩展类IntersectionBuilder import com.vividsolutions.jts.geom.Coordin ...
- java操作geotiff_关于java使用geotools中的GeoTiffReader读取tif图像时报错
关于java使用geotools中的GeoTiffReader读取tif图像时报错:找不到类 javax.media.jai.PlanarImage 的错误 代码放上: import java.io. ...
- 为什么 Vista 使用过程中C盘用掉的空间迅速增大?
为什么 Vista 使用过程中C盘用掉的空间迅速增大? 你全新的 Vista 系统,用着用着发现 C: 盘上的已用空间多了许多.即使你重装了系统,用了一阵还是又有很多空间用掉了(即使没装很多软件).这 ...
- 解决GeoTools中CQL解析中文字段名的问题
GeoTools中CQL无法解析中文字段名的过滤条件,会报异常错误,经过一个下午的努力,终于通过简单有效的方式解决啦 String filterCondition = "temp='&quo ...
- arrays中copyof_在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?
面试三连 面试官:使用过集合吗?能说说都使用过哪些吗? 小明:当然使用过,使用比较多的就是ArrayList与HashMap,还有LinkedList.HashTable.ConcurrentHash ...
- C++中的类所占内存空间总结
C++中的类所占内存空间总结 最近在复习c++的一些基础,感觉这篇文章很不错,转载来,大家看看! 类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的 ...
最新文章
- Quartz2D在项目中的实际使用
- 撕掉“丑”的标签,体素是如何让游戏更有趣的?
- hashmap boost
- crm开源系统 tp框架_八个开源的 Spring Boot 前后端分离项目,一定要收藏!
- 前端学习(2310):数据请求和json-server
- layui 列表 模板
- wp8.1 java_巨硬的内部比较——WP8.1版本与WP10系统对比(以lumia640为例)
- IT安全面试问题汇总
- 删除之后在计算机操作中快捷键,计算机中删除的快捷键是什么
- 快速应对面试--分门别类--8.二叉树和递归
- PTA A1007A1008
- RT-Thread学习笔记六——线程间通讯(信号量的使用)
- 已从IT辞职4年,誓要做个不死的闯将!!!(有多少IT兄弟想辞职创业的?)
- 程序员大阳--所有教程、项目、源码导航
- 怎么制作出好玩的头像?教你制作个性头像小技巧
- 深度学习时间序列预测项目案例数据集介绍
- QQ 空间日志批量导出到CSDN
- source insight如何设置背景
- winform直接控制云台_手机云台选购指南丨拍短视频Vlog有必要买手机云台吗?什么样的手机云台值得推荐?...
- ESP32C3 驱动DS18B20成功