# Dryophytes avivoca Hot Spot Analysis (HSA) Max Dispersal Data Export Script

#Purpose: Export the data from the HSA for analysis and summary of the HSA results

###############################################

#Assessing the HSA of areas of gained suitability



#Con of range change output to extract areas of gained suitability

#ssp245

out_raster = arcpy.ia.Con(
    in_conditional_raster="DA_Clip_ssp245_RangeChangeCorrected",
    in_true_raster_or_constant="DA_Clip_ssp245_RangeChangeCorrected",
    in_false_raster_or_constant=None,
    where_clause="Value = 1"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp245_RangeChangeCorrected_Gain")

#ssp370

out_raster = arcpy.ia.Con(
    in_conditional_raster="DA_Clip_ssp370_RangeChangeCorrected",
    in_true_raster_or_constant="DA_Clip_ssp370_RangeChangeCorrected",
    in_false_raster_or_constant=None,
    where_clause="Value = 1"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp370_RangeChangeCorrected_Gain")

#ssp585

out_raster = arcpy.ia.Con(
    in_conditional_raster="DA_Clip_ssp585_RangeChangeCorrected",
    in_true_raster_or_constant="DA_Clip_ssp585_RangeChangeCorrected",
    in_false_raster_or_constant=None,
    where_clause="Value = 1"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp585_RangeChangeCorrected_Gain")

#

#Extract hot spot designation of areas of gained suitability

#ssp245
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Cotton245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Corn245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Soy245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#ssp370
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Cotton370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)
#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Corn370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Soy370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#ssp585
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Cotton585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Corn585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_Gain",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_Gain_Soy585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)


#Export the zonal stats tables using a batch export table function (manually)
#Output directory: E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\CropHSA_Output\Gain_HSA_Tables\DA_Gain


#####

#Con of range change output to extract areas of gained suitability outside IUCN distribution


#Clip the Gain output by the Current IUCN distribution 
#Only interested in the gain outside the current IUCN distribution

#ssp245

out_raster = arcpy.ia.Con(
    in_conditional_raster="Dryophytes_avivoca_Merge_PtR",
    in_true_raster_or_constant="DA_Clip_ssp245_RangeChangeCorrected_Gain",
    in_false_raster_or_constant=None,
    where_clause="Value = 0"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp245_RangeChangeCorrected_GainOut")

#ssp370

out_raster = arcpy.ia.Con(
    in_conditional_raster="Dryophytes_avivoca_Merge_PtR",
    in_true_raster_or_constant="DA_Clip_ssp370_RangeChangeCorrected_Gain",
    in_false_raster_or_constant=None,
    where_clause="Value = 0"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp370_RangeChangeCorrected_GainOut")

#ssp585

out_raster = arcpy.ia.Con(
    in_conditional_raster="Dryophytes_avivoca_Merge_PtR",
    in_true_raster_or_constant="DA_Clip_ssp585_RangeChangeCorrected_Gain",
    in_false_raster_or_constant=None,
    where_clause="Value = 0"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_Clip_ssp585_RangeChangeCorrected_GainOut")

#

#Extract hot spot designation of areas of gained suitability outside the current IUCN distribution

#ssp245
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Cotton245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Corn245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp245DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp245_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Soy245",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#ssp370
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Cotton370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)
#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Corn370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp370DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp370_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Soy370",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#ssp585
#cotton
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_CottonFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Cotton585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#corn
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_CornFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Corn585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)

#soybeans
arcpy.ia.ZonalStatisticsAsTable(
    in_zone_data="ssp585DA_SoybeansFreq_OptHSA",
    zone_field="Gi_Bin",
    in_value_raster="DA_Clip_ssp585_RangeChangeCorrected_GainOut",
    out_table=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DA_ZonalStat_HSA_GainOut_Soy585",
    ignore_nodata="DATA",
    statistics_type="SUM",
    process_as_multidimensional="CURRENT_SLICE",
    percentile_values=[90],
    percentile_interpolation_type="AUTO_DETECT",
    circular_calculation="ARITHMETIC",
    circular_wrap_value=360
)


#Export the zonal stats tables using a batch export table function (manually)
#Output directory: E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\CropHSA_Output\Gain_HSA_Tables\DA_GainOut


######


#Download the HSA data with HUC12 information appended to the table


#Join HUC12 information to each HSA Output Layer
#Cotton
arcpy.management.AddJoin(
    in_layer_or_view="CurrentDA_CottonFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_CurrentDA_CottonFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp245DA_CottonFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp245DA_CottonFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp370DA_CottonFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp370DA_CottonFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp585DA_CottonFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp585DA_CottonFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

#Corn

arcpy.management.AddJoin(
    in_layer_or_view="CurrentDA_CornFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_CurrentDA_CornFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp245DA_CornFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp245DA_CornFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp370DA_CornFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp370DA_CornFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp585DA_CornFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp585DA_CornFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

#Soybeans

arcpy.management.AddJoin(
    in_layer_or_view="CurrentDA_SoybeansFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_CurrentDA_SoybeansFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp245DA_SoybeansFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp245DA_SoybeansFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp370DA_SoybeansFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp370DA_SoybeansFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)

arcpy.management.AddJoin(
    in_layer_or_view="ssp585DA_SoybeansFreq_OptHSA",
    in_field="OBJECTID",
    join_table="HUC12_ssp585DA_SoybeansFreq",
    join_field="OBJECTID",
    join_type="KEEP_ALL",
    index_join_fields="NO_INDEX_JOIN_FIELDS"
)


#Export the HSA output tables with the joined HUC12 information (manually)
#Output directory: E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\CropHSA_Output\HSA_HUC_Join_Table\DA_HSA_HUC_Results






