2015-09-03 20 views
1

我試圖建立一個似乎是美國基本的D3地圖,其中有9個人口圈最多的城市,但是已經提出了一個非常明顯而又混亂的問題。爲什麼這些9個美國城市在D3地圖上與他們的實際位置不一致時,我使用Albers USA投影的long/lat來繪製它們?

我使用的是阿爾伯斯美國投影,一個美國各州GeoJSON的文件的.csv,包括:

  1. 城市名稱
  2. 2014年人口估計
  3. 緯度
  4. 經度

我已經使用Google Fusion表格的地理編碼功能計算了長/緯度值,並且它們與Scott Murray's D3 book github page上的值相匹配。

當我試圖在每個城市應該繪製一個圓圈時,幾乎每一個圓圈都是不合適的。在我試圖策劃的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;博士:爲什麼在這個D3地圖城市 http://bl.ocks.org/iblind/2e90a6f516fee793380e沒有露面,他們 應該顯示出來?

+0

請將您的代碼_添加到問題_,而不是鏈接到外部網站。 – xxbbcc

+0

@xxbbcc謝謝,我添加了d3.csv()代碼。 – scrollex

回答

2

基準數據錯誤(city_pop.csv)。通過Google Map運行你的緯度和經度,你會看到相同的模式表單。 例如費城,賓夕法尼亞州(37.15477,-94.486114)不是賓夕法尼亞州的地方 - https://goo.gl/maps/1G754

+0

賓果。謝謝。如果這不是檢查數據集完整性的教訓,我不知道是什麼。 – scrollex

+1

NP,發生在我們所有人身上。還創建了包含所有座標的地圖 - https://www.google.com/maps/d/edit?mid=z59ZGT1mTGlY.kZkDYL7NrKGw&usp=sharing – tiblu

相關問題