Yes, you can use "Point"-Input in your model:
It expects a user given point by clicking on the canvas and return x,y [EPSG:xxxx]
e.g. -0.12,12.4 [EPSG:4326]
. You can turn this into a geometry-point by using regular expressions like
make_point(
array_get(string_to_array((regexp_substr(to_string('-0.12,12.4 [EPSG:4326]'),'[^\\s]*'))),0),
array_get(string_to_array((regexp_substr(to_string('-0.12,12.4 [EPSG:4326]'),'[^\\s]*'))),1)
)
Where you should use @point
as variable accessing this input instead of -0.12,12.4 [EPSG:4326]
. Its your original input name without whitespaces and an @ in front. so your expression could be
(atan2((to_real(array_get(string_to_array((regexp_substr(to_string(@point),'[^\\s]*'))),0)-$x)),(to_real(array_get(string_to_array((regexp_substr(to_string(@point),'[^\\s]*'))),1)-$y))))*57.295779513082320876798154814105
Note, that you wont be able to test this when you run the model from the model builder. You need to save it first and run it from your processing toolbox, otherwise you wont get a chance to click on your canvas.
azimuth
expression of the field calculator instead of your custom expression.