Altair:全球地图居中

Altair: Globe map centering

我正在学习使用 Altair 绘制地图,参考此处的示例 Example Gallery - World Projections

如何将 Globe 地图的中心设置在我想要的经纬度点?

下面是我尝试将地图居中定位在 Latitude=40 和 Longitude=140 附近的失败代码:

import altair as alt
from vega_datasets import data

countries = alt.topo_feature(data.world_110m.url, 'countries')

alt.Chart(countries).mark_geoshape(
    fill='#666666',
    stroke='white'
).project(
    type= 'orthographic'
).properties(
    title='Orthographic'
).configure_projection(
    center= [140,40]
)

如您所见,地图仍以大西洋为中心,可能位于 [Long, Lat] = [0, 0]。

对于正交投影,是 rotate 属性 而不是 center 属性 决定投影如何居中。 rotate 属性 由围绕三个主轴的旋转角度组成。例如,要围绕 long=140,lat=40 构建投影,您可以这样做:

import altair as alt
from vega_datasets import data

countries = alt.topo_feature(data.world_110m.url, 'countries')

alt.Chart(countries).mark_geoshape(
    fill='#666666',
    stroke='white'
).project(
    type= 'orthographic',
    rotate=[-140, -40 ,0]
).properties(
    title='Orthographic'
)

您可以在此站点动态探索一些可用的投影及其配置:https://vega.github.io/vega/docs/projections/