如何向topojson文件添加属性?

如何向topojson文件添加属性?,json,topojson,Json,Topojson,给定data.tsv文件,例如: id code name 1 AL Alabama 2 AK Alaska 4 AZ Arizona 5 AR Arkansas 6 CA California ... ... ... topojson -o final.json -e data.tsv --id-property=code_2,code -p code_2,state=name -- topojson.json 给定一个topojson.json文件,

给定data.tsv文件,例如:

id  code    name
1   AL  Alabama
2   AK  Alaska
4   AZ  Arizona
5   AR  Arkansas
6   CA  California
... ... ...
topojson -o final.json -e data.tsv --id-property=code_2,code -p code_2,state=name -- topojson.json
给定一个topojson.json文件,例如:(结构正确,数字值是随机的)

如何使用公共字段(1)将其他字段(2)的值注入json文件?

1] :
data.txt#code
topojson.txt.objects.states.geometries.properties.code_2

2] :
data.txt#name

最终结果应包括:

            {"type":"Polygon","arcs":[[0]],"properties":{"code_2":"AL", "name":"Alabama" }},
            {"type":"Polygon","arcs":[[1]],"properties":{"code_2":"AK", "name":"Alaska" }},

编辑:接受答案:

id  code    name
1   AL  Alabama
2   AK  Alaska
4   AZ  Arizona
5   AR  Arkansas
6   CA  California
... ... ...
topojson -o final.json -e data.tsv --id-property=code_2,code -p code_2,state=name -- topojson.json
尝试使用以下方法:

topojson -o final.json -e data.tsv --id-property=code_2,code -p code_2,state=name -- topojson.json
应输出:

{
    "type": "Topology",
    "transform": {
        "scale": [
            0.000016880209206372492,
            0.000007005401010148724
        ],
        "translate": [
            -1.8418800213354616,
            51.15278777877789
        ]
    },
    "objects": {
        "states": {
            "type": "GeometryCollection",
            "geometries": [
                {
                    "type": "Polygon",
                    "arcs": [
                        [
                            0
                        ]
                    ],
                    "id": "AK",
                    "properties": {
                        "code_2": "AK",
                        "state": "Alaska"
                    }
                }
            ]
        }
    },
    "arcs": [
        [
            [
                0,
                588
            ],
            [
                92,
                -294
            ],
            [
                91,
                -294
            ],
            [
                -183,
                588
            ]
        ]
    ]
}
从:

--id属性要升级为几何体id的要素属性的名称

通过将
code_2
属性与此选项一起使用,可以将其升级为功能ID

在输入属性名称前面加上一个+,将其值强制为一个数字

加上:

如果--id property引用的属性为空或未定义, 它们从输出几何体对象中被忽略。因此,产生了 如果输入要素没有定义的ID,则对象可能没有定义的ID 具有指定名称的属性

因此,当您使用
+code
+code_2
时,它们可能是
未定义的
,因为您无法将
AK
字符串值转换为数字

这里,输入属性“FIPS”被强制为一个数字并用作 特征标识符;同样,名为“FIPS”的列用作 CSV文件中的标识符。(如果您的CSV文件使用不同的列 功能标识符的名称,可以指定多个id 属性,例如
--id属性=+FIPS,+id

这就是为什么必须将
code
添加到
--id属性=code_2,code
选项中。这就是映射的方式(topojson.json中的
code_2
和data.tsv中的
code
列)

然后,输出属性“失业”由 外部数据文件demission.tsv,用于定义输入属性 “利率”


在本例中,
-p code_2,state=name
指定保留
code_2
属性,并将
name
属性重命名为
state
。上述文档wiki中的属性外部属性部分提供了大量信息。

我轻轻编辑了topojson,因此两种形状都保持不变。如果可以,我会多次+1。这不再有效。我有一个topojson.json文件,-p没有添加新属性。它只保留geojson中已有的内容。也许我的文件是唯一的。我很想找到一个解决方案。您好,我查看了答案并生成了下面的命令,但现在topojson被重命名为geo2topo命令。geo2topo-o output.json-e data1.csv--id property=adm1\u code,code-p adm1\u code,statename=state--states\u topo.json。此命令不起作用。为了添加额外的属性,除了geo2topo之外还有其他命令名吗?如果没有节点,我们如何使用这个命令行解决方案?我只是在使用