Javascript GeoAlbersua投影未按预期绘制

Javascript GeoAlbersua投影未按预期绘制,javascript,d3.js,data-science,Javascript,D3.js,Data Science,我在使用d3.geoAlbersUsa投影时遇到了一些问题,该投影用于给定的一组纬度和经度 我基本上在下面有我的全部代码,我感觉好像在lat的具体投影上有问题,长到右边的投影。这很奇怪,因为我遵循了美国阿特拉斯的指示 以下是来自美国atlas软件包的文档快照 这就是它现在的样子: 这是我的密码: Geoabersusa国家公园项目 身体{ 字体系列:Arial、Helvetica、无衬线字体; } 国家公园世界地图可视化 var svg=d3.selectsvg; var path=d3.g

我在使用d3.geoAlbersUsa投影时遇到了一些问题,该投影用于给定的一组纬度和经度

我基本上在下面有我的全部代码,我感觉好像在lat的具体投影上有问题,长到右边的投影。这很奇怪,因为我遵循了美国阿特拉斯的指示

以下是来自美国atlas软件包的文档快照

这就是它现在的样子:

这是我的密码:

Geoabersusa国家公园项目 身体{ 字体系列:Arial、Helvetica、无衬线字体; } 国家公园世界地图可视化 var svg=d3.selectsvg; var path=d3.geoPath; d3。jsonhttps://unpkg.com/us-atlas@1/us/10m.json,functionerror,美国{ 如果错误抛出错误; svg.appendpath .中风,aaa .笔划宽度,0.5 .attrd,pathtoposon.meshus,us.objects.countries,function,b{return a!==b&&a.id/1000 | 0==b.id/1000 | 0;}; svg.appendpath .笔划宽度,0.5 .attrd,pathtoposon.meshus,us.objects.states,function,b{返回a!==b;}; svg.appendpath .attrd,pathtoposon.featureus,us.objects.nation; }; d3.csv'https://raw.githubusercontent.com/codebrotherone/2days/master/data/locations.csv,起作用{ var投影=d3.GeoAlbersua; var circles=svg.selectAllcircle .数据 进来 A.附加圆 .attrcx,函数{返回投影[d.经度,d.纬度]; } .attracy,函数d{返回投影[d.经度,d.纬度][1]; } .attrr,1 .填写“红色” };
美国的topojson轮廓投影不是默认的d3.geoAlbersUsa-topojson投影到一个960x600的框中,而默认的d3.geoAlbersUsa设置将美国投影到一个960 x 500的框中-投影点时需要修改平移和缩放因子:首先。非常感谢。你回答这些问题真是个怪兽;我完全理解比例部分。你为什么要翻译?不知道480和300是从哪里来的。d3地图投影的平移通常是:[宽度/2,高度/2]主要的例外是缩放/平移时-这是Mike将topojson投影到960x600像素空间时使用的值。因此,我们必须修改Albers投影,以便将Mike使用的投影与[960/2600/2]的翻译匹配。完美的解释。如果我能投1票以上,我会的。谢谢