JetBrains / lets-plot

Multiplatform plotting library based on the Grammar of Graphics
https://lets-plot.org
MIT License
1.55k stars 49 forks source link

livemap: wrong position if segment goes through the antimeridian #691

Closed IKupriyanov-HORIS closed 1 year ago

IKupriyanov-HORIS commented 1 year ago
from lets_plot import *
LetsPlot.setup_html()
data = {
    'lon': [-73.7997, 124.0012],
    'lat': [5.6408, 1.3256],
}

ggplot(data, ) + \
    geom_livemap(tiles=maptiles_lets_plot(theme='dark')) + \
    geom_segment(xend=data['lon'][0], yend=data['lat'][0], x=data['lon'][1], y=data['lat'][1], color='white', flat=True)
plotSpec ``` { "data": { "lon": [ -73.7997, 124.0012 ], "lat": [ 5.6408, 1.3256 ] }, "mapping": {}, "data_meta": {}, "kind": "plot", "scales": [], "layers": [ { "geom": "livemap", "mapping": {}, "data_meta": {}, "tiles": { "kind": "vector_lets_plot", "url": "wss://tiles.datalore.jetbrains.com/", "theme": "dark", "attribution": "Map: \u00a9 Lets-Plot, map data: \u00a9 OpenStreetMap contributors." }, "geocoding": { "url": "http://10.0.0.127:3020/map_data/geocoding" } }, { "geom": "segment", "mapping": {}, "data_meta": {}, "flat": true, "xend": -73.7997, "yend": 5.6408, "x": 124.0012, "y": 1.3256, "color": "white" } ], "metainfo_list": [] } ```

image

IKupriyanov-HORIS commented 1 year ago

Duplicate #682