API reference

Contents

Index

SolarPosition.Positioning.solar_positionFunction
solar_position(obs::Observer, dt::DateTime; alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(obs::Observer, dt::ZonedDateTime; alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(latitude::T, longitude::T, altitude::T, dt::DateTime;
               alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos where {T<:AbstractFloat}
solar_position(latitude::T, longitude::T, altitude::T, dt::ZonedDateTime;
               alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos where {T<:AbstractFloat}
solar_position(latitude::AbstractFloat, longitude::AbstractFloat, dt::DateTime;
               alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(latitude::AbstractFloat, longitude::AbstractFloat, dt::ZonedDateTime;
               alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(dt::DateTime; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(dt::ZonedDateTime; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> SolarPos
solar_position(obs::Observer, dts::AbstractVector{DateTime};
               alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(obs::Observer, dts::AbstractVector{ZonedDateTime};
               alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(obs::Observer, dts::AbstractRange{DateTime};
               alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(obs::Observer, dts::AbstractRange{ZonedDateTime};
               alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(dts::AbstractVector{DateTime}; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(dts::AbstractVector{ZonedDateTime}; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(dts::AbstractRange{DateTime}; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple
solar_position(dts::AbstractRange{ZonedDateTime}; latitude::AbstractFloat, longitude::AbstractFloat,
               altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...) -> NamedTuple

Compute the apparent solar position for a given observer at time dt or vector of times dts.

Arguments

  • obs::Observer : Observer location (latitude, longitude, altitude).
  • latitude, longitude, altitude : Specify observer location directly.
  • dt::DateTime or ZonedDateTime : Time at which to compute solar position.
  • dts::AbstractVector{DateTime} or AbstractVector{ZonedDateTime} : Vector of times for batch computation.
  • alg::SolarAlgorithm : Algorithm to use (default: PSA()).
  • kwargs... : Additional keyword arguments forwarded to the algorithm.

Returns

  • SolarPos : Struct containing solar zenith, azimuth, elevation (for single time).
  • NamedTuple : Named tuple with datetime, azimuth, elevation, zenith vectors (for multiple times).

Notes

All angles are in radians.

source
SolarPosition.Positioning.solar_position!Method
solar_position!(table, obs::Observer; dt_col::Symbol=:datetime, alg::SolarAlgorithm=PSA(), kwargs...)
solar_position!(table; latitude::AbstractFloat, longitude::AbstractFloat,
                altitude::AbstractFloat=0.0, alg::SolarAlgorithm=PSA(), kwargs...)

Compute solar positions for all times in a table and add the results as new columns.

Arguments

  • table : Table-like object with datetime column (must support Tables.jl interface).
  • obs::Observer : Observer location (latitude, longitude, altitude).
  • latitude, longitude, altitude : Specify observer location directly.
  • dt_col::Symbol : Name of the datetime column (default: :datetime).
  • alg::SolarAlgorithm : Algorithm to use (default: PSA()).
  • kwargs... : Additional keyword arguments forwarded to the algorithm.

Returns

  • Modified table with added columns: azimuth, elevation, zenith.

Notes

All angles are in radians. The input table is modified in-place by adding new columns.

source