当前位置:   article > 正文

Echarts实战案例代码(12):Highcharts与Echarts地图geoJSON的比较及使用方法_echarts geo和series使用不同json

echarts geo和series使用不同json

数据可视化中,需要做地图信息可视化时,必须用到geoJSON。目前支持地图数据可视化的JS库比较丰富,现以Highcharts与Echarts两个图表库为例,对比下geoJSON的区别!

geoJSON是什么?

geojson是用json的语法表达和存储地理数据,可以说是json的子集,其格式如下:

{
  "type": "FeatureCollection",
  "features": [
        {"type":"Feature",
        "properties":{},
        "geometry":{
            "type":"Point",
            "coordinates":[105.380859375,31.57853542647338]
            }
        }
    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Highcharts与Echarts地图geoJSON区别

项目HighchartsEcharts
版权使用时需购买相应的Highmaps 软件授权
许可需要获取源数据的许可且必须保证在图表中或页面中保留版权信息
等级Admin0,Admin1,Admin2 标识不同的授权限制等级

在实际的使用过程中,

  1. Echarts地图geoJSON代码结构如下格式,没有更多的属性和字段,不能直接应用于Highcharts的Highmaps中;
  2. Highmaps的geoJSON代码结构更复杂,内容信息更丰富,但是可以直接应用于Echarts中。

Highcharts地图数据属性

  • 国内地图格式:
 "features": [
    {
      "type": "Feature",
      "properties": {
        "adcode": 440100,
        "name": "广州",
        "center": [
          113.280637,
          23.125178
        ],
        "childrenNum": 11,
        "level": "city",
        "subFeatureIndex": 0,
        "fullname": "广州市",
        "filename": "guangzhou",
        "parent": "广东省",
        "areacode": 440100,
        "longitude": 113.280637,
        "latitude": 23.125178,
        "cp": [
          6177,
          2558
        ],
        "drilldown": "guangdong/guangzhou"
      },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
属性名示例值含义
adcode/areacode110000地区编码,同 国家统计局发布的行政规划代码
name北京,上海地区名字,为简写形式,去掉了诸如省、市、县等
center[116.405285, 39.904989]中心点经纬度
levelprovince地区级别,有 province(省、直辖市)、city(市)、district(区、县)
fullname北京市全称
filenamebeijing当前数据文件文件名
parent中国父级名称
longitude / latitude116.405285中心点经纬度
cp[6763, 6381]中心点坐标值
drilldownbeijing,anhui/hefei下一级数据文件路径
  • 国外地图格式:
    Echarts格式基本与国内相同,Highcharts的geoJSON更复杂。
"features": [
    {
      "type": "Feature",
      "id": "AU.NT",
      "properties": {
        "hc-group": "admin1",
        "hc-middle-x": 0.48,
        "hc-middle-y": 0.58,
        "hc-key": "au-nt",
        "hc-a2": "NT",
        "labelrank": "2",
        "hasc": "AU.NT",
        "alt-name": null,
        "woe-id": "2344701",
        "subregion": null,
        "fips": "AS03",
        "postal-code": "NT",
        "name": "Northern Territory",
        "country": "Australia",
        "type-en": "Territory",
        "region": null,
        "longitude": "133.78",
        "woe-name": "Northern Territory",
        "latitude": "-20.1026",
        "woe-label": "Northern Territory, AU, Australia",
        "type": "Territory"
      },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
属性名示例值含义
hc-group admin1, admin2, special地图数据的行政级别。admin0 为国家级别;admin1 是国家下面的第一级行政规划,例如中国的省,美国的洲等;admin2 为第二级,例如中国的市,美国的县;special 表示一些特殊的分区,并不是真正意义上的行政规划,例如国会选区
hc-middle-x0.65数据标签水平偏移值,表示相对该区块的宽度值,0 表示左对齐,1 为右对齐
hc-middle-y0.65数据标签竖直偏移值,表示相对该区块的高度值,0 表示顶部对齐,1 为底部对齐
hc-keyus, us-ma-027, gb-hi该地区的唯一标识字符串,该值在所有地图中保持唯一并和数据文件的命名一致
hc-a2KV,PA,BB2 个字母表示的地区名字,大部分和国际邮政代码(postal code/ISO code)一致。该属性不能保证在所有地图中是唯一的
nameFremont, Brandenburg, Saipan地图区域的名字
iso-a2US, MC, LVISO 标准的 2 位国家名字
iso-a3USA, MCO, LVA ISO标准的 3 位国家名字
continentAsia, North America地图所在的大洲
country-abbrevPan., C.R.国家名字的缩写形式
regionMidwest, South, Highlands and Islands地图所在的区域
subregionSouthern Europe, Highland地区所在的二级区域
fips120, GM10, US05, 56031FIPS 编码
hascDE.BB, US.ARHASC 编码
postal-codeAK, NY, TI邮政编码
typeState, Emirate, Fylke, Land地图类型

geojson.io的支持

Highcharts 导入后,不能正常显示区域;
Echarts 可正常显示。

如何获取geoJSON

Echarts的国、省、市、区县,网络资源丰富,CSDN下载中心也有;乡镇边界基本是需要付费购买的,直接手绘的精确度不够,也费时费力。
Highcharts国内geojson,省市文件可以直接调用,县级数据需要购买。

Done!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/941085
推荐阅读
相关标签
  

闽ICP备14008679号