2016-09-07 8 views
-1

米国の郡の地図全体から単一の州を表示することはできますか?完全な米国郡の地図の郡がある単一州のみを表示

私は各州の形状ファイルと郡を取得し、topojsonを作成することができますが、可能であれば、1つのファイルで作業したいと思います。

たとえば、Mike Bostockの米国郡の完全地図をご覧ください。 US Counties Map ニューヨークからこれを表示することは可能でしょうか?

このタイプの機能を示す例はありません。

d3.json(filename, function(error, data){ var single=data.filter(function(d){ return d.state==='Ohio';} }

そして、新しい単一の変数を使用する:あなたはd3.jsonラッパーを確立したら、あなたのデータはa'state」フィールドを持っているので、もし

+1

その状態にない残りのマップを除外するためにマスクを作成する必要があります。それぞれの州の形状ファイルなしでどうすればいいですか? – Claies

+0

ええ、そうです。とにかくそれらのファイルが必要です。ありがとう – gregdevs

+0

あなたがNYだけを表示したい場合は、他の郡のシェイプファイルは必要ありません。逆にNYを含むシェイプファイルが必要です。または、郡名を含むtopojsonを取得できる場合は、名前に基づいて選択項目をフィルタリングできます。 –

答えて

3

、あなたは、JavaScriptのフィルタ方式を使用することができますd3のデータ

+0

ありがとうございます。私はいくつかの例に基づいて同様のことをやった。 idを返してクリップパスを設定します。ありがとう。 https://bl.ocks.org/gregdevs/a73f8a16f129757c037e72ecdebdd8f2 – gregdevs

0

私は、これは非常に遅く答えを知っています。しかし、将来的には他の人々に役立つかもしれません。

これは、USAマップファイルから一つの状態を抽出する方法の例です:

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

path { 
     fill: lightgray; 
     stroke: #000000; 
     stroke-width: 1.5; 
     } 


path:hover { 
     fill:orange; 
     cursor:pointer; 
     } 

#state-borders { 
    fill: white; 
    stroke: #000000; 
    stroke-width: 10.5px; 
    stroke-linejoin: round; 
    stroke-linecap: round; 
    pointer-events: none; 
} 


</style> 
<body> 
    <script src="http://d3js.org/d3.v4.min.js" charset="utf-8"></script> 
    <script src="https://d3js.org/topojson.v1.min.js"></script> 
<script> 

var width = 960, 
    height = 500, 
    centered; 

var projection = d3.geoAlbersUsa() 
    .scale(1370) 
    .translate([width/2, height/2]); 

var path = d3.geoPath() 
    .projection(projection); 

var svg = d3.select("body").append("svg") 
    .attr("width", width) 
    .attr("height", height); 


d3.json("us-counties-github.json",function(json){ 
    console.log(json); 


    svg.selectAll("path") 
     .attr("id", "state_fips") 
     .data(topojson.feature(json, json.objects.collection).features.filter(function(d) { return d.properties.state_fips == 36; })) 
     .enter() 
     .append("path") 
     .attr("d", path) 
     .attr("stroke","white") 
     .attr("fill", "gray"); 



    }); 
</script> 

私はhttps://raw.githubusercontent.com/deldersveld/topojson/master/countries/united-states/us-albers-counties.jsonからデータセットをダウンロードした*「郡は、このファイルに含まれています」。

+0

別の状態をしたい場合は、state_fips番号を必要なものに変更するだけです。 – user2080489

関連する問題