D3.js在svg地图上标点
来源:互联网 发布:js向object中添加元素 编辑:程序博客网 时间:2024/05/14 15:46
需要实现的需求就是在一张世界地图上将给定的经纬度坐标点绘制出来。
地图如下:
地图使用的是svg格式,而不是d3推荐的GeoJSON格式或TopoJSON格式的地图数据。地图是使用svg格式使用path路径绘制而成。
在地图上会点,首先设置墨卡托投影:
//translate设置投影转换的偏移值d3.geo.graticule()获取经纬网var projection = d3.geo.mercator().translate([480, 490]).rotate([x_rotate,0,0]), graticule = d3.geo.graticule();
然后获取该投影下的路径
var path = d3.geo.path().projection(projection);
然后将结果数据绘制到svg图上:
var paths = map_results.data(results) .enter() .append("path") .attr("d", function(d){return path(d.track)}) .attr("id", function(d){return "map_" + d.id}) .attr("class", "svg_trackline") .attr("fill", "#f00") .attr("stroke", "#f00") .attr("stroke-opacity", 1) .attr("stroke-width", 4);
其中results的数据格式为:
[{"id":"1001","FileName":"文件1","voyage":"航次1","station":"站位1","track": {"type": "Point", "coordinates": [-74.1682, -37.998]},"observation":"观测方式1","size":"文件大小1","downloads":"1"}, {"id":"1002","FileName":"文件2","voyage":"航次2","station":"站位2","track": {"type": "Point", "coordinates": [-56.8855, -38.1172]},"observation":"观测方式2","size":"文件大小2","downloads":"2"}, {"id":"1003","FileName":"文件3","voyage":"航次3","station":"站位3","track": {"type": "Point", "coordinates": [143.0042, -65]},"observation":"观测方式3","size":"文件大小3","downloads":"3"}]
0 0
- D3.js在svg地图上标点
- D3.JS: 在SVG中使用d3创建HTML标签
- d3.js-svg图形基础
- python basemap 在地图标点
- 制作地图d3.js
- [D3.js] SVG-Axes(坐标轴)
- D3.js SVG绘图实践:趋势缩略图
- D3.js SVG绘图实践:波浪动画
- D3.js 中实现svg 保存 png
- d3.js使用svg制作图标
- d3.js 实现svg 缩放 平移 旋转
- d3.js-svg的效果及样式
- 【d3.js教程12】地图
- D3地图上如何标注坐标点
- 如何使用 D3 在地图上实现实时画圈的效果
- d3.js学习9----地图的制作
- 【D3.js数据可视化系列教程】--(七)SVG初探
- 用d3.js实现基于SVG的线形图
- WebServices之CXF介绍
- 30分钟--Spark快速入门指南
- 【bzoj1468】Tree
- Android Service 非绑定Service的生命周期
- 修改 Win7 MTU 值
- D3.js在svg地图上标点
- 一只鸭子的故事 --策略模式
- 微信开发怎么控制手机返回键问题
- cvCreateStructuringElementEx 理解
- zabbix 监控jmx 需要--enable-java
- 利用数据挖掘工具weka进行管理规则挖掘
- js格式化日期格式
- 三种Android适配器
- 读书笔记(Verilog HDL那些事儿_建模篇1)