2013-08-18 3 views
5

米国のzipcode topojsonファイルを読み込んだ後、d3.jsでエラーが発生します。 groupdataは、この行に定義されていない:topojsonでUS Zipコードをマッピングする際のエラー

function bind(group, groupData) { 
    var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; 

のエラーで:

Uncaught TypeError: Cannot read property 'length' of undefined 

パスを呼び出して、作成された私のコードは次のとおりです。

d3.json("data/us-atlas/us-zipcodes.json", function(error, topology) { 
    svg.selectAll("path") 
     .data(topojson.feature(topology, topology.objects.zipcodes).features) 
     .enter() 
     .append("path") 
     .attr("d", path) 
    }); 

私はジップコードtopojsonファイルを生成しましたこのレポから:https://github.com/mbostock/us-atlas。ロード時にトポロジオブジェクトを検査すると、topology.objects.zipcodesの下に32893の円が表示されます。

私は、クロロプル例であるhttp://bl.ocks.org/mbostock/4060606で郡をうまく積み込み、それと同様のパターンを使っています。

私はd3.jsバージョン3.2.8とtopojson.jsバージョン1.2.3を使用しています。

アイデア?それは悪い郵便番号ファイルですか、それとも間違っていると思いますか?

+0

を使用すると、[要旨](https://gist.github.com/を持っている場合)私たちを助けるかもしれないあなたのコードを示す。 – Hugolpz

答えて

6

@Hugolpz - 申し訳ありませんが、私は反応しませんでした。私はあなたのコメントを通知されませんでした。

私はついにそれを理解しました。私はここにそれを記録しているので多分誰かを助けるでしょう。

私はもともと米国国勢調査のウェブサイトから私の郵便番号シェープファイルを取得しました(政府のシャットダウンのため現在ダウンしています)。これはtl_2012_us_zcta510.zipと呼ばれ、836MBでした。 http://bl.ocks.org/mbostock/4965422

変換に12時間かかって、shapefileをtopojsonファイルに変換するために6 GBのメモリが与えられました。これは、topojsonを使用して変換しました。 d3.jsではまだ動作しません(元の質問のエラーを参照)。また、jsonファイルの大部分をデバッグすることは、デバッグするのが困難でした。オリジナルのシェイプファイルもQGISでは表示されません。

私は結局、あきらめて別のデータセットを探しました。 Geocommonsには、郵便番号、州名、人口、面積:http://geocommons.com/overlays/54893などのプロパティを持つ5MBの郵便番号形状ファイルがあります。私はtopojsonにそれを手渡し、それは分の下でシェープファイルを変換:

topojson \ 
-p name=PO_NAME \ 
-p zip=ZIP \ 
-p state=STATE \ 
-o zips_us_topo.json \ 
zip_codes_for_the_usa.shp 

それを理解するためにJSONファイルを検査するために、私はこのコマンドでhttps://github.com/einars/js-beautifyを使用:

js-beautify zips_us_topo.json -o zips_us_topo_pretty.json 

私が使用しますそれは小さくなっているので、ブラウザでロードするための非特大版です。

マップするには、基本的に@ mbostockの郡のクロロプレスマップと同じコードを使用しました。あなたはそれまたはD3コードまたはクリーンアップtopojsonファイルが必要な場合は、ここでそれらを得ることができます。

https://gist.github.com/jefffriesen/6892860

http://bl.ocks.org/jefffriesen/6892860

+0

私は少し前にこれを見つけました。投稿していただきありがとうございます。 – kwcto

+0

これをお寄せいただきありがとうございます!私が同じ道を始めて、米国国勢調査から同じファイルをダウンロードしていたので、とても役に立ちました。 – brhlavinka

関連する問題