赞
踩
在数据可视化中,需要做地图信息可视化时,必须用到geoJSON。目前支持地图数据可视化的JS库比较丰富,现以Highcharts与Echarts两个图表库为例,对比下geoJSON的区别!
geojson是用json的语法表达和存储地理数据,可以说是json的子集,其格式如下:
{
"type": "FeatureCollection",
"features": [
{"type":"Feature",
"properties":{},
"geometry":{
"type":"Point",
"coordinates":[105.380859375,31.57853542647338]
}
}
]
}
项目 | Highcharts | Echarts |
---|---|---|
版权 | 使用时需购买相应的Highmaps 软件授权 | 无 |
许可 | 需要获取源数据的许可且必须保证在图表中或页面中保留版权信息 | 无 |
等级 | Admin0,Admin1,Admin2 标识不同的授权限制等级 | 无 |
在实际的使用过程中,
"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"
},
属性名 | 示例值 | 含义 |
---|---|---|
adcode/areacode | 110000 | 地区编码,同 国家统计局发布的行政规划代码 |
name | 北京,上海 | 地区名字,为简写形式,去掉了诸如省、市、县等 |
center | [116.405285, 39.904989] | 中心点经纬度 |
level | province | 地区级别,有 province(省、直辖市)、city(市)、district(区、县) |
fullname | 北京市 | 全称 |
filename | beijing | 当前数据文件文件名 |
parent | 中国 | 父级名称 |
longitude / latitude | 116.405285 | 中心点经纬度 |
cp | [6763, 6381] | 中心点坐标值 |
drilldown | beijing,anhui/hefei | 下一级数据文件路径 |
"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"
},
属性名 | 示例值 | 含义 |
---|---|---|
hc-group admin1, admin2, special | 地图数据的行政级别。 | admin0 为国家级别;admin1 是国家下面的第一级行政规划,例如中国的省,美国的洲等;admin2 为第二级,例如中国的市,美国的县;special 表示一些特殊的分区,并不是真正意义上的行政规划,例如国会选区 |
hc-middle-x | 0.65 | 数据标签水平偏移值,表示相对该区块的宽度值,0 表示左对齐,1 为右对齐 |
hc-middle-y | 0.65 | 数据标签竖直偏移值,表示相对该区块的高度值,0 表示顶部对齐,1 为底部对齐 |
hc-key | us, us-ma-027, gb-hi | 该地区的唯一标识字符串,该值在所有地图中保持唯一并和数据文件的命名一致 |
hc-a2 | KV,PA,BB | 2 个字母表示的地区名字,大部分和国际邮政代码(postal code/ISO code)一致。该属性不能保证在所有地图中是唯一的 |
name | Fremont, Brandenburg, Saipan | 地图区域的名字 |
iso-a2 | US, MC, LV | ISO 标准的 2 位国家名字 |
iso-a3 | USA, MCO, LVA ISO | 标准的 3 位国家名字 |
continent | Asia, North America | 地图所在的大洲 |
country-abbrev | Pan., C.R. | 国家名字的缩写形式 |
region | Midwest, South, Highlands and Islands | 地图所在的区域 |
subregion | Southern Europe, Highland | 地区所在的二级区域 |
fips | 120, GM10, US05, 56031 | FIPS 编码 |
hasc | DE.BB, US.AR | HASC 编码 |
postal-code | AK, NY, TI | 邮政编码 |
type | State, Emirate, Fylke, Land | 地图类型 |
Highcharts 导入后,不能正常显示区域;
Echarts 可正常显示。
Echarts的国、省、市、区县,网络资源丰富,CSDN下载中心也有;乡镇边界基本是需要付费购买的,直接手绘的精确度不够,也费时费力。
Highcharts国内geojson,省市文件可以直接调用,县级数据需要购买。
Done!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。