我正在使用d3中的标准AlbersUSA投影。
但我遇到的一个问题是,由于阿拉斯加和波多黎各位于连续州所画矩形之外,因此我不能最大化我的缩放因子以适应较小的视口。
理想情况下,我想将波多黎各移至路易斯安那州下方,并有可能与夏威夷和阿拉斯加交换位置,这样可以给我更好的工作范围。
查看文档后,我发现AlbersUSA组合是使用以下函数创建的:
我该如何修改这个函数(或者有效地创建自己的函数),以便我可以移动各州而不必担心扩充GeoJSON数据本身?
但我遇到的一个问题是,由于阿拉斯加和波多黎各位于连续州所画矩形之外,因此我不能最大化我的缩放因子以适应较小的视口。
理想情况下,我想将波多黎各移至路易斯安那州下方,并有可能与夏威夷和阿拉斯加交换位置,这样可以给我更好的工作范围。
查看文档后,我发现AlbersUSA组合是使用以下函数创建的:
function albersUsa(coordinates) {
var lon = coordinates[0],
lat = coordinates[1];
return (lat > 50 ? alaska
: lon < -140 ? hawaii
: lat < 21 ? puertoRico
: lower48)(coordinates);
}
我该如何修改这个函数(或者有效地创建自己的函数),以便我可以移动各州而不必担心扩充GeoJSON数据本身?