shp数据转为geojson格式作为ECharts地图扩展文件

项目中进行图表信息展示时采用了Eharts的图表样式,需要用到地图展示方式,但是已有的地图并不能满足项目的个性化需求,采用地图图片的方式既不灵活,也不美观。ECharts地图扩展文件使用geoJson格式,制作方式有很多种,我选择通过shp数据转换为geojson格式,因为可以通过ArcMap制作自己个性化的shp数据,也就能灵活得到满足项目需求的geojson数据,制作方式如下:

1、制作shp数据。地理信息行业的人员都对ArcGis和shp格式的数据编辑比较了解,也不是简单能说清楚的,不再详细说明。

2、然后利用得到的shp数据转换为geojson格式,转换方式和工具也有很多种,我用的是一个在线转化工具进行数据转换,地址是:http://mapshaper.org/

3、点击select选择刚才制作的shp数据。

4、点击import,显示数据。

5、点击export,选择geojson格式进行数据导出。

6、导出的geojson数据就可以拿到ECharts中进行自定义地图展示了。

<meta charset="utf-8">
<title>MyMap</title>
</head>
<body>
<div id="main" style="height: 400px"></div>
<script src="js/echarts.js"></script>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$.get("js/shandong.json",function(map){
var myChart = echarts.init(document.getElementById(‘main‘));
echarts.registerMap("shandong",map);
var option = {
series : [ {
map : "shandong",
type : "map"
} ]
};
myChart.setOption(option);
});
</script>

显示界面:

7、这里有一点需要注意,显示的地图跟原始数据不太一样,地图被缩放的,如果地图范围宽度比较窄的数据看起来会很丑,原因是ECharts中地图显示设置时有个aspectScale属性,长宽比默认是0.75。改为1就OK了。

<meta charset="utf-8">
<title>MyMap</title>
</head>
<body>
<div id="main" style="height: 400px"></div>
<script src="js/echarts.js"></script>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$.get("js/shandong.json",function(map){
var myChart = echarts.init(document.getElementById(‘main‘));
echarts.registerMap("shandong",map);
var option = {
series : [ {
map : "shandong",
type : "map",
aspectScale: 1.0 //长宽比. 默认是: 0.75,所以地图变形 
} ]
};
myChart.setOption(option);
});
</script>

8、修改之后的地图显示:

9、好,大功告成,后边就可以根据客户需求进行各种美化、应用了。

时间: 2024-10-12 03:27:15

shp数据转为geojson格式作为ECharts地图扩展文件的相关文章

C# 将格式为20150528的数据转为日期格式

如果需要将格式为 “20150528”的数据转为日期格式2015-05-28,可以使用以下代码: string createdon_str = "20150528"; DateTime createdon_date = DateTime.ParseExact(createdon_str,"yyyyMMdd",null);

关于多条数据转为json格式单次传输的问题 2017.05.27

数据形式如下: var mycars = [];//定义数组存放多条数据 for(var i=0;i<2;i++){ var jsonData = {};//定义变量存放单条数据 jsonData.MainCmdID = 1; jsonData.SubCmdID = i; mycars[i]=JSON.stringify(jsonData);//单挑数据转为json格式,存放到数组 } var toStr="";//定义字符变量准备拼接json for (var i=0;i<

.net接收post请求并把数据转为字典格式

public SortedDictionary<string, string> GetRequestPost() { int i = 0; SortedDictionary<string, string> sArray = new SortedDictionary<string, string>(); NameValueCollection coll = Request.Form; String[] requestItem = coll.AllKeys; for (i

百度echarts地图扩展动态加载geoCoord

var data={}; for(var i=0;i<result.length;i++){ data[(""+result[i].name+"")]=eval("("+result[i].location+")"); } geoCoord:{'Islands':[113.95, 22.26]} geoCoord是一个obj,Islands类型也是obj,[113.95, 22.26]是数组,要将json种取出的数组转换

sqlserver中将行数据转为Xml文件格式

将sqlserver中的某张表中的行数据转为XML格式的文件的方法: 语法:select * from  表名   for xml path(xml文件中父节点的名称) 案例: //  在Movie数据库下创建一张用户基本信息表[UserInfoes]: USE [Movie]GOCREATE TABLE [dbo].[UserInfoes]( [userId] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY, [userName] [varchar](50)

Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,最后一位会被置为0

问题描述: Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,CSV文件该列会用科学计数法表示,即使选择该列,点击数据--.>分列,固定宽度,列数据格式选择文本,最后一位仍然会被置为0. 解决方法: Oracle通过PL/SQL Developer导出数据为CSV格式,新建一个Excel文件,点击数据-->自文本,选择之前导出的CSV文件,文件类型分隔符号,选择逗号,[选中所有列],然后

Echarts-地图扩展-标准geoJson格式扩展地图-例子

本人菜鸟一枚,最近搞echarts地图.看到官方给的"标准geoJson格式扩展地图-全国主要城市"的例子,瞬间就蒙逼了.不怪人官网的例子不好,实在是我看不懂它是怎么弄得.最后折腾了一晚上,最后终于弄出个想样子的例子来.(有同感的收藏下,高手勿喷!) 下面这个例子是我弄得汕尾市的,里面的链接是我项目的,我就不改了.这段代码其实是两个例子凑起来的,大家也可以再自己的项目里面试试.中间绿色部分是抄的官方的"标准geoJson格式扩展地图-全国主要城市"code.其他代码

Echarts 地图(map)插件之 鼠标HOVER和tooltip自定义数据

在项目开发中,有需要用到地图的地方,百度的echarts地图插件就是个不错的选择, 这里总结一下地图自定义鼠标HOVER时的事件和自定义tooltip数据: 一.鼠标HOVER时的事件: 参照官方文档解释, 可以看出这款插件有丰富的鼠标事件可供选择: 调用鼠标HOVER事件的方法很简单,只需把以下代码放到charts()调用的函数的最底部即可 1 var ecConfig = require('echarts/config'); 2 myChart.on(ecConfig.EVENT.HOVER

将CAD数据转为shp

最近在做一个有关地下管道的建模与分析的项目,将有关软件之间的的数据转换与后期处理说一下. 首先,因为地下管道是源数据是CAD图,这个在工程项目中很常见的,因为大多数情况下测量数据都是使用全站仪.GPS测得的,尤其是地下管道,在测量时还会用到管道探测仪.GPS的RTK技术,这些测量数据在内业展点.放样等处理后得到的一般是CAD数据.所以将.dwg转化为.shp显得尤为关键. 将CAD数据导入到ArcMap中,注意这里只导入你需要的数据,因为每个dwg文件中都包含若干个要素,如PolyLine.Po