2016-07-19 5 views
1

Я использую D3 для визуализации данных, привязанных к картам, и я не знаю, как обрабатывать большие списки.Связывание больших массивов в D3

Если я использую данные для отраслей промышленности, около 20 или около того NAICS это легко.

В качестве примера, я связать данные из GeoJSON, используя этот код:

var values = feature.properties;    
var data = [ 
    {key: "Agric.,forestry., fishing.,hunting.", name:"N11",value:values["N11"]}, 
    {key: "Mining.,quar., oil,gas", name:"N21",value:values["N21"]}, 
    {key: "Utilities", name:"N22",value:values["N22"]}, 
    {key: "Constr.", name:"N23OL",value:values["N23"]}, 
    {key: "Manuf.", name:"N31_33OL",value:values["N31-33"]}, 
    {key: "Wholesale trade", name:"N41OL",value:values["N41"]}, 
    {key: "Retail trade", name:"N44-45",value:values["N44-45"]}, 
    {key: "Transportation, warehousing", name:"N48-49",value:values["N48-49"]}, 
    {key: "Information, cultur.industries", name:"N51",value:values["N51"]}, 
    {key: "Finance, insurance", name:"N52",value:values["N52"]}, 
    {key: "Real estate, rental,leasing", name:"N53",value:values["N53"]}, 
    {key: "Prof.scientific, techn.services", name:"N54",value:values["N54"]}, 
    {key: "Management companies,enterprises", name:"N55",value:values["N55"]}, 
    {key: "Admin.support, waste.manag., remed.services", name:"N56",value:values["N56"]}, 
    {key: "Educational services", name:"N61",value:values["N61"]}, 
    {key: "Health.care, social.assistance", name:"N62",value:values["N62"]}, 
    {key: "Arts,entertainment, recreation", name:"N71",value:values["N71"]}, 
    {key: "Accommodation, food.services", name:"N72",value:values["N72"]}, 
    {key: "Other.services (except.pub. admin.)", name:"N81",value:values["N81"]}, 
    {key: "Public administration", name:"N91",value:values["N91"]} 
]; 

Теперь, если я хочу использовать данные профессии, она становится сложнее, потому что около 800 из них. Ясно, что набирать их вручную, как это, нецелесообразно. Как это будет обрабатываться? Импортировать CSV с d3.csv и присоединиться к объекту данных geojson? Я не знаю, с чего начать.

Вот пример того, что я делаю с меньшими наборами: https://jsfiddle.net/Monduiz/tr5pxv1s/

ответ

2

Это звучит, как вы точно знаете, что вы делаете, вы просто пропустили лучшие примеры, чтобы узнать от:

Example visualisation mapping reasonably large data-set loaded from tab-separated-values.

В этом примере легко заметить, что он использует d3.queue(), defer() и await() для обеспечения загрузки и обработки данных в правильном порядке.

См. Также documentation for other CSV-related functions.

Смежные вопросы