
geotools
奥法vx
程序员中的"copy忍者"-旗木卡卡西
展开
-
GeoTools使用--多面合并的空洞处理
在项目中经常用到多个城市地理数据的合并,但因城市的边界的规则性,就造成了在合并两个城市边界时出现了中间有空洞区域的情况。以青海与甘肃张掖地理边界进行合并为例(为什么不用甘肃省的,因为省与省的地理边界往往是从同一套地理数据中提取的,存在边界空洞的情况就少一些)。来说明一下我的处理思路。1.边界数据来源:阿里的地图选择器。datav.aliyun.com/tools/atlas。2.在使用Geo...原创 2020-03-25 12:46:53 · 2518 阅读 · 0 评论 -
GeoTools使用--jts处理线的自相交问题
jts处理线的自相交问题 做图形处理的时候,经常遇到面的边线有自相交的交点,当进行面面合并、拆分时就会报错:com.vividsolutions.jts.geom.TopologyException: side location conflict [ (1.3808092156632675E7, 4827228.3856722275, NaN) ]这里使用面的边线进行自相交,获取线的所有点(包含相交点),然后在重新生成多边形面。处理前的图形:处理代码: public static voi原创 2020-11-19 14:34:27 · 7766 阅读 · 0 评论 -
GeoTools使用--使用jts的线自相交重新绘制多边形
多边形线、面的自相交问题一直是个头疼的问题!网上的处理方式有多种,Polygonizer使用线从新绘制是一种,但会漏洞中间的孔洞。昨天突然想到一个巧妙的解决方法。程序员不多说,直接上代码了。巧妙方法来了_ 。处理前:处理后:工具类代码:package com.vx.utils;import com.vividsolutions.jts.geom.*;import com.vividsolutions.jts.operation.valid.IsValidOp;import com.viv原创 2020-11-20 16:53:52 · 3003 阅读 · 12 评论 -
GeoTools使用--计算多边形最小可穿过圆的直径
工作中经常需要处理一些狭长的弯曲图形,但这个“狭长”怎么定义呢,我们就想到通过计算多边形的最大外切圆直径与最小可穿过圆的直径比,如果比值在判识指标之下就认为是需要忽略掉的狭长图形。已下面图形为例,计算它的最小可穿过圆的直径(一个比较low的方法^ _ ^)。第一步 继续多边形的最小外切矩形 得到多边形的第一个相交线第二步 使用上一步的相交线,将多边形进行切分,分别计算每个子多边形的相交线长度如果第一步的相交线第二部的相交线,就不用再继续递归执行了,如果第二步的大,则需要继续递归。知道满足条件原创 2020-12-15 11:10:25 · 990 阅读 · 0 评论