由于在项目中用到了大量的地图运用,因为之前的地图县与县的边界不重合,只要放大就特别难看,如下图所示:
初步分析是由于抽稀造成的,然后就是尝试各种方法,第一次找到了原来的地图,直接提取省市县的边界的json数据(没有抽稀,地图特别好看),好了这样也问题,最后县与县的边界也重合了,但是县的数据量实在是太大了,导致那个js文件最后达到了20M,那样初始化加载地图就会特别慢,当然了也尝试了压缩js文件,然后给浏览器也设置了解压缩,最后谷歌浏览器勉强可以接受,但是ie就真的惨了,直接加载失败。所以开始尝试第二种方案对地图抽稀。
地图抽稀:
在地理信息组找了帮手,他给的方案就是先对县进行抽稀,然后把县进行合并市,市再合并成省,但是中间遇到了技术问题,就是没有找到一种好的方法对地图进行抽稀,他给的思路就是先面转线,对县进行抽稀,然后再线转面,但是中间地图的属性就全部丢了,哇哦。。。每个省大概有一百多县,难道要一一去添加属性,对 ,没错,就是这样干的,当然了中间找了一个方法,就是简化为只合并重复的县的属性,那也省了好大的力气,此处省略一千字吧。。。这样搞了一天,一个河北省的数据都没搞定,中间经历那样的过程发现少了10个县的数据,哇哦,搞的我都心里发毛。后来我直接放弃了那种愚蠢的做法,好了,去群里问,然后过来半小时,有人回答了,由于之前也在好几个群里问了,都不知道怎么做,说可以用拓扑工具,然后概化边缘。我感觉得救了,然后继续问他,然后就没有然后了,终于自己研究搞了出来。下面解析:
第一步:从全国的数据中导出广西省、市、县的数据。
选中省的图层,右键open attribute Table 打开属性表,然后select by attribute 。
第二步:导出广西省的shp数据,选中广西省的图层,右键选DATA --》export DATA 选个路径导出就ok,如下图所示:
第三步:按照上面的做法依次导出 市和县的shp数据。
第四步:用拓扑工具,对县进行抽稀。(其实可以省市县一起抽稀,这样抽稀出来的县与县之间,县与市之间,市与省之间完美结合,没有缝隙。但是由于我这县的数据量实在太大了,导致,三个一起抽稀,就ArcGIS就卡死了,我用省和市的做过测试,完全可以做到)。
进入编辑状态,调出拓扑工具。
先勾选上gx_xian,点击ok.
第五步:抽稀完成后,导出json数据。
第六步:如果数据量小的话,三个可以一起抽稀。所以我采用用县的去合并市,把CODE相同的所有的县合并成市,比如4501%,所有属于南宁的县合并起来,最后采用同样的方法,把市合并成省。最后达到了想要的效果,如下图所示: