2017-02-23 7 views
3

d3.jsでニューヨークの近隣マップを作成しようとしています。d3.jsでニューヨーク周辺をプロット

私はその後、私はhttp://mapshaper.org/にシェープファイルをドロップすると、1%にそれを簡素化し、ここで https://www1.nyc.gov/site/planning/data-maps/open-data/dwn-nynta.page

からファイルをダウンロードしました。最後にトポイソンとしてエクスポートします。

ここでは、次のd3.jsコードを使用しています。ランダムな行があります。

enter image description here

<!DOCTYPE html> 
<meta charset="utf-8"> 

<style type="text/css"> 
    body { 
    font-family: arial, sans; 
    font-size: 14px; 
    width: 960px; 
    margin: 40px auto; 
    } 
    .ny-neighborhoods { 
    stroke: #000; 
    stroke-width: .50; 
    fill: none; 
    } 
</style> 

<body> 
<div id="chart-container"></div> 
</body> 

<script src="https://d3js.org/d3.v4.min.js"></script> 
<script src="https://d3js.org/topojson.v1.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/queue-async/1.0.7/queue.min.js"></script> 

<script type="text/javascript"> 

var margin = {top: 5, right: 5, bottom: 5, left: 5}; 
var width = 900 - margin.left - margin.right, 
    height = 500 - margin.top - margin.bottom; 

queue() 
    //.defer(d3.csv, "sales.csv") 
    .defer(d3.json, "nynta.json") 
    .await(ready); 

function ready(error, data, ny) { 
    if (error) return console.warn(error); 
    console.log(ny) 
    //data.forEach(function(d) { 
     //d.val = +d.val; 
     //}); 
    var nyfeatures = topojson.feature(ny,ny.objects.nynta) 
    console.log(nyfeatures) 
    var svg = d3.select("#chart-container") 
    .append("svg") 
     .attr("class", "map") 
     .attr("width", width + margin.left + margin.right) 
     .attr("height", height + margin.top + margin.bottom) 
    .append("g") 
     .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); 
    var path = d3.geoPath() 
     .projection(d3.geoAlbersUsa() 
     .fitSize([width, height], nyfeatures)); 
    var nyPaths = svg.selectAll(".ny-neighborhoods") 
     .data(nyfeatures.features) 
    .enter().append("path") 
     .attr("class", "ny-neighborhoods") 
     .attr("d", function(d) { return path(d); }) 
} 
</script> 
+0

あなたがで作業sales.csvとnynta.jsonファイルを共有することができますか? – elias

+0

私はあなたが記述したのと非常に同じ手順を踏んで、それは私のために円滑に働きます。最終結果は、あなたが挿入した画像のようにではありません。あなたがしたステップをダブルチェックできますか? – elias

+0

本当ですか?驚くべきことに - もう一度やり直してみましょう – jeangelj

答えて

2

@eliasの素晴らしい努力と時間の投資のおかげで、私たちは、シェープファイルが機能しなかったことを考え出しました。代わりにgeojsonを使ってmapshaper.orgでtopojsonとしてエクスポートしました。将来の使用のための

1つのヒント - あなたがそれを行うとき、それはあなたの機能階層

var nyfeatures = topojson.feature(ny,ny.objects.newyork) 

を変更しますので、あなたはおそらく、新しいファイル名で保存しますありがとうございました、それはこのようになりましたになります。

enter image description here

関連する問題