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

Plotting image on maps with Vega-Lite / Altair

编辑:错误报告here

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

显示文字(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 的未来版本中添加