Package org.h2gis.functions.spatial.earth

# Class ST_GeometryShadow

java.lang.Object
org.h2gis.api.AbstractFunction
org.h2gis.api.DeterministicScalarFunction
org.h2gis.functions.spatial.earth.ST_GeometryShadow

All Implemented Interfaces:
  `org.h2gis.api.Function`, `org.h2gis.api.ScalarFunction`

public class ST_GeometryShadow extends org.h2gis.api.DeterministicScalarFunction
Compute the shadow footprint for a single geometry. The shadow is represented as an unified polygon. The user must specified the sun position : azimuth and altitude and a height to compute the shadow footprint.

Author:
  Erwan Bocher

## Field Summary

### Fields inherited from interface org.h2gis.api.Function

`PROP_NAME, PROP_REMARKS`

### Fields inherited from interface org.h2gis.api.ScalarFunction

`PROP_DETERMINISTIC`

## Constructor Summary

Constructors
Constructor
Description
`ST_GeometryShadow()`

## Method Summary

Modifier and Type
Method
Description
`static org.locationtech.jts.geom.Geometry`
`computeShadow(org.locationtech.jts.geom.Geometry geometry, double azimuth, double altitude, double height)`
Compute the shadow footprint based on
`static org.locationtech.jts.geom.Geometry`
`computeShadow(org.locationtech.jts.geom.Geometry geometry, double azimuth, double altitude, double height, boolean doUnion)`
Compute the shadow footprint based on
`static org.locationtech.jts.geom.Geometry`
`computeShadow(org.locationtech.jts.geom.Geometry geometry, org.locationtech.jts.geom.Geometry sunPosition, double height)`
Compute the shadow footprint based on
`String`
`getJavaStaticMethod()`
`static double[]`
`shadowOffset(double azimuth, double altitude, double height)`
Return the shadow offset in X and Y directions

### Methods inherited from class org.h2gis.api.AbstractFunction

`addProperty, getProperty, removeProperty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.h2gis.api.Function

`getProperty`

## Constructor Details

### ST_GeometryShadow

public ST_GeometryShadow()

## Method Details

### getJavaStaticMethod

public String getJavaStaticMethod()

### computeShadow

public static org.locationtech.jts.geom.Geometry computeShadow(org.locationtech.jts.geom.Geometry geometry, org.locationtech.jts.geom.Geometry sunPosition, double height)
Compute the shadow footprint based on

Parameters:
  `geometry` - input geometry
  `sunPosition` - as a point where x = azimuth and y=altitude
  `height` - of the geometry
Returns:

### computeShadow

public static org.locationtech.jts.geom.Geometry computeShadow(org.locationtech.jts.geom.Geometry geometry, double azimuth, double altitude, double height)
Compute the shadow footprint based on

Parameters:
  `geometry` - input geometry
  `azimuth` - of the sun in radians
  `altitude` - of the sun in radians
  `height` - of the geometry
Returns:

### computeShadow

public static org.locationtech.jts.geom.Geometry computeShadow(org.locationtech.jts.geom.Geometry geometry, double azimuth, double altitude, double height, boolean doUnion)
Compute the shadow footprint based on

Parameters:
  `geometry` - input geometry
  `azimuth` - of the sun in radians
  `altitude` - of the sun in radians
  `height` - of the geometry
  `doUnion` - unified or not the polygon shadows
Returns:

### shadowOffset

public static double[] shadowOffset(double azimuth, double altitude, double height)
Return the shadow offset in X and Y directions

Parameters:
  `azimuth` - in radians from north.
  `altitude` - in radians from east.
  `height` - of the geometry
Returns: