隔点预报GRIB绘制等值线矢量图问题分析(二)
上一次用grib 绘制等值线矢量图 https://my.oschina.net/umbrellall1/blog/4423342 时,发现绘制的时候有个严重bug,因为我绘制GeoJson图层的时候是从轻到重,所以绘制出来的图形粗略看是没问题但是通过地图描绘就看到了存在一个bug. 利用上次的代码绘制出来的图形是这个样子的: 粗略一看是没什么问题但是对比地图就会发现个问题 红色框的部分应该镂空的但是绘制出来的图片却是实体,所以问题大概是在绘制图形上面出现问题了我绘制图形采用的是Graphics2D 而 Polygon 不支持带孔的多边形 ,所以问题就来了,如何来解决这个问题? 起初我是这样想的先绘制图形最后绘制镂空的部分不就好了,于是修改了代码运行效果: 嗯?孔到是出来了 中间的点却被覆盖了?怎么回事? 我把那个空的区域绘制出来看一下 原来geoJson 这个绘制的时候也是由于不支持带孔的所以会把中间那几个区域给覆盖掉。 这条路不通啊。那如何来做呢?去网上搜索如何绘制有孔多边形,经过搜索发现 Polygon 单纯绘制不出有孔的需要通过转化Area 在通过Area的裁剪函数在来绘制就可以绘制出来 Area area = new Area(p); Area area2 = new Area(p2); area2.subtract(area) 既然可以绘制有孔的