2016-06-01 11 views
2

Ich weiß, dass es ein paar Beispiele dafür gibt, aber ich hatte kein Glück, die Eigenschaften tatsächlich zu arbeiten, also denke ich würde ich in diesem speziellen Beispiel fragen. Ich möchte die Eigenschaften von meinem csv nehmen und es an die json Akte durch die allgemeine Identifikation anschließen.Verschmelzung von JSON und CSV mit Topojson

entlang der Linien von

topojson -o final.json -e waste.csv -p population=population -p waste=waste, -p country=country -- world.json 

meine world.json Datei ist wie folgt (Von Mike Bostock)

{"type":"Topology", 
"objects":{"countries": 
     {"type":"GeometryCollection","bbox":[-179.99999999999997,-90.00000000000003,180.00000000000014,83.64513000000001], 
     "geometries":[{"type":"Polygon","id":4,"arcs":[[0,1,2,3,4,5]]}, 
         {"type":"MultiPolygon","id":24,"arcs":[[[6,7,8,9]],[[10,11,12]]]}, 
         {"type":"Polygon","id":8,"arcs":[[13,14,15,16,17]]},{"type":"Polygon","id":784,"arcs":[[18,19,20,21,22]]} 

Und die folgende ist mein waste.csv:

id,country,income,region,population,wpc,waste,future_pop,future_urban_pop,future_wpc,future_waste,organic,paper,plastic,glass,metal,other 
8,Albania,LMI,ECA,"1,418,524",0.77,"1,088","3,488,000","2,006,000",1.2,"2,407",38,10,8,5,5,34 
12,Algeria,LMI,MENA,"19,225,335",1.21,"23,288","42,882,000","31,778,000",1.45,"46,078",70,10,5,1,2,12 

Antwort

0

Soweit ich weiß, sollte -id-Eigenschaft, die Sie angeben, eine Eigenschaft

sein

--id-Eigenschaftsname der Feature-Eigenschaft, die auf die Geometrie-ID hochgestuft wird. Standardmäßig behält topojson das ID-Attribut der Eingabe-Features bei. Wenn Sie eine Eigenschaft für die Feature-ID als Teil der Konvertierung in TopoJSON heraufstufen möchten, verwenden Sie das Argument --id-property.

{"type":"Topology", 
    "objects":{"countries": 
    {"type":"GeometryCollection","bbox":[-179.99999999999997,-90.00000000000003,180.00000000000014,83.64513000000001], 
    "geometries":[{"type":"Polygon",properties:{"id":4},"arcs":[[0,1,2,3,4,5]]}, 
        {"type":"MultiPolygon",properties:{"id":24},"arcs":[[[6,7,8,9]],[[10,11,12]]]}, 
        {"type":"Polygon",properties:{"id":8},"arcs":[[13,14,15,16,17]]},{"type":"Polygon","id":784,"arcs":[[18,19,20,21,22]]} 

topojson -o final.json -e waste.csv --id-Eigenschaft = + id, + id -p Bevölkerung = Bevölkerung -p Abfall = Abfall, -p country = Land - Welt .json

+0

Also, was Sie sagen, ich sollte etwas tun mehr in Richtung Topojson -o final.json -e Waste.csv -p Bevölkerung = Bevölkerung, Verschwendung = Verschwendung - world.json? – fritzicus

+0

Was ich sage, ist ID muss eine Eigenschaft sein. Ich aktualisierte die Antwort. Überprüfen Sie dies – user3696882