[R-sig-Geo] st_segmentize across east and west hemispheres

Bede-Fazekas Ákos b|@|ev||@t @end|ng |rom gm@||@com
Tue Dec 29 09:26:53 CET 2020


Dear Amanda,,

I think this unwanted, nearly horizontal segment is unavoidable if you 
simply plot() the results and you use a CRS such as 4326. Of course, you 
can st_transform() your sf object to e.g. Robinson or Miller projection 
before st_segmentize()-ing.
But this segment is correct in WGS-84 as well: its start and end points 
are in the correct place. It is only a visualization decision whether 
the start and end points are
1) connected with this unwanted line;
2) their connection is not displayed; or
3) 'connected' with two segments: one heading to the -180° longitude, 
the other one heading to the +180° longitude.

HTH,
Ákos Bede-Fazekas
Hungarian Academy of Sciences

2020.12.29. 0:24 keltezéssel, Amanda Rehbein írta:
> Dear r-sig-geo list,
>
> I have a package called raytracing for calculating atmospheric Rossby wave
> paths.
> I need to get segments of the great circle or routes from some geographical
> coordinates. st_segmentize is calculating them correctly. However, when I
> need to connect two points in different hemispheres, east and west, it
> creates an unwanted horizontal line, as shown in the following example. Is
> it possible (and correct) to avoid or remove this horizontal line?
>
>
> library(sf)
> m <- rbind(c(100,-50),
>             c(-100,50))
> sf <- st_sf(a=1,
>             geom=st_sfc(st_linestring(m)),
>             crs = 4326)
> seg <- st_segmentize(sf, units::set_units(1000, km))
> plot(seg, axes = TRUE, reset = FALSE, type = "p", pch = 16)
> plot(seg$geom, add = TRUE, col = "red")
> text(x = m[, 1], y = m[, 2] - 7, label = 1:2, col = "blue")
>
> Many thanks.
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo



More information about the R-sig-Geo mailing list