如何向 topojson 文件添加属性?

2023-12-24

给定一个 data.tsv 文件,例如:

id  code    name
1   AL  Alabama
2   AK  Alaska
4   AZ  Arizona
5   AR  Arkansas
6   CA  California
... ... ...

给定一个 topojson.json 文件,例如:(结构正确,数值随机)

{ 
"type":"Topology",
"transform": 
    {
    "scale": [0.0015484881821515486,0.0010301030103010299],
    "translate":[-5.491666666666662,41.008333333333354]
    },
"objects": 
    {
    "states":
        {
        "type":"GeometryCollection",
        "geometries": 
            [
            {"type":"Polygon","arcs":[[0]],"properties":{"code_2":"AL"}},
            {"type":"Polygon","arcs":[[1]],"properties":{"code_2":"AK"}}
            ]
        }
    },
"arcs":
    [
        [[2466,9916],[-25,-5],[3,-13]],
        [[2357,9852],[1,-2],[1,-2]]
    ]
}

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

1]: data.txt#code and 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" }},

编辑:接受的答案:

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": [
            [[2466,9916],[-25,-5],[3,-13]],
            [[2357,9852],[1,-2],[1,-2]]
        ]
    }

来自命令行参考维基 https://github.com/mbostock/topojson/wiki/Command-Line-Reference:

--id-属性要提升为几何 ID 的要素属性名称

通过使用code_2使用此选项的属性,您可以将其提升为功能 ID。

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

Plus:

如果引用的属性--id-属性为空或未定义, 他们是omitted来自输出几何对象。因此,生成的 如果输入要素没有定义的 ID,则对象可能没有定义的 ID 具有指定名称的属性。

所以,当你使用+code and +code_2,他们可能是undefined,因为你无法转换AK字符串值转换为数字。

此处,输入属性“FIPS”被强制转换为数字并用作 特征标识符;同样,名为“FIPS”的列用作 CSV 文件中的标识符。 (如果您的 CSV 文件使用不同的列 name为特征标识符,可以指定多个id 属性,例如--id-property=+FIPS,+id.)

这就是为什么你必须添加code to the --id-property=code_2,code选项。这就是映射的制作方式(code_2 from 拓扑json.jsoncode专栏来自data.tsv).

然后,根据以下内容生成输出属性“失业” 外部数据文件,union.tsv,定义输入属性 “速度”

在我们的例子中,-p code_2,state=name指定我们将保留code_2属性,我们将重命名name财产给state. The 特性 and 外部属性上述文档 wiki 中的部分对此事提供了非常丰富的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 topojson 文件添加属性? 的相关文章

  • 从 Google Places API 获取 JSON 文件

    我正在尝试使用 Places API 最初尝试使用 jQuery 中的 ajax 但我一直在文件的第一个元素上收到意外的标记错误 但我后来意识到你无法从 Places API 获取 JSONP 所以下面是它返回的示例 我一生都无法让它将 i
  • 如何在使用 Json4s 序列化期间重命名字段?

    如何轻松重命名 json4s 中的字段名称 从他们的文档中 我尝试了以下代码片段 但它似乎没有重命名serial字段到id case class Person serial Int firstName String val rename F
  • org.json.JSONArray 类型的值无法转换为 JSONObject

    陷入了这个错误 3169 3190 com meisolsson app E JSON 解析器 解析数据时出错 org json JSONException Value type 0 can see custom stories true
  • 改造:无法为类创建 @Body 转换器

    我需要通过改造 2 发送下一个 json Inspection UUID name ModifiedTime 2016 03 09T01 13 CreatedTime 2016 03 09T01 13 ReviewedWith name2
  • 使用 net/http 发送 Post 请求

    我需要将 JSON 数据发送到同一台计算机上运行的另一个应用程序 我像这样发送请求 rails 3 2 13 data some data hash url URI parse http localhost 6379 api plans r
  • 如何将json从android发送到php?

    为了将 json 从 android 发布到 php 我使用了 Volley 库StringRequest目的 StringRequest sr new StringRequest Request Method POST url new R
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • 学院/大学数据 API [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试构建一个应用程序 允许用户查找特定大学并查看有关该大学的数据 录取率 SAT 分数 规模等 但
  • Yii2:ActiveController 中的 REST API 操作

    在文档指南中有示例 namespace app controllers use yii rest ActiveController class UserController extends ActiveController public m
  • Laravel 4 JSON 响应与 Cookie

    如何设置带有 json 响应的 cookie 我注意到 至少对我来说 以下命令是唯一可以设置 cookie 的命令 return Redirect to gt withCookie Cookie make blog cookie value
  • 加载一张随机 flickr 图像并附加到 div

    我基本上试图加载从特定用户和特定集合中获取的随机 flickr 图像 然后将其显示在 ID 为 flickr wrap 的 div 中 我正在尝试操纵此 JSON 代码来执行我想要的操作 但不知道从哪里开始 这段代码当前加载了很多图像 我只
  • 如何使用 Jackson 重命名 JSON 序列化中的根密钥

    我正在使用 Jackson 对对象列表进行 JSON 序列化 这是我得到的 ArrayList id 1 name test name 但我想要这个 rootname id 1 name test name ie showing the s
  • java.lang.String 无法转换为 org.json.simple.JSONObject simple-json

    我在尝试使用 google 的 simple json 解析简单的 json 时遇到奇怪的问题 这是我的代码 它不起作用 String s args 0 toString JSONObject json JSONObject new JSO
  • 不要使用android内置的org.json

    我写了一个使用的库org json http json org A 来自 json org 假设 Android 使用相同的 在 android 中也称为org json B 只是它遗漏了一些相对关键的功能 现在我想做的是设置我的 grad
  • 改造如何打印响应 JSON

    我正在使用 Retrofit 并且想要访问从服务器返回的 JSON 响应 有人可以告诉我吗 谢谢 如果您只想查看出于调试目的的响应 只需在改造中打开调试并查看日志即可 它是这样的 restAdapter setDebuggingEnable
  • 通过 POST 将 JSON 编码的变量从 PHP 传递到 Javascript

    我有一个多维数组 我想将其发送到带有 Javascript 的 PHP 脚本 该脚本解析 JSON 数据并将其绘制在 Google 地图上 我正在尝试使用表单来模拟它
  • json_encode() 非 utf-8 字符串?

    所以我有一个字符串数组 并且所有字符串都使用系统默认值ANSI编码并从 SQL 数据库中提取 因此有 256 种不同的可能的字符字节值 单字节编码 有什么方法可以让我得到json encode 工作并显示这些字符而不必使用utf8 enco
  • 在JQuery中加载本地json文件

    这里是初学者 我一直在尝试与该主题的答案不同的方法 但它们似乎都不起作用 我看到这个问题已经被问了很多 但不知何故我仍然找不到答案 我想使用本地 json 文件 该文件与我的 JavaScript 和 HTML 文件位于同一文件夹中 这样我
  • 使用对象键作为 JSON 架构中的类型

    假设我想根据 Intellij IDEA 中的 JSON 架构验证 YAML 文件 该文件的结构如下 foo command touch tmp a txt I know I don t need this but it s an exam
  • 如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 崩溃

    好的 我正在运行一个公共 JSONP API 数据由我的 PHP 服务器提供 我刚刚读了这篇文章 JSON 不是的 JavaScript 子集 作者 Magnus Holm 2011 年 5 月 http timelessrepo com

随机推荐