GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法,那大家知道geojson怎么添加到地图?下面来我们就来给大家讲解一下geojson添加到地图的方法。
geojson数据的生成有很多种方式,在此介绍两种:通过gdal直接转换以及通过geoserver生成。
1、通过gdal
通过gdal生成可参考文章GDAL的java环境配置以及将shp转换为json。
2、通过geojson
在图层预览里面选择geojson即可。
展示实现:
实现代码如下:
<!DOCTYPE html > <head> <meta charset="utf-8"> <title>ECharts</title> <style> html,body,#main{ padding: 0px; margin: 0px; height: 100%; overflow: hidden; } </style> </head> < body > <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main"></div> < !--ECharts单文件引入-- > <script src="../../plugin/echart/build/dist/echarts.js"></script> < script src = "../../plugin/jquery/jquery-1.8.3.js" > </script> < script type = "text/javascript" > require.config( { paths: { echarts: '../../plugin/echart/build/dist' } }); require( [ 'echarts', 'echarts/chart/map' ] , function (ec) { // 基于准备好的dom,初始化echarts图表 var myChart = ec.init(document.getElementById('main')); var cityMap = { "中国": "province" , "省会": "capital" }; var mapType = []; var mapGeoData = require('echarts/util/mapData/params'); for (var city in cityMap) { mapType.push(city); // 自定义扩展图表类型 mapGeoData.params[city] = { getGeoJson: (function (c) { var geoJsonName = cityMap[c]; return function (callback) { $.getJSON('data/' + geoJsonName + '.geojson', callback); } })(city) } } var option = { series: [ { name: 'China Map' , type: 'map', //地图类型 mapType: '中国' , selectedMode: 'single', //选择类型, roam: true, //鼠标滚轮缩放 hoverable: false, //鼠标经过高亮 itemStyle: { normal: { borderWidth: 1 , borderColor: '#cccccc' , color: '#f3f3f3' , label: { show: false , textStyle: { color: '#ff0000' } } } , emphasis: { // 也是选中样式 borderWidth: 1 , borderColor: '#00ffff' , color: '#ffffff' , label: { show: true , textStyle: { color: '#ff0000' } } } } , data: [] } ] }; // 为echarts对象加载数据 myChart.setOption(option); } ); </script> < /body>
geojson对象怎么理解?
GeoJSON总是由一个单独的对象组成。这个对象(指的是下面的GeoJSON对象)表示几何、特征或者特征集合。
GeoJSON对象可能有任何数目成员(名/值对)。
GeoJSON对象必须由一个名字为"type"的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。
type成员的值必须是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"。这儿type成员值必须如这儿所示。
GeoJSON对象可能有一个可选的"crs"成员,它的值必须是一个坐标参考系统的对象。
GeoJSON对象可能有一个"bbox"成员,它的值必须是边界框数组。
GeoJSON对象可以表示几何、特征或者特征集合,GeoJSON能够支持好几种几何类型,比如点面线等,作为开发人员一定要熟练使用哦!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: