You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks so much for an amazing package :)
Recently, I stumbled upon some unexpected behavior for the lines! plot in GeoAxis.
See the following MWE, which intends to draw a simplified shipping route from Australia to Chile.
using GeoMakie, CairoMakie, GeometryOps, GeometryBasics
path =LineString(Point2f.([145, 170, -170, -70], [-38, -30, -20, -33]))
fig =Figure()
ga =GeoAxis(fig[1, 1])
lines!(ga, GeoMakie.coastlines())
lines!(ga, path, color =:red)
fig
However, based on how the easternmost parts of Russia are treated, I would expect the red line to cross the date line.
Is this expected behavior, or is there a different function I could use to achieve the desired behavior?
The text was updated successfully, but these errors were encountered:
The "correct" solution is a bit involved for now, but basically involves using GeometryOps to interpolate the path along the globe, then cutting the resulting line at the antimeridian. I'm hoping to move this within GeoMakie at some stage, but that would need a refactor at the Makie level as well.
import GeometryOps as GO
using GeoMakie, CairoMakie, GeometryBasics
path =LineString(Point2f.([145, 170, -170, -70], [-38, -30, -20, -33]))
interpolated_path = GO.segmentize(GO.GeodesicSegments(; max_distance =100_000), path) # 100km segments
split_path = Base.split(GeoMakie.geo2basic(interpolated_path), 180.0)
fig =Figure()
ga =GeoAxis(fig[1, 1])
lines!(ga, GeoMakie.coastlines())
lines!(ga, split_path, color =:red)
fig
Thanks so much for an amazing package :)
Recently, I stumbled upon some unexpected behavior for the lines! plot in GeoAxis.
See the following MWE, which intends to draw a simplified shipping route from Australia to Chile.
However, based on how the easternmost parts of Russia are treated, I would expect the red line to cross the date line.
Is this expected behavior, or is there a different function I could use to achieve the desired behavior?
The text was updated successfully, but these errors were encountered: