Sun Shadow Volume (3D Analyst)

Summary

Creates closed volumes that model shadows cast by each feature using sunlight for a given date and time.

Usage

  • All input features should reside in the same locale, as relative sun position calculations are based on the position of the first feature in the first feature class.

  • Shadows modeling sunrise and sunset conditions can be made by providing only a date in the Start Date and Time and End Date and Time parameters, respectively. Shadow volumes will not be produced if the sun is not visible for a given date and time or if the relative position of the sun is at a vertical angle of 90 degrees from the input features.

  • Shadows are modeled as closed multipatches created by extruding the input features in the direction of sunlight. Light rays are considered to be parallel and travel in the direction calculated for the relative position of the sun. Each shadow volume starts and ends at a vertical plane that is perpendicular to the horizontal projection of the sun's rays.

  • The following fields will be attributed to the shadow volume features:

    • SOURCE—Name of the feature class casting the shadow volume.
    • SOURCE_ID—Unique ID of the feature casting the shadow volume.
    • DATE_TIME—Local date and time used to calculate sun position.
    • AZIMUTH—Angle in degrees between true north and the perpendicular projection of the sun's relative position down to the earth's horizon. Values range from 0 to 360.
    • VERT_ANGLE—Angle in degrees between the earth's horizon and the sun's relative position where the horizon defines 0 degrees and 90 degrees is directly above.
    Note:

    Typically, each shadow volume would appear to hug, or be cast tightly against, its originating feature. If a shadow could not be generated in this manner, it will be created from the boundary of the feature's outer extent. When at least one shadow is created this way, a field named HUGS_FEATR is included to indicate which shadows hug their corresponding features.

Parameters

LabelExplanationData Type
Input Features

The multipatch features that will be used to model shadows.

Feature Layer
Start Date and Time

The date and time that the trajectory of sunlight will be calculated for modeling the shadows.

Date
Output Feature Class

The multipatch feature class that will store the resulting shadow volumes.

Feature Class
Adjusted for Daylight Savings Time
(Optional)

Specifies whether time value is adjusted for Daylight Savings Time (DST).

  • Unchecked—DST is not observed. This is the default.
  • Checked—DST is observed.
Boolean
Time Zone
(Optional)

The time zone in which the participating input is located. The default setting is the time zone to which the operating system is set.

  • UTCThe time zone will be UTC.
  • Dateline Standard TimeThe time zone will be Dateline Standard Time (UTC-12:00).
  • UTC-11The time zone will be UTC-11 (UTC-11:00).
  • Aleutian Standard TimeThe time zone will be Aleutian Standard Time (UTC-10:00).
  • Hawaiian Standard TimeThe time zone will be Hawaiian Standard Time (UTC-10:00).
  • Marquesas Standard TimeThe time zone will be Marquesas Standard Time (UTC-09:30).
  • Alaskan Standard TimeThe time zone will be Alaskan Standard Time (UTC-09:00).
  • UTC-09The time zone will be UTC-09 (UTC-09:00).
  • Pacific Standard Time (Mexico)The time zone will be Pacific Standard Time (Mexico) (UTC-08:00).
  • UTC-08The time zone will be UTC-08 (UTC-08:00).
  • Pacific Standard TimeThe time zone will be Pacific Standard Time (UTC-08:00).
  • US Mountain Standard TimeThe time zone will be US Mountain Standard Time (UTC-07:00).
  • Mountain Standard Time (Mexico)The time zone will be Mountain Standard Time (Mexico) (UTC-07:00).
  • Mountain Standard TimeThe time zone will be Mountain Standard Time (UTC-07:00).
  • Yukon Standard TimeThe time zone will be Yukon Standard Time (UTC-07:00).
  • Central America Standard TimeThe time zone will be Central America Standard Time (UTC-06:00).
  • Central Standard TimeThe time zone will be Central Standard Time (UTC-06:00).
  • Easter Island Standard TimeThe time zone will be Easter Island Standard Time (UTC-06:00).
  • Central Standard Time (Mexico)The time zone will be Central Standard Time (Mexico) (UTC-06:00).
  • Canada Central Standard TimeThe time zone will be Canada Central Standard Time (UTC-06:00).
  • SA Pacific Standard TimeThe time zone will be SA Pacific Standard Time (UTC-05:00).
  • Eastern Standard Time (Mexico)The time zone will be Eastern Standard Time (Mexico) (UTC-05:00).
  • Eastern Standard TimeThe time zone will be Eastern Standard Time (UTC-05:00).
  • Haiti Standard TimeThe time zone will be Haiti Standard Time (UTC-05:00).
  • Cuba Standard TimeThe time zone will be Cuba Standard Time (UTC-05:00).
  • US Eastern Standard TimeThe time zone will be US Eastern Standard Time (UTC-05:00).
  • Turks And Caicos Standard TimeThe time zone will be Turks And Caicos Standard Time (UTC-04:00).
  • Paraguay Standard TimeThe time zone will be Paraguay Standard Time (UTC-04:00).
  • Atlantic Standard TimeThe time zone will be Atlantic Standard Time (UTC-04:00).
  • Venezuela Standard TimeThe time zone will be Venezuela Standard Time (UTC-04:00).
  • Central Brazilian Standard TimeThe time zone will be Central Brazilian Standard Time (UTC-04:00).
  • SA Western Standard TimeThe time zone will be SA Western Standard Time (UTC-04:00).
  • Pacific SA Standard TimeThe time zone will be Pacific SA Standard Time (UTC-04:00).
  • Newfoundland Standard TimeThe time zone will be Newfoundland Standard Time (UTC-03:30).
  • Tocantins Standard TimeThe time zone will be Tocantins Standard Time (UTC-03:00).
  • E. South America Standard TimeThe time zone will be E. South America Standard Time (UTC-03:00).
  • SA Eastern Standard TimeThe time zone will be SA Eastern Standard Time (UTC-03:00).
  • Argentina Standard TimeThe time zone will be Argentina Standard Time (UTC-03:00).
  • Greenland Standard TimeThe time zone will be Greenland Standard Time (UTC-03:00).
  • Montevideo Standard TimeThe time zone will be Montevideo Standard Time (UTC-03:00).
  • Magallanes Standard TimeThe time zone will be Magallanes Standard Time (UTC-03:00).
  • Saint Pierre Standard TimeThe time zone will be Saint Pierre Standard Time (UTC-03:00).
  • Bahia Standard TimeThe time zone will be Bahia Standard Time (UTC-03:00).
  • UTC-02The time zone will be UTC-02 (UTC-02:00).
  • Mid-Atlantic Standard TimeThe time zone will be Mid-Atlantic Standard Time (UTC-02:00).
  • Azores Standard TimeThe time zone will be Azores Standard Time (UTC-01:00).
  • Cape Verde Standard TimeThe time zone will be Cape Verde Standard Time (UTC-01:00).
  • GMT Standard TimeThe time zone will be GMT Standard Time (UTC+00:00).
  • Greenwich Standard TimeThe time zone will be Greenwich Standard Time (UTC+00:00).
  • Sao Tome Standard TimeThe time zone will be Sao Tome Standard Time (UTC+00:00).
  • Morocco Standard TimeThe time zone will be Morocco Standard Time (UTC+00:00).
  • W. Europe Standard TimeThe time zone will be W. Europe Standard Time (UTC+01:00).
  • Central Europe Standard TimeThe time zone will be Central Europe Standard Time (UTC+01:00).
  • Romance Standard TimeThe time zone will be Romance Standard Time (UTC+01:00).
  • Central European Standard TimeThe time zone will be Central European Standard Time (UTC+01:00).
  • W. Central Africa Standard TimeThe time zone will be W. Central Africa Standard Time (UTC+01:00).
  • Jordan Standard TimeThe time zone will be Jordan Standard Time (UTC+02:00).
  • GTB Standard TimeThe time zone will be GTB Standard Time (UTC+02:00).
  • Middle East Standard TimeThe time zone will be Middle East Standard Time (UTC+02:00).
  • Egypt Standard TimeThe time zone will be Egypt Standard Time (UTC+02:00).
  • E. Europe Standard TimeThe time zone will be E. Europe Standard Time (UTC+02:00).
  • Syria Standard TimeThe time zone will be Syria Standard Time (UTC+02:00).
  • West Bank Standard TimeThe time zone will be West Bank Standard Time (UTC+02:00).
  • South Africa Standard TimeThe time zone will be South Africa Standard Time (UTC+02:00).
  • FLE Standard TimeThe time zone will be FLE Standard Time (UTC+02:00).
  • Israel Standard TimeThe time zone will be Israel Standard (UTC+02:00).
  • South Sudan Standard TimeThe time zone will be South Sudan Standard Time (UTC+02:00).
  • Kaliningrad Standard TimeThe time zone will be Kaliningrad Standard Time (UTC+02:00).
  • Sudan Standard TimeThe time zone will be Sudan Standard Time (UTC+02:00).
  • Libya Standard TimeThe time zone will be Libya Standard Time (UTC+02:00).
  • Namibia Standard TimeThe time zone will be Namibia Standard Time (UTC+02:00).
  • Arabic Standard TimeThe time zone will be Arabic Standard Time (UTC+03:00).
  • Turkey Standard TimeThe time zone will be Turkey Standard Time (UTC+03:00).
  • Arab Standard TimeThe time zone will be Arab Standard Time (UTC+03:00).
  • Belarus Standard TimeThe time zone will be Belarus Standard Time (UTC+03:00).
  • Russian Standard TimeThe time zone will be Russian Standard Time (UTC+03:00).
  • E. Africa Standard TimeThe time zone will be E. Africa Standard Time (UTC+03:00).
  • Volgograd Standard TimeThe time zone will be Volgograd Standard Time (UTC+03:00).
  • Iran Standard TimeThe time zone will be Iran Standard Time (UTC+03:30).
  • Arabian Standard TimeThe time zone will be Arabian Standard Time (UTC+04:00).
  • Astrakhan Standard TimeThe time zone will be Astrakhan Standard Time (UTC+04:00).
  • Azerbaijan Standard TimeThe time zone will be Azerbaijan Standard Time (UTC+04:00).
  • Russia Time Zone 3The time zone will be Russia Time Zone 3 (UTC+04:00).
  • Mauritius Standard TimeThe time zone will be Mauritius Standard Time (UTC+04:00).
  • Saratov Standard TimeThe time zone will be Saratov Standard Time (UTC+04:00).
  • Georgian Standard TimeThe time zone will be Georgian Standard Time (UTC+04:00).
  • Caucasus Standard TimeThe time zone will be Caucasus Standard Time (UTC+04:00).
  • Afghanistan Standard TimeThe time zone will be Afghanistan Standard Time (UTC+04:30).
  • West Asia Standard TimeThe time zone will be West Asia Standard Time (UTC+05:00).
  • Ekaterinburg Standard TimeThe time zone will be Ekaterinburg Standard Time (UTC+05:00).
  • Pakistan Standard TimeThe time zone will be Pakistan Standard Time (UTC+05:00).
  • Qyzylorda Standard TimeThe time zone will be Qyzylorda Standard Time (UTC+05:00).
  • India Standard TimeThe time zone will be India Standard Time (UTC+05:30).
  • Sri Lanka Standard TimeThe time zone will be Sri Lanka Standard Time (UTC+05:30).
  • Nepal Standard TimeThe time zone will be Nepal Standard Time (UTC+05:45).
  • Central Asia Standard TimeThe time zone will be Central Asia Standard Time (UTC+06:00).
  • Bangladesh Standard TimeThe time zone will be Bangladesh Standard Time (UTC+06:00).
  • Omsk Standard TimeThe time zone will be Omsk Standard Time (UTC+06:00).
  • Myanmar Standard TimeThe time zone will be Myanmar Standard Time (UTC+06:30).
  • SE Asia Standard TimeThe time zone will be SE Asia Standard Time (UTC+07:00).
  • Altai Standard TimeThe time zone will be Altai Standard Time (UTC+07:00).
  • W. Mongolia Standard TimeThe time zone will be W. Mongolia Standard Time (UTC+07:00).
  • North Asia Standard TimeThe time zone will be North Asia Standard Time (UTC+07:00).
  • N. Central Asia Standard TimeThe time zone will be N. Central Asia Standard Time (UTC+07:00).
  • Tomsk Standard TimeThe time zone will be Tomsk Standard Time (UTC+07:00).
  • China Standard TimeThe time zone will be China Standard Time (UTC+08:00).
  • North Asia East Standard TimeThe time zone will be North Asia East Standard Time (UTC+08:00).
  • Singapore Standard TimeThe time zone will be Singapore Standard Time (UTC+08:00).
  • W. Australia Standard TimeThe time zone will be W. Australia Standard Time (UTC+08:00).
  • Taipei Standard TimeThe time zone will be Taipei Standard Time (UTC+08:00).
  • Ulaanbaatar Standard TimeThe time zone will be Ulaanbaatar Standard Time (UTC+08:00).
  • Aus Central W. Standard TimeThe time zone will be Aus Central W. Standard Time (UTC+08:45).
  • Transbaikal Standard TimeThe time zone will be Transbaikal Standard Time (UTC+09:00).
  • Tokyo Standard TimeThe time zone will be Tokyo Standard Time (UTC+09:00).
  • North Korea Standard TimeThe time zone will be North Korea Standard Time (UTC+09:00).
  • Korea Standard TimeThe time zone will be Korea Standard Time (UTC+09:00).
  • Yakutsk Standard TimeThe time zone will be Yakutsk Standard Time (UTC+09:00).
  • Cen. Australia Standard TimeThe time zone will be Cen. Australia Standard Time (UTC+09:30).
  • AUS Central Standard TimeThe time zone will be AUS Central Standard Time (UTC+09:30).
  • E. Australia Standard TimeThe time zone will be E. Australia Standard Time (UTC+10:00).
  • AUS Eastern Standard TimeThe time zone will be AUS Eastern Standard Time (UTC+10:00).
  • West Pacific Standard TimeThe time zone will be West Pacific Standard Time (UTC+10:00).
  • Tasmania Standard TimeThe time zone will be Tasmania Standard Time (UTC+10:00).
  • Vladivostok Standard TimeThe time zone will be Vladivostok Standard Time (UTC+10:00).
  • Lord Howe Standard TimeThe time zone will be Lord Howe Standard Time (UTC+10:30).
  • Bougainville Standard TimeThe time zone will be Bougainville Standard Time (UTC+11:00).
  • Russia Time Zone 10The time zone will be Russia Time Zone 10 (UTC+11:00).
  • Magadan Standard TimeThe time zone will be Magadan Standard Time (UTC+11:00).
  • Norfolk Standard TimeThe time zone will be Norfolk Standard Time (UTC+11:00).
  • Sakhalin Standard TimeThe time zone will be Sakhalin Standard Time (UTC+11:00).
  • Central Pacific Standard TimeThe time zone will be Central Pacific Standard Time (UTC+11:00).
  • Russia Time Zone 11The time zone will be Russia Time Zone 11 (UTC+11:00).
  • New Zealand Standard TimeThe time zone will be New Zealand Standard Time (UTC+12:00).
  • UTC+12The time zone will be UTC+12 (UTC+12:00).
  • Fiji Standard TimeThe time zone will be Fiji Standard Time (UTC+12:00).
  • Kamchatka Standard TimeThe time zone will be Kamchatka Standard Time (UTC+12:00).
  • Chatham Islands Standard TimeThe time zone will be Chatham Islands Standard Time (UTC+12:45).
  • UTC+13The time zone will be UTC+13 (UTC+13:00).
  • Tonga Standard TimeThe time zone will be Tonga Standard Time (UTC+13:00).
  • Samoa Standard TimeThe time zone will be Samoa Standard Time (UTC+13:00).
  • Line Islands Standard TimeThe time zone will be Line Islands Standard Time (UTC+14:00).
String
End Date and Time
(Optional)

The final date and time for calculating sun position. If only a date is provided, the final time is presumed to be sunset.

Date
Iteration Interval
(Optional)

The value used to define the iteration of time from the start date.

Double
Iteration Unit
(Optional)

The unit that defines the iteration value applied to the Start Date and Time.

  • DaysIteration value will represent days. This is the default.
  • HoursIteration value will represent one or more hours.
  • MinutesIteration value will represent one or more minutes.
String

arcpy.ddd.SunShadowVolume(in_features, start_date_and_time, out_feature_class, {adjusted_for_dst}, {time_zone}, {end_date_and_time}, {iteration_interval}, {iteration_unit})
NameExplanationData Type
in_features
[in_features,...]

The multipatch features that will be used to model shadows.

Feature Layer
start_date_and_time

The date and time that the trajectory of sunlight will be calculated for modeling the shadows.

Date
out_feature_class

The multipatch feature class that will store the resulting shadow volumes.

Feature Class
adjusted_for_dst
(Optional)

Specifies whether time value is adjusted for Daylight Savings Time (DST).

  • ADJUSTED_FOR_DSTDST is observed.
  • NOT_ADJUSTED_FOR_DSTDST is not observed. This is the default.
Boolean
time_zone
(Optional)

The time zone in which the participating input is located. The default setting is the time zone to which the operating system is set.

  • UTCThe time zone will be UTC.
  • Dateline_Standard_TimeThe time zone will be Dateline Standard Time (UTC-12:00).
  • UTC-11The time zone will be UTC-11 (UTC-11:00).
  • Aleutian_Standard_TimeThe time zone will be Aleutian Standard Time (UTC-10:00).
  • Hawaiian_Standard_TimeThe time zone will be Hawaiian Standard Time (UTC-10:00).
  • Marquesas_Standard_TimeThe time zone will be Marquesas Standard Time (UTC-09:30).
  • Alaskan_Standard_TimeThe time zone will be Alaskan Standard Time (UTC-09:00).
  • UTC-09The time zone will be UTC-09 (UTC-09:00).
  • Pacific_Standard_Time_(Mexico)The time zone will be Pacific Standard Time (Mexico) (UTC-08:00).
  • UTC-08The time zone will be UTC-08 (UTC-08:00).
  • Pacific_Standard_TimeThe time zone will be Pacific Standard Time (UTC-08:00).
  • US_Mountain_Standard_TimeThe time zone will be US Mountain Standard Time (UTC-07:00).
  • Mountain_Standard_Time_(Mexico)The time zone will be Mountain Standard Time (Mexico) (UTC-07:00).
  • Mountain_Standard_TimeThe time zone will be Mountain Standard Time (UTC-07:00).
  • Yukon_Standard_TimeThe time zone will be Yukon Standard Time (UTC-07:00).
  • Central_America_Standard_TimeThe time zone will be Central America Standard Time (UTC-06:00).
  • Central_Standard_TimeThe time zone will be Central Standard Time (UTC-06:00).
  • Easter_Island_Standard_TimeThe time zone will be Easter Island Standard Time (UTC-06:00).
  • Central_Standard_Time_(Mexico)The time zone will be Central Standard Time (Mexico) (UTC-06:00).
  • Canada_Central_Standard_TimeThe time zone will be Canada Central Standard Time (UTC-06:00).
  • SA_Pacific_Standard_TimeThe time zone will be SA Pacific Standard Time (UTC-05:00).
  • Eastern_Standard_Time_(Mexico)The time zone will be Eastern Standard Time (Mexico) (UTC-05:00).
  • Eastern_Standard_TimeThe time zone will be Eastern Standard Time (UTC-05:00).
  • Haiti_Standard_TimeThe time zone will be Haiti Standard Time (UTC-05:00).
  • Cuba_Standard_TimeThe time zone will be Cuba Standard Time (UTC-05:00).
  • US_Eastern_Standard_TimeThe time zone will be US Eastern Standard Time (UTC-05:00).
  • Turks_And_Caicos_Standard_TimeThe time zone will be Turks And Caicos Standard Time (UTC-04:00).
  • Paraguay_Standard_TimeThe time zone will be Paraguay Standard Time (UTC-04:00).
  • Atlantic_Standard_TimeThe time zone will be Atlantic Standard Time (UTC-04:00).
  • Venezuela_Standard_TimeThe time zone will be Venezuela Standard Time (UTC-04:00).
  • Central_Brazilian_Standard_TimeThe time zone will be Central Brazilian Standard Time (UTC-04:00).
  • SA_Western_Standard_TimeThe time zone will be SA Western Standard Time (UTC-04:00).
  • Pacific_SA_Standard_TimeThe time zone will be Pacific SA Standard Time (UTC-04:00).
  • Newfoundland_Standard_TimeThe time zone will be Newfoundland Standard Time (UTC-03:30).
  • Tocantins_Standard_TimeThe time zone will be Tocantins Standard Time (UTC-03:00).
  • E._South_America_Standard_TimeThe time zone will be E. South America Standard Time (UTC-03:00).
  • SA_Eastern_Standard_TimeThe time zone will be SA Eastern Standard Time (UTC-03:00).
  • Argentina_Standard_TimeThe time zone will be Argentina Standard Time (UTC-03:00).
  • Greenland_Standard_TimeThe time zone will be Greenland Standard Time (UTC-03:00).
  • Montevideo_Standard_TimeThe time zone will be Montevideo Standard Time (UTC-03:00).
  • Magallanes_Standard_TimeThe time zone will be Magallanes Standard Time (UTC-03:00).
  • Saint_Pierre_Standard_TimeThe time zone will be Saint Pierre Standard Time (UTC-03:00).
  • Bahia_Standard_TimeThe time zone will be Bahia Standard Time (UTC-03:00).
  • UTC-02The time zone will be UTC-02 (UTC-02:00).
  • Mid-Atlantic_Standard_TimeThe time zone will be Mid-Atlantic Standard Time (UTC-02:00).
  • Azores_Standard_TimeThe time zone will be Azores Standard Time (UTC-01:00).
  • Cape_Verde_Standard_TimeThe time zone will be Cape Verde Standard Time (UTC-01:00).
  • GMT_Standard_TimeThe time zone will be GMT Standard Time (UTC+00:00).
  • Greenwich_Standard_TimeThe time zone will be Greenwich Standard Time (UTC+00:00).
  • Sao_Tome_Standard_TimeThe time zone will be Sao Tome Standard Time (UTC+00:00).
  • Morocco_Standard_TimeThe time zone will be Morocco Standard Time (UTC+00:00).
  • W._Europe_Standard_TimeThe time zone will be W. Europe Standard Time (UTC+01:00).
  • Central_Europe_Standard_TimeThe time zone will be Central Europe Standard Time (UTC+01:00).
  • Romance_Standard_TimeThe time zone will be Romance Standard Time (UTC+01:00).
  • Central_European_Standard_TimeThe time zone will be Central European Standard Time (UTC+01:00).
  • W._Central_Africa_Standard_TimeThe time zone will be W. Central Africa Standard Time (UTC+01:00).
  • Jordan_Standard_TimeThe time zone will be Jordan Standard Time (UTC+02:00).
  • GTB_Standard_TimeThe time zone will be GTB Standard Time (UTC+02:00).
  • Middle_East_Standard_TimeThe time zone will be Middle East Standard Time (UTC+02:00).
  • Egypt_Standard_TimeThe time zone will be Egypt Standard Time (UTC+02:00).
  • E._Europe_Standard_TimeThe time zone will be E. Europe Standard Time (UTC+02:00).
  • Syria_Standard_TimeThe time zone will be Syria Standard Time (UTC+02:00).
  • West_Bank_Standard_TimeThe time zone will be West Bank Standard Time (UTC+02:00).
  • South_Africa_Standard_TimeThe time zone will be South Africa Standard Time (UTC+02:00).
  • FLE_Standard_TimeThe time zone will be FLE Standard Time (UTC+02:00).
  • Israel_Standard_TimeThe time zone will be Israel Standard (UTC+02:00).
  • South_Sudan_Standard_TimeThe time zone will be South Sudan Standard Time (UTC+02:00).
  • Kaliningrad_Standard_TimeThe time zone will be Kaliningrad Standard Time (UTC+02:00).
  • Sudan_Standard_TimeThe time zone will be Sudan Standard Time (UTC+02:00).
  • Libya_Standard_TimeThe time zone will be Libya Standard Time (UTC+02:00).
  • Namibia_Standard_TimeThe time zone will be Namibia Standard Time (UTC+02:00).
  • Arabic_Standard_TimeThe time zone will be Arabic Standard Time (UTC+03:00).
  • Turkey_Standard_TimeThe time zone will be Turkey Standard Time (UTC+03:00).
  • Arab_Standard_TimeThe time zone will be Arab Standard Time (UTC+03:00).
  • Belarus_Standard_TimeThe time zone will be Belarus Standard Time (UTC+03:00).
  • Russian_Standard_TimeThe time zone will be Russian Standard Time (UTC+03:00).
  • E._Africa_Standard_TimeThe time zone will be E. Africa Standard Time (UTC+03:00).
  • Volgograd_Standard_TimeThe time zone will be Volgograd Standard Time (UTC+03:00).
  • Iran_Standard_TimeThe time zone will be Iran Standard Time (UTC+03:30).
  • Arabian_Standard_TimeThe time zone will be Arabian Standard Time (UTC+04:00).
  • Astrakhan_Standard_TimeThe time zone will be Astrakhan Standard Time (UTC+04:00).
  • Azerbaijan_Standard_TimeThe time zone will be Azerbaijan Standard Time (UTC+04:00).
  • Russia_Time_Zone_3The time zone will be Russia Time Zone 3 (UTC+04:00).
  • Mauritius_Standard_TimeThe time zone will be Mauritius Standard Time (UTC+04:00).
  • Saratov_Standard_TimeThe time zone will be Saratov Standard Time (UTC+04:00).
  • Georgian_Standard_TimeThe time zone will be Georgian Standard Time (UTC+04:00).
  • Caucasus_Standard_TimeThe time zone will be Caucasus Standard Time (UTC+04:00).
  • Afghanistan_Standard_TimeThe time zone will be Afghanistan Standard Time (UTC+04:30).
  • West_Asia_Standard_TimeThe time zone will be West Asia Standard Time (UTC+05:00).
  • Ekaterinburg_Standard_TimeThe time zone will be Ekaterinburg Standard Time (UTC+05:00).
  • Pakistan_Standard_TimeThe time zone will be Pakistan Standard Time (UTC+05:00).
  • Qyzylorda_Standard_TimeThe time zone will be Qyzylorda Standard Time (UTC+05:00).
  • India_Standard_TimeThe time zone will be India Standard Time (UTC+05:30).
  • Sri_Lanka_Standard_TimeThe time zone will be Sri Lanka Standard Time (UTC+05:30).
  • Nepal_Standard_TimeThe time zone will be Nepal Standard Time (UTC+05:45).
  • Central_Asia_Standard_TimeThe time zone will be Central Asia Standard Time (UTC+06:00).
  • Bangladesh_Standard_TimeThe time zone will be Bangladesh Standard Time (UTC+06:00).
  • Omsk_Standard_TimeThe time zone will be Omsk Standard Time (UTC+06:00).
  • Myanmar_Standard_TimeThe time zone will be Myanmar Standard Time (UTC+06:30).
  • SE_Asia_Standard_TimeThe time zone will be SE Asia Standard Time (UTC+07:00).
  • Altai_Standard_TimeThe time zone will be Altai Standard Time (UTC+07:00).
  • W._Mongolia_Standard_TimeThe time zone will be W. Mongolia Standard Time (UTC+07:00).
  • North_Asia_Standard_TimeThe time zone will be North Asia Standard Time (UTC+07:00).
  • N._Central_Asia_Standard_TimeThe time zone will be N. Central Asia Standard Time (UTC+07:00).
  • Tomsk_Standard_TimeThe time zone will be Tomsk Standard Time (UTC+07:00).
  • China_Standard_TimeThe time zone will be China Standard Time (UTC+08:00).
  • North_Asia_East_Standard_TimeThe time zone will be North Asia East Standard Time (UTC+08:00).
  • Singapore_Standard_TimeThe time zone will be Singapore Standard Time (UTC+08:00).
  • W._Australia_Standard_TimeThe time zone will be W. Australia Standard Time (UTC+08:00).
  • Taipei_Standard_TimeThe time zone will be Taipei Standard Time (UTC+08:00).
  • Ulaanbaatar_Standard_TimeThe time zone will be Ulaanbaatar Standard Time (UTC+08:00).
  • Aus_Central_W._Standard_TimeThe time zone will be Aus Central W. Standard Time (UTC+08:45).
  • Transbaikal_Standard_TimeThe time zone will be Transbaikal Standard Time (UTC+09:00).
  • Tokyo_Standard_TimeThe time zone will be Tokyo Standard Time (UTC+09:00).
  • North_Korea_Standard_TimeThe time zone will be North Korea Standard Time (UTC+09:00).
  • Korea_Standard_TimeThe time zone will be Korea Standard Time (UTC+09:00).
  • Yakutsk_Standard_TimeThe time zone will be Yakutsk Standard Time (UTC+09:00).
  • Cen._Australia_Standard_TimeThe time zone will be Cen. Australia Standard Time (UTC+09:30).
  • AUS_Central_Standard_TimeThe time zone will be AUS Central Standard Time (UTC+09:30).
  • E._Australia_Standard_TimeThe time zone will be E. Australia Standard Time (UTC+10:00).
  • AUS_Eastern_Standard_TimeThe time zone will be AUS Eastern Standard Time (UTC+10:00).
  • West_Pacific_Standard_TimeThe time zone will be West Pacific Standard Time (UTC+10:00).
  • Tasmania_Standard_TimeThe time zone will be Tasmania Standard Time (UTC+10:00).
  • Vladivostok_Standard_TimeThe time zone will be Vladivostok Standard Time (UTC+10:00).
  • Lord_Howe_Standard_TimeThe time zone will be Lord Howe Standard Time (UTC+10:30).
  • Bougainville_Standard_TimeThe time zone will be Bougainville Standard Time (UTC+11:00).
  • Russia_Time_Zone_10The time zone will be Russia Time Zone 10 (UTC+11:00).
  • Magadan_Standard_TimeThe time zone will be Magadan Standard Time (UTC+11:00).
  • Norfolk_Standard_TimeThe time zone will be Norfolk Standard Time (UTC+11:00).
  • Sakhalin_Standard_TimeThe time zone will be Sakhalin Standard Time (UTC+11:00).
  • Central_Pacific_Standard_TimeThe time zone will be Central Pacific Standard Time (UTC+11:00).
  • Russia_Time_Zone_11The time zone will be Russia Time Zone 11 (UTC+11:00).
  • New_Zealand_Standard_TimeThe time zone will be New Zealand Standard Time (UTC+12:00).
  • UTC+12The time zone will be UTC+12 (UTC+12:00).
  • Fiji_Standard_TimeThe time zone will be Fiji Standard Time (UTC+12:00).
  • Kamchatka_Standard_TimeThe time zone will be Kamchatka Standard Time (UTC+12:00).
  • Chatham_Islands_Standard_TimeThe time zone will be Chatham Islands Standard Time (UTC+12:45).
  • UTC+13The time zone will be UTC+13 (UTC+13:00).
  • Tonga_Standard_TimeThe time zone will be Tonga Standard Time (UTC+13:00).
  • Samoa_Standard_TimeThe time zone will be Samoa Standard Time (UTC+13:00).
  • Line_Islands_Standard_TimeThe time zone will be Line Islands Standard Time (UTC+14:00).
String
end_date_and_time
(Optional)

The final date and time for calculating sun position. If only a date is provided, the final time is presumed to be sunset.

Date
iteration_interval
(Optional)

The value used to define the iteration of time from the start date.

Double
iteration_unit
(Optional)

The unit that defines the iteration value applied to the Start Date and Time.

  • DAYSIteration value will represent days. This is the default.
  • HOURSIteration value will represent one or more hours.
  • MINUTESIteration value will represent one or more minutes.
String

Code sample

SunShadowVolume example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.SunShadowVolume('sample.fgdb/buildings', 
                         start_date_and_time='12/25/2011 10:00 AM', 
                         out_feature_class='shadows_dec25.shp', 
                         adjusted_for_dst='ADJUSTED_FOR_DST', 
                         time_zone='Eastern_Standard_Time',
                         end_date_and_time='12/25/2011 3:00 PM', 
                         iteration_interval='HOURS', iteration_unit=1)
SunShadowVolume example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

'''*********************************************************************
Name: Model Shadows For GeoVRML Models
Description: Creates a model of the shadows cast by GeoVRML models
             imported to a multipatch feature class for a range of dates
             and times. A range of times from the start time and end
             time can also be specified by setting the EnforceTimes
             Boolean to True. This sample is designed to be used in a
             script tool.
*********************************************************************'''
# Import system modules
import arcpy
from datetime import datetime, time, timedelta

#*************************  Script Variables  **************************
inFiles = arcpy.GetParameterAsText(0) # list of input features
spatialRef = arcpy.GetParameterAsText(1) # list of GeoVRML files
outFC = arcpy.GetParameterAsText(2) # multipatch from 3D files
inTimeZone = arcpy.GetParameterAsText(3) # time zone
startDate = arcpy.GetParameter(4) # starting date as datetime
endDate = arcpy.GetParameter(5) # ending date as datetime
dayInterval = arcpy.GetParameter(6) # day interval as long (0-365)
minInterval = arcpy.GetParameter(7) # minute interval as long (0-60)
enforceTime = arcpy.GetParameter(8) # minute interval as Boolean
outShadows = arcpy.GetParameterAsText(9) # output shadow models
outIntersection = arcpy.GetParameterAsText(10) # shadow & bldg intersection

# Function to find all possible date/time intervals for shadow modelling
def time_list():
    dt_result = [startDate]
    if dayInterval:
        if endDate: #Defines behavior when end date is supplied
            while startDate < endDate:
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
            dt_result.append(endDate)
        else: # Behavior when end date is not given
            daymonthyear = datetime.date(startDate)
            while startDate <= datetime(daymonthyear.year, 12, 31, 23, 59):
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
    return dt_result


importFC = arcpy.CreateUniqueName('geovrml_import', 'in_memory')

# Import GeoVRML files to in-memory feature
arcpy.ddd.Import3DFiles(inFiles, importFC, 'ONE_FILE_ONE_FEATURE',
                        spatialRef, 'Z_IS_UP', 'wrl')

# Ensure that building models are closed
arcpy.ddd.EncloseMultiPatch(importFC, outFC, 0.05)

# Discard in-memory feature
arcpy.management.Delete(importFC)
dt_result = time_list()
for dt in dt_result:
    if dt == dt_result[0]:
        shadows = outShadows
    else:
        shadows = arcpy.CreateUniqueName('shadow', 'in_memory')
    arcpy.ddd.SunShadowVolume(outFC, dt, shadows, 'ADJUST_FOR_DST',
                              inTimeZone, '', minInterval, 'MINUTES')
    if dt is not dt_result[0]:
        arcpy.management.Append(shadows, outShadows)
        arcpy.management.Delete(shadows)
arcpy.ddd.Intersect3D(outFC, outIntersection, outShadows, 'SOLID')

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst

Related topics