API (v2.0.0) - Giro3D
    Preparing search index...

    Simulates sun exposure on meshes and produces various sun-related measures (see VariableName).

    The output is a point cloud that covers the area of interest. Each point represents a sun probe that samples sun exposure at this location.

    Computation can occurs on a single point in time or within a time range. In that case, the time range is discretized into snapshots that are one temporalResolution apart.

    Irradiance (in Watts / square meter) represents the amount of solar power that reaches a surface at a given time.

    We first compute the cosine between the probe's normal and the sun direction. If the cosine is zero or less, it means the surface is not exposed to sunlight at all. It thus receives zero watts of solar power.

    If the cosine is greater than zero, it is used to compute the solar power with a simple formula:

     irradiance = cos(angle) * SolarConstant * AtmosphereAbsorption
    

    where SolarConstant is the SOLAR_CONSTANT and AtmosphereAbsorption is the ATMOSPHERIC_ABSORPTION constant.

    Thus, at noon UTC during summer solstice and at the northern tropic (23.43° N, 0° E), the irradiance of an horizontal surface will be at its maximum value, which is (SolarConstant * AtmosphereAbsorption), since the cosine of the angle will be 1.

    Irradiation (in Watt-hours / square meter) is then computed as the integral of the irradiance over the time period (in hours).

    This variable is computed by counting the number of time increments that a given probe receives sunlight (i.e is not in the shadow of another object). Those increments do not need to be consecutive. Thus, if a probe receives 0.5 hours of sunlight in the morning, then is in the shade until 16:00, then receives another 2 hours of sunlight in the afternoon, then is occluded by shadow again, then receives 1.5 hours until sunset, its hours of sunlight will be 4 hours (0.5 + 2 + 1.5).

    • Be careful when passing Date parameters. By default, dates are using the local time zone. It is advised to pass UTC dates to avoid ambiguity.

    • Only mesh-like objects (3D models, maps, 3D tiles, etc) are supported. Point clouds are not supported, as they don't expose surfaces and normals required for solar exposure computation.

    • You must include "ground" like meshes so that other meshes (like buildings) are properly shaded (especially in morning/evening periods) when the sun is low. A simple flat plane is enough if you don't have anything else. Otherwise you can use a Map with terrain.

    • Be very careful with the spatialResolution parameter. It must be reasonable and consistent with the dimensions of the area of interest. For example, if the area of interest is 1000m long, and the spatial resolution is 0.1, then this will create millions of sun probes, making computation much longer than expected, and using a lot of memory. It is recommended to start with a high value and then reduce it afterwards.

    Hierarchy

    Implements

    Index

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    • get loading(): boolean

      Gets whether the object is currently performing an asynchronous operation.

      Returns boolean

    • get progress(): number

      Returns the percentage of progress, in normalized value (i.e in the [0, 1] range), of the asynchronous operations that are scheduled to run on this object. 1 means that all operations have finished.

      Returns number

    Methods