有几个城市的google地图kml文件,每个文件中有几千条(大概六千)经纬度数据(连起来就是城市平面图)。
由于某种原因,需要将这些数据精简到原来总数据的三分之一条,而不影响地图的呈现效果,
我想的是:排除一些比较接近的数据,或者有某两个坐标差距较大可以取其中间坐标。
但是不知道具体的算法,求助各位大神,有什么更好的方案,最好有具体的算法。
谢谢大家
求助:java如何精简数据?数据是几千条google的地图坐标(经纬度)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2017-03-21 12:05关注
因为所有中国的地理坐标都在北纬/东经范围内,所以N E两个符号可以不要。
其次,每个城市基本上都在110km的范围内,所以可以用城市基准坐标+每个地点偏移坐标,而偏移坐标+-可以小于1度。
这两样可以压缩超过50%的数据
然后再用公共前缀的方式存入hash表,又可以大大压缩数据量。解决 无用评论 打赏 举报