大数据可视化之矢量切片的生成及渲染
来源:互联网 发布:上海大学网络网址 编辑:程序博客网 时间:2024/05/18 03:30
最近研究了下矢量切片的实现思路,
首先,切图工具选择TileStache,网址:http://www.tilestache.org/
下载安装过程根据说明即可,安装的时候需要依赖mapnik(mapnik-win-v2.2.0),否则无法进行矢量切图
python setup.py install
配置信息可参考官网API:http://www.tilestache.org/doc/
切图工具的使用:打开根目录下的tilestache.cfg文件,里面有矢量切图的配置信息,修改后的配置信息如下:
{
"cache":
{
"name": "Disk",
"path": "/tmp/stache",
"umask": "0000",
"dirs": "portable",
"gzip": ["xml", "json"]
},
然后增加节点信息:
"beijing_pts":
{
"provider": {"name": "vector", "driver": "shapefile",
"parameters": {"file":"E:\\tmp\\gjzd.shp"},
"properties": { "adcode": "adcode"}
}
}
默认把切图存在了执行命令的根目录下的tmp文件夹里,shp的路径是绝对路径,否则报错,属性信息也要注意下,目前属性无法成功导出,以后有时间继续研究
执行切图的命令:
python ./scripts/tilestache-seed.py -c tilestache.cfg -l beijing_pts -b 39.79 114.25 42.83 118.25 -e geojson 11 13 14 15
大概是通过-c指定配置文件,-l指定图层名称 -b指定切图范围(最小纬度,最小经度,最大纬度,最大经度) -e 指定切图格式,最后的数字代表切图的zoom等级切图结果如下:(找了一个切其他图层的截图凑合)
存在的问题:
1.单个图层的切图?
2.属性怎么导出?
下面介绍LeafLet进行矢量切片的加载
利用Leaflet的插件
Hoverboard,进行了一点扩展:
//扩展了一下,可以支持GeoJSON格式的tile服务
module.exports.geojsonTile = module.exports.extend({
fetch: function(url, callback){
var xhr = d3.xhr(url)
.responseType('json')
.get(function(err, xhrResponse){
//if( typeof xhrResponse != 'undefined'){
callback(err, ( typeof xhrResponse == 'undefined')?null:(xhrResponse.response || xhrResponse));
//}
});
return xhr.abort.bind(xhr);
},
parse: function(data){
//var tile = new VectorTile( new pbf( new Uint8Array(data) ) );
return {geojson: data};
}
});
然后进行调用:
(new Hoverboard.geojsonTile('http://localhost:8090/chinasite/stache/beijing_pts/{z}/{x}/{y}.geojson',{hidpiPolyfill: true}))
.render('geojson')
.fill(colors.water)
.stroke(0.5, 'rgba(0,0,0,0.0)')
.addTo(map);
出来的效果如下:
事件暂时还未研究,上图是1.8w的点数据,出来的效果,比较流畅,底层是通过canvas绘制的每个瓦片的内容
- 大数据可视化之矢量切片的生成及渲染
- 使用Tippecanoe工具处理大数据量的矢量数据切片
- GPU可编程渲染的矢量点要素符号三维可视化
- 大数据的可视化
- 大数据可视化的方法、挑战及进展
- 矢量切片
- Mapbox系列之矢量切片工具Tippecanoe
- 大数据可视化的最新动态
- 大数据可视化的最新动态
- 大数据可视化的途径
- 20大数据可视化工具及资料
- Leaflet调用geoserver发布的矢量切片
- 矢量切片技术的应用-大量点数据显示性能问题
- 基于矢量切片的电子地图配图(二)示例数据来源
- 大数据技术可视化之Hue
- 大数据可视化之Nginx服务器日志分析及可视化展示(Nginx+flume+HDFS+Spark+Highcharts)
- 遇见大数据可视化 : 那些 WOW 的数据可视化案例
- 遇见大数据可视化 : 那些 WOW 的数据可视化案例
- spring mvc 实现网站登录与非登录的控制
- Fragment双层嵌套时,
- WIFI一键连接 iOS端 Configuration Profile 方式
- 欢迎使用CSDN-markdown编辑器
- setObject:ForKey:与setValue:ForKey:存值区别与联系
- 大数据可视化之矢量切片的生成及渲染
- 《Drools6.4 中文文档》第18章18.2 Quick Start(快速开始)
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- 【java】多线程的两种实现
- 深入理解Java的接口和抽象类
- JavaWeb项目中加入memcached缓存
- Java基础.J.1
- 序列化和反序列化
- 51Nod-1449-砝码称重