基于shp完成echarts map的显示

实现echarts的map显示,分为两步,第一步转换shp文件为geojson格式,第二步在echarts中显示

  1. 处理shp文件。
    a) 利用arcMap打开shp文件,删除多余的polygon,剩下需要显示的区域。
    b)修改shp文件的属性。geojson中需要的属性有:name、cp、childNum、polygon。我们可以利用arcMap提供的field Calculator实现shp属性的修改。修改后格式如图:
    这里写图片描述
    c)将处理好的shp转成geojson。 访问http://mapshaper.org/,可以将shp导出geojson。此时有一个问题,就是CP属性是字符串,需要将字符串转成数组 ,我是利用java程序转的

第二步利用echarts显示地图,直接上程序

$.getJSON("data/echart_standard_d.json",function(data){
    echarts.registerMap('heilj', data);   
    //定义div#map,给定width和height
    chart = echarts.init(document.getElementById('map'));
    chart.setOption({
         title: { text: 'title',},
         toolbox:{
             show: true,
             orient: 'vertical',
             left: 'right',
             top: 'center',
             feature:{
                 saveAsImage: {
                    backgroundColor:'#fff',
                    excludeComponents: ['toolbox']
                 }
             }
         },
         visualMap: {
             type:'piecewise',
             show:false,        //图例
             pieces: [
                 {value: 1,color:'#ff0000',label:'红色'},
                 {value: 2,color:'#FF8330',label:'橙色'}
             ],
             right:0,
             bottom:0,
             align:'left',
             padding:[30,10,10,10], //上、右、下、左
             borderWidth:1 ,
             borderColor:'#000',
             itemGap:5,
             itemSymbol:'rect',
             itemWidth:30,
             itemHeight:20,
             inverse:true
         },
         series: [{
             selectedMode:false,
             silent:true,
             type: 'map',
             roam: true,
             label:{
                 normal:{
                     show:true,
                     formatter:'{c}',   //显示数值在地图上
                     textStyle:{
                         color:'#f00' ,
                         fontWeight:"bold"
                     }
                 }
             },
             data:[{name:"漠河县",value:3}]   //这个需要程序处理
         }]
    });
})

通过上面就能显示效果,效果图如下:
这里写图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值