#Dryophtyes avivoca Crop Hot Spot Analysis - Max Dispersal 

#Purpose: Generate spatial files to assess overlap of areas with high suitability for Dryophtyes avivoca occurrence and high agricultural activity. Compare how the overlap changes in the future under different climate scenarios.

#See Figure 1 for flow chart of geoprocessing steps

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

#Preliminary GeoProcessing Steps

#IUCN Range Buffer


with arcpy.EnvManager(outputCoordinateSystem='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
arcpy.analysis.Buffer(
    in_features="Dryophytes_avivoca",
    out_feature_class=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Dryophytes_avivoca_Buffer_1km",
    buffer_distance_or_field="65 Kilometers",
    line_side="FULL",
    line_end_type="ROUND",
    dissolve_option="ALL",
    dissolve_field=None,
    method="PLANAR"
)

#Output represents the boundary of the max dispersal by 2090 for Dryophytes avivoca based on the current IUCN range shapefile.   
#Note: 1 km refers to the max annual dispersal distance


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



#HUC12 Current Clip

arcpy.ImportToolbox(r"C:\Users\JREIMER\AppData\Local\Temp\ArcGISProTemp12244\Tmp.tbx")
arcpy.Tmp.BatchSelectLayerByLocation(
    in_layer="06_WBDHU12;03_WBDHU12;05_WBDHU12;07_WBDHU12;08_WBDHU12;11_WBDHU12;12_WBDHU12",
    overlap_type="INTERSECT",
    select_features="Dryophytes_avivoca",
    search_distance=None,
    selection_type="NEW_SELECTION",
    invert_spatial_relationship="NOT_INVERT"
)


with arcpy.EnvManager(outputCoordinateSystem='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	arcpy.management.Merge(
    		inputs="06_WBDHU12;03_WBDHU12;05_WBDHU12;07_WBDHU12;08_WBDHU12;11_WBDHU12;12_WBDHU12",
    		output=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\CurrentDryoAvi_WBDHU12_Merge",
    field_mappings='tnmid "tnmid" true true false 40 Text 0 0,First,#,06_WBDHU12,tnmid,0,40,03_WBDHU12,tnmid,0,40,05_WBDHU12,tnmid,0,40,07_WBDHU12,tnmid,0,40,08_WBDHU12,tnmid,0,40,11_WBDHU12,tnmid,0,40,12_WBDHU12,tnmid,0,40;metasource "metasource" true true false 40 Text 0 0,First,#,06_WBDHU12,metasource,0,40,03_WBDHU12,metasource,0,40,05_WBDHU12,metasource,0,40,07_WBDHU12,metasource,0,40,08_WBDHU12,metasource,0,40,11_WBDHU12,metasource,0,40,12_WBDHU12,metasource,0,40;sourcedata "sourcedata" true true false 100 Text 0 0,First,#,06_WBDHU12,sourcedata,0,100,03_WBDHU12,sourcedata,0,100,05_WBDHU12,sourcedata,0,100,07_WBDHU12,sourcedata,0,100,08_WBDHU12,sourcedata,0,100,11_WBDHU12,sourcedata,0,100,12_WBDHU12,sourcedata,0,100;sourceorig "sourceorig" true true false 130 Text 0 0,First,#,06_WBDHU12,sourceorig,0,130,03_WBDHU12,sourceorig,0,130,05_WBDHU12,sourceorig,0,130,07_WBDHU12,sourceorig,0,130,08_WBDHU12,sourceorig,0,130,11_WBDHU12,sourceorig,0,130,12_WBDHU12,sourceorig,0,130;sourcefeat "sourcefeat" true true false 40 Text 0 0,First,#,06_WBDHU12,sourcefeat,0,40,03_WBDHU12,sourcefeat,0,40,05_WBDHU12,sourcefeat,0,40,07_WBDHU12,sourcefeat,0,40,08_WBDHU12,sourcefeat,0,40,11_WBDHU12,sourcefeat,0,40,12_WBDHU12,sourcefeat,0,40;loaddate "loaddate" true true false 8 Date 0 0,First,#,06_WBDHU12,loaddate,-1,-1,03_WBDHU12,loaddate,-1,-1,05_WBDHU12,loaddate,-1,-1,07_WBDHU12,loaddate,-1,-1,08_WBDHU12,loaddate,-1,-1,11_WBDHU12,loaddate,-1,-1,12_WBDHU12,loaddate,-1,-1;referenceg "referenceg" true true false 50 Text 0 0,First,#,06_WBDHU12,referenceg,0,50,03_WBDHU12,referenceg,0,50,05_WBDHU12,referenceg,0,50,07_WBDHU12,referenceg,0,50,08_WBDHU12,referenceg,0,50,11_WBDHU12,referenceg,0,50,12_WBDHU12,referenceg,0,50;areaacres "areaacres" true true false 24 Double 15 23,First,#,06_WBDHU12,areaacres,-1,-1,03_WBDHU12,areaacres,-1,-1,05_WBDHU12,areaacres,-1,-1,07_WBDHU12,areaacres,-1,-1,08_WBDHU12,areaacres,-1,-1,11_WBDHU12,areaacres,-1,-1,12_WBDHU12,areaacres,-1,-1;areasqkm "areasqkm" true true false 24 Double 15 23,First,#,06_WBDHU12,areasqkm,-1,-1,03_WBDHU12,areasqkm,-1,-1,05_WBDHU12,areasqkm,-1,-1,07_WBDHU12,areasqkm,-1,-1,08_WBDHU12,areasqkm,-1,-1,11_WBDHU12,areasqkm,-1,-1,12_WBDHU12,areasqkm,-1,-1;states "states" true true false 50 Text 0 0,First,#,06_WBDHU12,states,0,50,03_WBDHU12,states,0,50,05_WBDHU12,states,0,50,07_WBDHU12,states,0,50,08_WBDHU12,states,0,50,11_WBDHU12,states,0,50,12_WBDHU12,states,0,50;huc12 "huc12" true true false 12 Text 0 0,First,#,06_WBDHU12,huc12,0,12,03_WBDHU12,huc12,0,12,05_WBDHU12,huc12,0,12,07_WBDHU12,huc12,0,12,08_WBDHU12,huc12,0,12,11_WBDHU12,huc12,0,12,12_WBDHU12,huc12,0,12;name "name" true true false 120 Text 0 0,First,#,06_WBDHU12,name,0,120,03_WBDHU12,name,0,120,05_WBDHU12,name,0,120,07_WBDHU12,name,0,120,08_WBDHU12,name,0,120,11_WBDHU12,name,0,120,12_WBDHU12,name,0,120;hutype "hutype" true true false 1 Text 0 0,First,#,06_WBDHU12,hutype,0,1,03_WBDHU12,hutype,0,1,05_WBDHU12,hutype,0,1,07_WBDHU12,hutype,0,1,08_WBDHU12,hutype,0,1,11_WBDHU12,hutype,0,1,12_WBDHU12,hutype,0,1;humod "humod" true true false 30 Text 0 0,First,#,06_WBDHU12,humod,0,30,03_WBDHU12,humod,0,30,05_WBDHU12,humod,0,30,07_WBDHU12,humod,0,30,08_WBDHU12,humod,0,30,11_WBDHU12,humod,0,30,12_WBDHU12,humod,0,30;tohuc "tohuc" true true false 16 Text 0 0,First,#,06_WBDHU12,tohuc,0,16,03_WBDHU12,tohuc,0,16,05_WBDHU12,tohuc,0,16,07_WBDHU12,tohuc,0,16,08_WBDHU12,tohuc,0,16,11_WBDHU12,tohuc,0,16,12_WBDHU12,tohuc,0,16;noncontrib "noncontrib" true true false 24 Double 15 23,First,#,06_WBDHU12,noncontrib,-1,-1,03_WBDHU12,noncontrib,-1,-1,05_WBDHU12,noncontrib,-1,-1,07_WBDHU12,noncontrib,-1,-1,08_WBDHU12,noncontrib,-1,-1,11_WBDHU12,noncontrib,-1,-1,12_WBDHU12,noncontrib,-1,-1;noncontr_1 "noncontr_1" true true false 24 Double 15 23,First,#,06_WBDHU12,noncontr_1,-1,-1,03_WBDHU12,noncontr_1,-1,-1,05_WBDHU12,noncontr_1,-1,-1,07_WBDHU12,noncontr_1,-1,-1,08_WBDHU12,noncontr_1,-1,-1,11_WBDHU12,noncontr_1,-1,-1,12_WBDHU12,noncontr_1,-1,-1;shape_Leng "shape_Leng" true true false 24 Double 15 23,First,#,06_WBDHU12,shape_Leng,-1,-1,03_WBDHU12,shape_Leng,-1,-1,05_WBDHU12,shape_Leng,-1,-1,07_WBDHU12,shape_Leng,-1,-1,08_WBDHU12,shape_Leng,-1,-1,11_WBDHU12,shape_Leng,-1,-1,12_WBDHU12,shape_Leng,-1,-1;shape_Area "shape_Area" true true false 24 Double 15 23,First,#,06_WBDHU12,shape_Area,-1,-1,03_WBDHU12,shape_Area,-1,-1,05_WBDHU12,shape_Area,-1,-1,07_WBDHU12,shape_Area,-1,-1,08_WBDHU12,shape_Area,-1,-1,11_WBDHU12,shape_Area,-1,-1,12_WBDHU12,shape_Area,-1,-1;ObjectID "ObjectID" true true false 9 Long 0 9,First,#,06_WBDHU12,ObjectID,-1,-1,03_WBDHU12,ObjectID,-1,-1,05_WBDHU12,ObjectID,-1,-1,07_WBDHU12,ObjectID,-1,-1,08_WBDHU12,ObjectID,-1,-1,11_WBDHU12,ObjectID,-1,-1,12_WBDHU12,ObjectID,-1,-1',
    add_source="NO_SOURCE_INFO"
)

#Output contains the HUC12 units that intersect the current species distribution (IUCN)



#HUC12 Dispersal Buffer Clip

arcpy.ImportToolbox(r"C:\Users\JREIMER\AppData\Local\Temp\ArcGISProTemp12244\Tmp.tbx")
arcpy.Tmp.BatchSelectLayerByLocation(
    in_layer="06_WBDHU12;03_WBDHU12;05_WBDHU12;07_WBDHU12;08_WBDHU12;11_WBDHU12;12_WBDHU12",
    overlap_type="INTERSECT",
    select_features="Dryophytes_avivoca_Buffer_1km",
    search_distance=None,
    selection_type="NEW_SELECTION",
    invert_spatial_relationship="NOT_INVERT"
)


with arcpy.EnvManager(outputCoordinateSystem='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	arcpy.management.Merge(
    		inputs="06_WBDHU12;03_WBDHU12;05_WBDHU12;07_WBDHU12;08_WBDHU12;11_WBDHU12;12_WBDHU12",
    		output=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\DryoAvi_WBDHU12_Merge",
    field_mappings='tnmid "tnmid" true true false 40 Text 0 0,First,#,06_WBDHU12,tnmid,0,40,03_WBDHU12,tnmid,0,40,05_WBDHU12,tnmid,0,40,07_WBDHU12,tnmid,0,40,08_WBDHU12,tnmid,0,40,11_WBDHU12,tnmid,0,40,12_WBDHU12,tnmid,0,40;metasource "metasource" true true false 40 Text 0 0,First,#,06_WBDHU12,metasource,0,40,03_WBDHU12,metasource,0,40,05_WBDHU12,metasource,0,40,07_WBDHU12,metasource,0,40,08_WBDHU12,metasource,0,40,11_WBDHU12,metasource,0,40,12_WBDHU12,metasource,0,40;sourcedata "sourcedata" true true false 100 Text 0 0,First,#,06_WBDHU12,sourcedata,0,100,03_WBDHU12,sourcedata,0,100,05_WBDHU12,sourcedata,0,100,07_WBDHU12,sourcedata,0,100,08_WBDHU12,sourcedata,0,100,11_WBDHU12,sourcedata,0,100,12_WBDHU12,sourcedata,0,100;sourceorig "sourceorig" true true false 130 Text 0 0,First,#,06_WBDHU12,sourceorig,0,130,03_WBDHU12,sourceorig,0,130,05_WBDHU12,sourceorig,0,130,07_WBDHU12,sourceorig,0,130,08_WBDHU12,sourceorig,0,130,11_WBDHU12,sourceorig,0,130,12_WBDHU12,sourceorig,0,130;sourcefeat "sourcefeat" true true false 40 Text 0 0,First,#,06_WBDHU12,sourcefeat,0,40,03_WBDHU12,sourcefeat,0,40,05_WBDHU12,sourcefeat,0,40,07_WBDHU12,sourcefeat,0,40,08_WBDHU12,sourcefeat,0,40,11_WBDHU12,sourcefeat,0,40,12_WBDHU12,sourcefeat,0,40;loaddate "loaddate" true true false 8 Date 0 0,First,#,06_WBDHU12,loaddate,-1,-1,03_WBDHU12,loaddate,-1,-1,05_WBDHU12,loaddate,-1,-1,07_WBDHU12,loaddate,-1,-1,08_WBDHU12,loaddate,-1,-1,11_WBDHU12,loaddate,-1,-1,12_WBDHU12,loaddate,-1,-1;referenceg "referenceg" true true false 50 Text 0 0,First,#,06_WBDHU12,referenceg,0,50,03_WBDHU12,referenceg,0,50,05_WBDHU12,referenceg,0,50,07_WBDHU12,referenceg,0,50,08_WBDHU12,referenceg,0,50,11_WBDHU12,referenceg,0,50,12_WBDHU12,referenceg,0,50;areaacres "areaacres" true true false 24 Double 15 23,First,#,06_WBDHU12,areaacres,-1,-1,03_WBDHU12,areaacres,-1,-1,05_WBDHU12,areaacres,-1,-1,07_WBDHU12,areaacres,-1,-1,08_WBDHU12,areaacres,-1,-1,11_WBDHU12,areaacres,-1,-1,12_WBDHU12,areaacres,-1,-1;areasqkm "areasqkm" true true false 24 Double 15 23,First,#,06_WBDHU12,areasqkm,-1,-1,03_WBDHU12,areasqkm,-1,-1,05_WBDHU12,areasqkm,-1,-1,07_WBDHU12,areasqkm,-1,-1,08_WBDHU12,areasqkm,-1,-1,11_WBDHU12,areasqkm,-1,-1,12_WBDHU12,areasqkm,-1,-1;states "states" true true false 50 Text 0 0,First,#,06_WBDHU12,states,0,50,03_WBDHU12,states,0,50,05_WBDHU12,states,0,50,07_WBDHU12,states,0,50,08_WBDHU12,states,0,50,11_WBDHU12,states,0,50,12_WBDHU12,states,0,50;huc12 "huc12" true true false 12 Text 0 0,First,#,06_WBDHU12,huc12,0,12,03_WBDHU12,huc12,0,12,05_WBDHU12,huc12,0,12,07_WBDHU12,huc12,0,12,08_WBDHU12,huc12,0,12,11_WBDHU12,huc12,0,12,12_WBDHU12,huc12,0,12;name "name" true true false 120 Text 0 0,First,#,06_WBDHU12,name,0,120,03_WBDHU12,name,0,120,05_WBDHU12,name,0,120,07_WBDHU12,name,0,120,08_WBDHU12,name,0,120,11_WBDHU12,name,0,120,12_WBDHU12,name,0,120;hutype "hutype" true true false 1 Text 0 0,First,#,06_WBDHU12,hutype,0,1,03_WBDHU12,hutype,0,1,05_WBDHU12,hutype,0,1,07_WBDHU12,hutype,0,1,08_WBDHU12,hutype,0,1,11_WBDHU12,hutype,0,1,12_WBDHU12,hutype,0,1;humod "humod" true true false 30 Text 0 0,First,#,06_WBDHU12,humod,0,30,03_WBDHU12,humod,0,30,05_WBDHU12,humod,0,30,07_WBDHU12,humod,0,30,08_WBDHU12,humod,0,30,11_WBDHU12,humod,0,30,12_WBDHU12,humod,0,30;tohuc "tohuc" true true false 16 Text 0 0,First,#,06_WBDHU12,tohuc,0,16,03_WBDHU12,tohuc,0,16,05_WBDHU12,tohuc,0,16,07_WBDHU12,tohuc,0,16,08_WBDHU12,tohuc,0,16,11_WBDHU12,tohuc,0,16,12_WBDHU12,tohuc,0,16;noncontrib "noncontrib" true true false 24 Double 15 23,First,#,06_WBDHU12,noncontrib,-1,-1,03_WBDHU12,noncontrib,-1,-1,05_WBDHU12,noncontrib,-1,-1,07_WBDHU12,noncontrib,-1,-1,08_WBDHU12,noncontrib,-1,-1,11_WBDHU12,noncontrib,-1,-1,12_WBDHU12,noncontrib,-1,-1;noncontr_1 "noncontr_1" true true false 24 Double 15 23,First,#,06_WBDHU12,noncontr_1,-1,-1,03_WBDHU12,noncontr_1,-1,-1,05_WBDHU12,noncontr_1,-1,-1,07_WBDHU12,noncontr_1,-1,-1,08_WBDHU12,noncontr_1,-1,-1,11_WBDHU12,noncontr_1,-1,-1,12_WBDHU12,noncontr_1,-1,-1;shape_Leng "shape_Leng" true true false 24 Double 15 23,First,#,06_WBDHU12,shape_Leng,-1,-1,03_WBDHU12,shape_Leng,-1,-1,05_WBDHU12,shape_Leng,-1,-1,07_WBDHU12,shape_Leng,-1,-1,08_WBDHU12,shape_Leng,-1,-1,11_WBDHU12,shape_Leng,-1,-1,12_WBDHU12,shape_Leng,-1,-1;shape_Area "shape_Area" true true false 24 Double 15 23,First,#,06_WBDHU12,shape_Area,-1,-1,03_WBDHU12,shape_Area,-1,-1,05_WBDHU12,shape_Area,-1,-1,07_WBDHU12,shape_Area,-1,-1,08_WBDHU12,shape_Area,-1,-1,11_WBDHU12,shape_Area,-1,-1,12_WBDHU12,shape_Area,-1,-1;ObjectID "ObjectID" true true false 9 Long 0 9,First,#,06_WBDHU12,ObjectID,-1,-1,03_WBDHU12,ObjectID,-1,-1,05_WBDHU12,ObjectID,-1,-1,07_WBDHU12,ObjectID,-1,-1,08_WBDHU12,ObjectID,-1,-1,11_WBDHU12,ObjectID,-1,-1,12_WBDHU12,ObjectID,-1,-1',
    add_source="NO_SOURCE_INFO"
)

#Output contains the HUC12 units that intersect the maximum dispersal species buffer layer



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


#Crop Frequency Layer Preparation

#Generate con output for cotton frequency layer

with arcpy.EnvManager(outputCoordinateSystem='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):


with arcpy.EnvManager(extent='-11131485.2481157 2876256.41414741 -7239013.72004425 6445554.27901623 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
    out_raster = arcpy.sa.Con(
        in_conditional_raster="crop_frequency_cotton_2008-2023.tif",
        in_true_raster_or_constant="crop_frequency_cotton_2008-2023.tif",
        in_false_raster_or_constant=None,
        where_clause="Value >= 1 And Value < 17"
    )
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_CottonFrequencyEastUS")

#Output contains con raster with values from 1-16 based on cotton frequency


#Generate con output for corn frequency layer

with arcpy.EnvManager(extent='-11131485.2481157 2876256.41414741 -7239013.72004425 6445554.27901623 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
    out_raster = arcpy.sa.Con(
        in_conditional_raster="crop_frequency_corn_2008-2023.tif",
        in_true_raster_or_constant="crop_frequency_corn_2008-2023.tif",
        in_false_raster_or_constant=None,
        where_clause="Value >= 1 And Value < 17"
    )
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_CornFrequencyEastUS")

#Output contains con raster with values from 1-16 based on corn frequency


#Generate con output for soybeans frequency layer

with arcpy.EnvManager(extent='-11131485.2481157 2876256.41414741 -7239013.72004425 6445554.27901623 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
    out_raster = arcpy.sa.Con(
        in_conditional_raster="crop_frequency_soybeans_2008-2023.tif",
        in_true_raster_or_constant="crop_frequency_soybeans_2008-2023.tif",
        in_false_raster_or_constant=None,
        where_clause="Value >= 1 And Value < 17"
    )
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_SoybeansFrequencyEastUS")

#Output contains con raster with values from 1-16 based on soybeans frequency


#Generate con output for cultivated land frequency layer
#Note: not used in the formal analysis

with arcpy.EnvManager(extent='-11131485.2481157 2876256.41414741 -7239013.72004425 6445554.27901623 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
    out_raster = arcpy.sa.Con(
        in_conditional_raster="2023_cultivated_layer.tif",
        in_true_raster_or_constant="1",
        in_false_raster_or_constant=None,
        where_clause="Value = 2"
    )
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_CultivatedFrequencyEastUS")

#Output contains con raster with value of 1 indicating cultivated land a one point between 2019-2023


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


#biomod2 Output Preparation and Raster Calculator

#SDM - Current Distribution Model

#Clip biomod2 Raster
arcpy.management.Clip(
    in_raster="proj_Current_Dryophytes.avivoca_ensemble.img",
    rectangle="-95.1583960962029 29.6621393576453 -80.8267258945843 37.9734770491266",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\proj_Current_Dryophytes_avivoca_Clip",
    in_template_dataset="Dryophytes_avivoca",
    nodata_value="",
    clipping_geometry="ClippingGeometry",
    maintain_clipping_extent="MAINTAIN_EXTENT"
)

#clipped based on current IUCN distribution

#Convert to binary 

out_raster = arcpy.sa.Con(
    in_conditional_raster="proj_Current_Dryophytes_avivoca_Clip",
    in_true_raster_or_constant=1,
    in_false_raster_or_constant=0,
    where_clause="VALUE >= 530"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_current_Dryophytes_avivoca_binary")

#Note: 530 represents the TSS ensemble cutoff from biomod2 ensemble model output


#Project the raster into NAD1983 and resample to 30m raster cell size
arcpy.management.ProjectRaster(
    in_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_current_Dryophytes_avivoca_binary",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\CurrentDryoAvi_binary_ProjectRaster",
    out_coor_system='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]',
    resampling_type="NEAREST",
    cell_size="30 30",
    geographic_transform="WGS_1984_(ITRF00)_To_NAD_1983",
    Registration_Point=None,
    in_coor_system='GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    vertical="NO_VERTICAL"
)

#Output is SDM binary that has been resampled to 30m and projected in NAD1983


#

#Raster Calculation with Current SDM Binary
#Note: Raster calculation script may need to be rerun if there is an error due to the process timing out. Use print messages to track completed raster calculations

#Raster calculation with current SDM binary and cotton frequency


with arcpy.EnvManager(outputCoordinateSystem='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):


with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["CurrentDryoAvi_binary_ProjectRaster", "Con_CottonFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_CurrentDryoAvi_CottonFreq")

print('Raster calculation with current SDM binary and cotton frequency complete!')


#

#Raster calculation with current SDM binary and corn frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["CurrentDryoAvi_binary_ProjectRaster", "Con_CornFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_CurrentDryoAvi_CornFreq")

print('Raster calculation with current SDM binary and corn frequency complete!')


#

#Raster calculation with current SDM binary and soybeans frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):

	output_raster = arcpy.sa.RasterCalculator(["CurrentDryoAvi_binary_ProjectRaster", "Con_SoybeansFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_CurrentDryoAvi_SoybeansFreq")

print('Raster calculation with current SDM binary and soybeans frequency complete!')


#

#Raster calculation with current SDM binary and cultivated frequency
#Note: not used in the formal analysis

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["CurrentDryoAvi_binary_ProjectRaster", "Con_CultivatedFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_CurrentDryoAvi_CultivatedFreq")

print('Raster calculation with current SDM binary and cultivated frequency complete!')


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



#SDM - ssp245 Distribution Model

#Clip biomod2 Raster
arcpy.management.Clip(
    in_raster="proj_2100_ssp245_Dryophytes.avivoca_ensemble.img",
    rectangle="-95.1583960962029 29.6621393576453 -80.8267258945843 37.9734770491266",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\proj_ssp245_Dryophytes_avivoca_Clip",
    in_template_dataset="Dryophytes_avivoca_Buffer_1km",
    nodata_value="",
    clipping_geometry="ClippingGeometry",
    maintain_clipping_extent="MAINTAIN_EXTENT"
)

#Clipped based on maximum dispersal layer

#Convert to binary 

out_raster = arcpy.sa.Con(
    in_conditional_raster="proj_ssp245_Dryophytes_avivoca_Clip",
    in_true_raster_or_constant=1,
    in_false_raster_or_constant=0,
    where_clause="VALUE >= 530"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp245_Dryophytes_avivoca_binary")

#Note: 530 represents the TSS ensemble cutoff from biomod2 ensemble model output


#Project the raster into NAD1983 and resample to 30m raster cell size
arcpy.management.ProjectRaster(
    in_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp245_Dryophytes_avivoca_binary",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\ssp245DryoAvi_binary_ProjectRaster",
    out_coor_system='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]',
    resampling_type="NEAREST",
    cell_size="30 30",
    geographic_transform="WGS_1984_(ITRF00)_To_NAD_1983",
    Registration_Point=None,
    in_coor_system='GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    vertical="NO_VERTICAL"
)

#Output is SDM binary that has been resampled to 30m and projected in NAD1983

#

#Raster Calculation with ssp245 SDM Binary
#Note: Raster calculation script may need to be rerun if there is an error due to the process timing out. Use print messages to track completed raster calculations

#Raster calculation with ssp245 SDM binary and cotton frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp245DryoAvi_binary_ProjectRaster", "Con_CottonFrequencyEastUS"], ["x", "y"], "x*y")output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp245DryoAvi_CottonFreq")


print('Raster calculation with ssp245 SDM binary and cotton frequency complete!')

#

#Raster calculation with ssp245 SDM binary and corn frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp245DryoAvi_binary_ProjectRaster", "Con_CornFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp245DryoAvi_CornFreq")


print('Raster calculation with ssp245 SDM binary and corn frequency complete!')

#

#Raster calculation with ssp245 SDM binary and soybeans frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp245DryoAvi_binary_ProjectRaster", "Con_SoybeansFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp245DryoAvi_SoybeansFreq")


print('Raster calculation with ssp245 SDM binary and soybeans frequency complete!')

#

#Raster calculation with ssp245 SDM binary and cultivated frequency
#Note: not used in the formal analysis

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp245DryoAvi_binary_ProjectRaster", "Con_CultivatedFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp245DryoAvi_CultivatedFreq")


print('Raster calculation with ssp245 SDM binary and cultivated frequency complete!')


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



#SDM - ssp370 Distribution Model

#Clip biomod2 Raster
arcpy.management.Clip(
    in_raster="proj_2100_ssp370_Dryophytes.avivoca_ensemble.img",
    rectangle="-95.1583960962029 29.6621393576453 -80.8267258945843 37.9734770491266",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\proj_ssp370_Dryophytes_avivoca_Clip",
    in_template_dataset="Dryophytes_avivoca_Buffer_1km",
    nodata_value="",
    clipping_geometry="ClippingGeometry",
    maintain_clipping_extent="MAINTAIN_EXTENT"
)

#Clipped based on maximum dispersal layer

#Convert to binary 

out_raster = arcpy.sa.Con(
    in_conditional_raster="proj_ssp370_Dryophytes_avivoca_Clip",
    in_true_raster_or_constant=1,
    in_false_raster_or_constant=0,
    where_clause="VALUE >= 530"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp370_Dryophytes_avivoca_binary")

#Note: 530 represents the TSS ensemble cutoff from biomod2 ensemble model output


#Project the raster into NAD1983 and resample to 30m raster cell size
arcpy.management.ProjectRaster(
    in_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp370_Dryophytes_avivoca_binary",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\ssp370DryoAvi_binary_ProjectRaster",
    out_coor_system='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]',
    resampling_type="NEAREST",
    cell_size="30 30",
    geographic_transform="WGS_1984_(ITRF00)_To_NAD_1983",
    Registration_Point=None,
    in_coor_system='GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    vertical="NO_VERTICAL"
)

#

#Raster Calculation with ssp370 SDM Binary
#Note: Raster calculation script may need to be rerun if there is an error due to the process timing out. Use print messages to track completed raster calculations

#Raster calculation with ssp370 SDM binary and cotton frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp370DryoAvi_binary_ProjectRaster", "Con_CottonFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp370DryoAvi_CottonFreq")

print('Raster calculation with ssp370 SDM binary and cotton frequency complete!')

#

#Raster calculation with ssp370 SDM binary and corn frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp370DryoAvi_binary_ProjectRaster", "Con_CornFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp370DryoAvi_CornFreq")

print('Raster calculation with ssp370 SDM binary and corn frequency complete!')

#

#Raster calculation with ssp370 SDM binary and soybeans frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp370DryoAvi_binary_ProjectRaster", "Con_SoybeansFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp370DryoAvi_SoybeansFreq")

print('Raster calculation with ssp370 SDM binary and soybeans frequency complete!')

#

#Raster calculation with ssp370 SDM binary and cultivated frequency
#Note: not used in the formal analysis

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp370DryoAvi_binary_ProjectRaster", "Con_CultivatedFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp370DryoAvi_CultivatedFreq")

print('Raster calculation with ssp370 SDM binary and cultivated frequency complete!')


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



#SDM - ssp585 Distribution Model

#Clip biomod2 Raster
arcpy.management.Clip(
    in_raster="proj_2100_ssp585_Dryophytes.avivoca_ensemble.img",
    rectangle="-95.1583960962029 29.6621393576453 -80.8267258945843 37.9734770491266",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\proj_ssp585_Dryophytes_avivoca_Clip",
    in_template_dataset="Dryophytes_avivoca_Buffer_1km",
    nodata_value="",
    clipping_geometry="ClippingGeometry",
    maintain_clipping_extent="MAINTAIN_EXTENT"
)

#Clipped based on maximum dispersal layer

#Convert to binary 

out_raster = arcpy.sa.Con(
    in_conditional_raster="proj_ssp585_Dryophytes_avivoca_Clip",
    in_true_raster_or_constant=1,
    in_false_raster_or_constant=0,
    where_clause="VALUE >= 530"
)
out_raster.save(r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp585_Dryophytes_avivoca_binary")

#Note: 530 represents the TSS ensemble cutoff from biomod2 ensemble model output


#Project the raster into NAD1983 and resample to 30m raster cell size
arcpy.management.ProjectRaster(
    in_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\Con_proj_ssp585_Dryophytes_avivoca_binary",
    out_raster=r"E:\SpatialAnalysis\ArcGIS_PesticideAnalysis\CropHotSpotAnalysis\DryoAvi_CropHotSpotAnalysis.gdb\ssp585DryoAvi_binary_ProjectRaster",
    out_coor_system='PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]',
    resampling_type="NEAREST",
    cell_size="30 30",
    geographic_transform="WGS_1984_(ITRF00)_To_NAD_1983",
    Registration_Point=None,
    in_coor_system='GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    vertical="NO_VERTICAL"
)

#

#Raster Calculation with ssp585 SDM Binary
#Note: Raster calculation script may need to be rerun if there is an error due to the process timing out. Use print messages to track completed raster calculations

#Raster calculation with ssp585 SDM binary and cotton frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp585DryoAvi_binary_ProjectRaster", "Con_CottonFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp585DryoAvi_CottonFreq")

print('Raster calculation with ssp585 SDM binary and cotton frequency complete!')

#

#Raster calculation with ssp585 SDM binary and corn frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["WGS_1984with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp585DryoAvi_binary_ProjectRaster", "Con_CornFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp585DryoAvi_CornFreq")

print('Raster calculation with ssp585 SDM binary and corn frequency complete!')

#

#Raster calculation with ssp585 SDM binary and soybeans frequency

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp585DryoAvi_binary_ProjectRaster", "Con_SoybeansFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp585DryoAvi_SoybeansFreq")

print('Raster calculation with ssp585 SDM binary and soybeans frequency complete!')

#

#Raster calculation with ssp585 SDM binary and cultivated frequency
#Note: not used in the formal analysis

with arcpy.EnvManager(extent='-10614787.2303579 3444089.87283375 -8975433.53245331 4600656.94976704 PROJCS["NAD_1983_Contiguous_USA_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["Latitude_Of_Origin",23.0],UNIT["Meter",1.0]]'):
	output_raster = arcpy.sa.RasterCalculator(["ssp370DryoAvi_binary_ProjectRaster", "Con_CultivatedFrequencyEastUS"], ["x", "y"], "x*y")
output_raster.save(r"e:\spatialanalysis\arcgis_pesticideanalysis\crophotspotanalysis\DryoAvi_CropHotSpotAnalysis.gdb\RastCalc_ssp585DryoAvi_CultivatedFreq")

print('Raster calculation with ssp585 SDM binary and cultivated frequency complete!')












