# How to find the geom_line control points in ggplot?

I was able to find the geom_curve control points in ggplot using the answer on this question:

I am now wondering how to apply this same function to geom_line to obtain all the control points along the geom_line I created on my ggplot.

`b\$data[[1]]` gives the starting and ending points and
`p\$layers[[1]]\$geom_params` gives the curve information (angle, curvature, ...).

But how do I find all the coordinates/points along the geom_line so I can reproduce the line with those points?

`````` C <- ggplot() +
geom_sf(data = world, fill = "grey69", size = 0.1, colour = "transparent") +
scale_x_continuous(limits = c(-180, 180), breaks = seq(-180, 180, by = 40)) +
scale_y_continuous(limits = c(-90, 90), breaks = seq(-90, 90, by = 30)) +
coord_sf(expand = FALSE) +
labs(x = "Longitude", y = "Latitude") +
geom_sf(data = world, color = "grey87", fill = "grey87", size = 0.1) +
geom_line(aes(c(19, 6),c(-32,-40)),
lineend = "round", size = 0.4, col = "gray20", linetype = "solid", alpha = 0.6)
``````

Hi @isabelle ,

First, welcome to this forum!

Maybe you already solved this issue over the last days. I am not entirely sure what you are after. Mathematically a straight line is determined by its start and end point. First, you could use `geom_curve()` instead of `geom_line()`.
For geospatial calculations things are a bit different for 'straight' projections. Here you could take look at the `geosphere::gcIntermediate()` function of the `geosphere-package`. This function uses the GreatCircle intersection and you can specify how many intermediate points should be taken and returned.

I hope this helps .

JW

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.