1、JTS使用的maven pom
<!-- 几何形状关系判断 -->
<dependency>
<groupId>com.vividsolutions</groupId>
<artifactId>jts</artifactId>
<version>1.13</version>
</dependency>
2、JTS提供了如下的空间数据类型
Point
MultiPoint
LineString
LinearRing 封闭的线条
MultiLineString 多条线
Polygon 多边形
MultiPolygon
GeometryCollection 包括点,线,面
3、计算点到面的距离
WKTReader reader = new WKTReader();
Geometry point = reader.read(String.format(WKTPOINT, lng, lat));
for (String areaId : borderlineMap.keySet()) {
Geometry polygon = borderlineMap.get(areaId);
if (polygon.distance(point) == 0) {
return areaId;
}
}
这里的距离polygon.distance(point)与百度的距离米大概需要乘以100000
4、针对百度地图,更新缓慢的问题,解决区域边界划分,例如合肥市和巢湖市,巢湖市已经归合肥市管辖
但是百度地图区域范围一直没更新
Geometry polygon1 = reader.read("POLYGON((" + points1 + "))");
String points2 = min.replace(",", "").replace(";", ",");
Geometry polygon2 = reader.read("POLYGON((" + points2 + "))");
Geometry a = polygon1.union(polygon2);
说白了就是合并区域和从大区域扣掉小的区域
使用union和difference解决问题
来源:oschina
链接:https://my.oschina.net/u/2401742/blog/802055