繁体   English   中英

当我使用带有Albers USA投影的长/纬线绘制它们时,为什么这9个美国城市与D3地图上的实际位置不对应?

[英]Why do these 9 U.S. cities not correspond to their actual locations on a D3 map when I plot them using long/lat with an Albers USA projection?

我正在尝试建立似乎是美国基本D3地图的地图,其中有9个人口最多的城市被圈了出来,但是遇到了一个非常明显但令人困惑的问题。

我正在使用Albers USA投影美国各州的GeoJSON文件和一个包含以下内容的.csv

  1. 城市名
  2. 2014年估计人口
  3. 纬度
  4. 经度

我已经使用Google Fusion Tables的地理编码功能计算了long / lat值,这些值与Scott Murray的D3图书github页面上可用的值匹配。

当我尝试绘制每个城市应该位于的圆圈时,几乎每个城市都错位了。 在我要绘制的9个城市中,纽约,费城,芝加哥,休斯敦,达拉斯,圣安东尼奥,菲尼克斯,圣地亚哥,洛杉矶—只有纽约和费城相对完整。 芝加哥转移到明尼阿波利斯。 圣地亚哥和洛杉矶一团糟。 得克萨斯州和亚利桑那州的城市已经从他们的州完全消失了。

这是d3.csv代码:

        d3.csv("city_pop.csv", function(data){
                console.log(data);
            var rScale = d3.scale.linear()
                            .domain([0, d3.max(data, function(d){
                                return parseFloat(d.estimate_2014);
                            })])
                            .range([1,15]);

            dataset = data;

            svg.selectAll("circle")
            .data(dataset)
            .enter()
            .append("circle")
            .attr({
                "cx": function(d) { return projection([d.lon, d.lat])[0];},
                "cy": function(d) { return projection([d.lon, d.lat])[1];},
                "r": function (d) { return rScale(parseFloat(d.estimate_2014));}
            })
            .style({
                "fill": "red",
                "opacity": 0.8
            });
        }); 

要点如下: http : //bl.ocks.org/iblind/2e90a6f516fee793380e

我整天都在玩。 有人有什么想法吗? 我一直把头撞在墙上,直到永远的感觉,然后完全迷失了。

tl; dr:为什么此D3地图http://bl.ocks.org/iblind/2e90a6f516fee793380e中的城市没有显示在应显示的位置?

基本数据错误(city_pop.csv)。 通过Google Map运行纬度和经度,您将看到相同的图案形式。 例如,宾夕法尼亚(37.15477,-94.486114)是不是哪里宾夕法尼亚- https://goo.gl/maps/1G754

暂无
暂无

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

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