簡體   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