繁体   English   中英

使用 Vega-Lite / Altair 在地图上绘制图像

[英]Plotting image on maps with Vega-Lite / Altair

编辑:这里的错误报告

我正在尝试在地图上显示图像。 例如,假设我想制作一个带有区域及其徽章的 map。 下面有一个简单的例子。

文本出现(Vega-Lite 编辑器),但图像只出现在 x 和 y 通道,而不是纬度和经度。

这是关于我,关于一个已知的限制,还是关于一个错误?

链接的问题:是否可以使用 SVG 文件而不是 PNG?

{
  "config": {"view": {"continuousWidth": 300, "continuousHeight": 400}},
  "layer": [
    {
      "mark": {"type": "text", "font": "Ubuntu", "fontSize": 18},
      "encoding": {
        "latitude": {"field": "latitude", "type": "quantitative"},
        "longitude": {"field": "longitude", "type": "quantitative"},
        "text": {"type": "nominal", "field": "name"}
      }
    },
    {
      "mark": {"type": "image", "height": 50, "width": 50},
      "encoding": {
        "latitude": {"field": "latitude", "type": "quantitative"},
        "longitude": {"field": "longitude", "type": "quantitative"},
        "url": {"type": "nominal", "field": "url"}
      }
    }
  ],
  "data": {"name": "data"},
  "$schema": "https://vega.github.io/schema/vega-lite/v5.0.0.json",
  "datasets": {
    "data": [
      {
        "name": "Unterfranken",
        "wikidata": "Q10547",
        "latitude": 50.011166583816824,
        "longitude": 9.94760069351192,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Unterfranken_Wappen.svg/512px-Unterfranken_Wappen.svg.png"
      },
      {
        "name": "Oberfranken",
        "wikidata": "Q10554",
        "latitude": 50.05097220003501,
        "longitude": 11.376017810598547,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/06/Wappen_Bezirk_Oberfranken2.svg/500px-Wappen_Bezirk_Oberfranken2.svg.png"
      },
      {
        "name": "Niederbayern",
        "wikidata": "Q10559",
        "latitude": 48.70663162458262,
        "longitude": 12.78636846158091,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Wappen_Bezirk_Niederbayern.svg/352px-Wappen_Bezirk_Niederbayern.svg.png"
      },
      {
        "name": "Oberpfalz",
        "wikidata": "Q10555",
        "latitude": 49.399491050485366,
        "longitude": 12.117024154659765,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Wappen_Oberpfalz.svg/177px-Wappen_Oberpfalz.svg.png"
      },
      {
        "name": "Mittelfranken",
        "wikidata": "Q10551",
        "latitude": 49.348122683559716,
        "longitude": 10.786147287006969,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Mittelfranken_Wappen.svg/393px-Mittelfranken_Wappen.svg.png"
      },
      {
        "name": "Schwaben",
        "wikidata": "Q10557",
        "latitude": 48.1625551901062,
        "longitude": 10.519367235613796,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/55/Wappen_Schwaben_Bayern.svg/450px-Wappen_Schwaben_Bayern.svg.png"
      },
      {
        "name": "Oberbayern",
        "wikidata": "Q10562",
        "latitude": 48.10116954364846,
        "longitude": 11.753750582859597,
        "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Wappen_Oberbayern.svg/200px-Wappen_Oberbayern.svg.png"
      }
    ]
  }
}

此功能尚不存在,但将根据此 PR https://github.com/vega/vega-lite/pull/7296在未来版本的 Vega-Lite/Altair 中添加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM