如何更改世界地图json文件的中心子午线
How to change central meridian of world map json file?
我已经加载了一个世界地图的json文件,并且正在使用d3。然而,俄罗斯的一部分在地图的另一边,紧挨着阿拉斯加。
json文件是从我导出为未投影(WGS84)的shapefile创建的
有没有办法改变中央子午线,这样俄罗斯就不会分裂?我试过在d3中改变中心,但没有成功。
参考代码:
d3.json("data/world.json", function (error, myMap) {
if (error) return console.error(errorMap);
var myMapFeatures = topojson.feature(myMap, myMap.objects.world);
var projection = d3.geo.mercator()
.center([30,39])
.scale(width*.10)
.translate([width/2, height/2]);
var geoProjectionPath = d3.geo.path()
.projection(projection);
svg.selectAll("path")
.data(myMapFeatures.features)
.enter()
.append("path")
.attr("class", function(d) {
return "country " + d.properties.Terr_Name;
})
.attr("d", geoProjectionPath);
})
您可以借助投影上的rotate
来处理此问题
var projection = d3.geo.equirectangular()
.center([30,39])
.scale(100)
.rotate([-90,0]);//this will make Russia unsplit
此处的工作代码
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Javascript运行php文件,然后下载文件
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 我应该如何从xml文件构建一个javascript页面
- 如何更改世界地图json文件的中心子午线