繁体   English   中英

D3 +带Albers USA投影的传单

[英]D3 + Leaflet with Albers USA Projection

我想将D3 + Leaflet与Albers USA投影配合使用。

我以Mike Bostock的D3 + Leaflet演示作为起点(在此处找到: http : //bost.ocks.org/mike/leaflet/ )。 我不确定如何正确使用Albers USA投影。 我在尝试弄清楚该怎么做时遇到了几个问题:

  1. 我不确定如何使Leaflet使用Albers USA投影。 我想我可以使用Proj4Leaflet插件来做到这一点,但是当创建指定Albers USA的CRS时,我一直找不到要传递给它的参数。 我在spatialreference.org上找到了一些潜在的配置字符串,但是我不知道要为原点或分辨率指定什么,也没有找到任何能解释它的内容。
  2. 对于集合中的某些点和边界,D3的Albers USA投影返回null。 我正在使用Mike Bostock使用的us-states.json文件。 我在这里找到了对此的解释: https : //github.com/mbostock/d3/issues/1287 “现在,它将为合成投影的裁剪范围之外的点返回null,因为在使用投影流时不会显示这些点”。 我不确定如何从这里继续。 我应该使用其他数据集吗?

如果有人对如何进行操作有任何建议,我将不胜感激!

您可能有两个独立的问题,因此以下是这两个问题的简要答案-

1.)您的源数据不需要进入Albers-US(严格来说,这并不是严格意义上的预测-AK和HI不在墨西哥)就可以将其带入Leaflet。 这是在地理坐标中作为GeoJSON的美国州数据集: https : //gist.github.com/wboykinm/6979292

2.)无论源数据的投影是什么,Leaflet都只会在Google Mercator投影(您在示例中看到的投影)中呈现。 如果您绝对必须拥有Albers US,那么由于上下文失真的原因,它实际上不应是可缩放/可缩放的地图。 只需将Mike的D3示例用于静态地图即可: http : //bl.ocks.org/mbostock/6320825

如果您确定要使用Albers US制作Leaflet的草绘地图,我该阻止谁? 但是该过程将需要a。)在GIS程序中移动要素几何,以及b。)欺骗Tilemill使用错误的投影,因为它会创建供您在Leaflet中使用的图块。 不建议采取任何行动。

如果我不提及您始终可以使用d3.behavior.zoom()缩放D3图形,那我也将d3.behavior.zoom()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM