Ich habe sehr wenig d3 Dokumentation über die Arbeit mit einer JSON-Datei für die Zuordnung und Beitritt einer CSV-Datei von Metriken mit einem gemeinsamen Schlüssel gefunden.Join einer CSV und eines TopoJSON zusammen mit d3.queue()
Ich würde gerne d3.queue()
verwenden, wenn möglich. Bis zu diesem Punkt habe ich d3.map().set
verwendet, aber ich finde, dass für Single-Key, Wert-Paare verwendet wird, und scheint nicht für> 1 Werte verwendbar. Wenn ich hier bin, korrigiere mich bitte.
Ich versuchte, eine doppelte for
Schleife zu verwenden, die in this bl.ock gefunden wurde. Der Schöpfer hier verwendet zwei JSON-Dateien und ich hatte wenig Glück, es an meine Bedürfnisse anzupassen. Link zu seinen zwei JSON-Dateien sind unten, für was es wert ist.
Der Join-Schlüssel (ich spreche SQL viel besser als JS) verwendet werden soll counties.id
aus dem JSON und den county_fips
Wert in der CSV.
Ist es problematisch, dass die county_fips
in der CSV mit den damit verbundenen Metriken abgeflacht ist? Die doppelte Schleife for
in dem oben verlinkten Beispiel verwendet die Hierarchie eines JSON.
d3.queue()
.defer(d3.json, "https://d3js.org/us-10m.v1.json")
//.defer(d3.csv, "countymetrics_json.csv" , function(d) {metrics.set(d.county_fips, +d.actual_margin);})
.defer(d3.csv, "https://raw.githubusercontent.com/MatthewSnellOKC/mapping/master/merge/countymetrics_json.csv", function(d) {metrics.set(d.county_fips, +d.actual_margin);})
.await(ready);
function ready (error, us) {
if (error) throw error;
var counties = us.objects.counties.geometries;
}