# -*- coding: utf-8 -*-
"""
Generated by ArcGIS ModelBuilder on : 2020-10-19 13:04:32
"""
import arcpy
from sys import argv

def ImportandClipDPM(Source_Layer_Local_or_Remote_="External Data Sources\\US\\Leveed Areas (NLD2_PUBLIC)", Fields=[["LITREF", "'US Army Corps of Engineers (2020) National Levee Database. levees.sec.usace.army.mil'"], ["URL", "'https://levees.sec.usace.army.mil/'"], ["DOI", "null"], ["DataQuality", "'A'"]]):  # ImportandClipDPM

    # To allow overwriting outputs change overwriteOutput option to True.
    arcpy.env.overwriteOutput = False

    # Model Environment settings
    with arcpy.EnvManager(cartographicCoordinateSystem="GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]", geographicTransformations="NAD_1983_To_WGS_1984_5", outputCoordinateSystem="GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]"):
        Delta_Polygons = "Delta Polygons"
        Delta_Polygons_2_ = "Delta Polygons"
        Delta_Database_2_ = "Delta Database"
        Field_Map = "REFERENCE \"REFERENCE\" true true false 300 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,LEVEED_ID,0,300;NAME \"NAME\" true true false 50 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,FEATURE_NAME,0,50;URL \"URL\" true true false 300 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,URL,0,300;LITREF \"LITREF\" true true false 300 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,LITREF,0,300;PolygonID \"PolygonID\" true true false 2 Short 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,TARGET_FID,-1,-1;DataQuality \"DataQuality\" true true false 255 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin,DataQuality,0,255"

        # Process: Buffer (Buffer) (analysis)
        Polygons_Boundary = "C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\Polygons_Boundary"
        arcpy.analysis.Buffer(in_features=Delta_Polygons, out_feature_class=Polygons_Boundary, buffer_distance_or_field="100 Kilometers", line_side="FULL", line_end_type="ROUND", dissolve_option="ALL", dissolve_field=[], method="PLANAR")

        # Process: Clip (Clip) (analysis)
        DPM_Clipped = "C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped"
        with arcpy.EnvManager(extent=Source_Layer_Local_or_Remote_):
            arcpy.analysis.Clip(in_features=Source_Layer_Local_or_Remote_, clip_features=Polygons_Boundary, out_feature_class=DPM_Clipped, cluster_tolerance="")

        # Process: Repair Geometry (Repair Geometry) (management)
        Repaired_Input_Features = arcpy.management.RepairGeometry(in_features=DPM_Clipped, delete_null="DELETE_NULL", validation_method="ESRI")[0]

        # Process: Spatial Join (Spatial Join) (analysis)
        DPM_Clipped_SpatialJoin = "C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped_SpatialJoin"
        arcpy.analysis.SpatialJoin(target_features=Repaired_Input_Features, join_features=Delta_Polygons_2_, out_feature_class=DPM_Clipped_SpatialJoin, join_operation="JOIN_ONE_TO_ONE", join_type="KEEP_ALL", field_mapping="COMPUTED_SOURCE_DATE \"COMPUTED_SOURCE_DATE\" true true false 8 Date 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,COMPUTED_SOURCE_DATE,-1,-1;COMPUTED_SOURCE \"COMPUTED_SOURCE\" true true false 100 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,COMPUTED_SOURCE,0,100;EGRESS_NUMBER \"EGRESS_NUMBER\" true true false 0 Long 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,EGRESS_NUMBER,-1,-1;EVACUATION_PLAN_IND \"EVACUATION_PLAN_IND\" true true false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,EVACUATION_PLAN_IND,-1,-1;FC_SYSTEM_ID \"FC_SYSTEM_ID\" true true false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,FC_SYSTEM_ID,-1,-1;FEATURE_NAME \"FEATURE_NAME\" true true false 50 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,FEATURE_NAME,0,50;LEVEE_STATION_CODE \"LEVEE_STATION_CODE\" true true false 20 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,LEVEE_STATION_CODE,0,20;LEVEED_AREA_SOURCE \"LEVEED_AREA_SOURCE\" true true false 100 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,LEVEED_AREA_SOURCE,0,100;LEVEED_ID \"LEVEED_ID\" true false false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,LEVEED_ID,-1,-1;MIN_OVERTOP_EVENT \"MIN_OVERTOP_EVENT\" true true false 20 Text 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,MIN_OVERTOP_EVENT,0,20;WARN_IND \"WARN_IND\" true true false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,WARN_IND,-1,-1;SE_ANNO_CAD_DATA \"SE_ANNO_CAD_DATA\" true true false 0 Blob 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,SE_ANNO_CAD_DATA,-1,-1;Shape__Area \"SHAPE.AREA\" true false false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,Shape__Area,-1,-1;Shape__Length \"SHAPE.LEN\" true false false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,Shape__Length,-1,-1;SHAPE_length \"SHAPE_length\" true true false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,SHAPE_Length,-1,-1;SHAPE_area \"SHAPE_area\" true true false 0 Double 0 0,First,#,C:\\Users\\6678513\\Universiteit Utrecht\\WCFD Seed Money Project Future sedimentation strategies - Documents\\Guided research Joey\\DeltaDatabase\\DeltaProtectionDatabase.gdb\\DPM_Clipped,SHAPE_Area,-1,-1;ID \"PolygonID\" true true false 8 Double 0 0,First,#,Delta Polygons,ID,-1,-1;BasinID2 \"BasinID2\" true true false 8 Double 0 0,First,#,Delta Polygons,BasinID2,-1,-1;Shape_Length_1 \"Shape_Length\" false true true 8 Double 0 0,First,#,Delta Polygons,Shape_Length,-1,-1;Shape_Area_1 \"Shape_Area\" false true true 8 Double 0 0,First,#,Delta Polygons,Shape_Area,-1,-1", match_option="CLOSEST", search_radius="50 Kilometers", distance_field_name="")

        # Process: Add Fields (multiple) (Add Fields (multiple)) (management)
        DPM_Clipped_SpatialJoin_2_ = arcpy.management.AddFields(in_table=DPM_Clipped_SpatialJoin, field_description=[["LITREF", "TEXT", "", "300", "", ""], ["URL", "TEXT", "", "300", "", ""], ["DOI", "TEXT", "", "50", "", ""], ["DataQuality", "TEXT", "", "1", "", ""]])[0]

        # Process: Calculate Fields (multiple) (Calculate Fields (multiple)) (management)
        DPM_Clipped_SpatialJoin_4_ = arcpy.management.CalculateFields(in_table=DPM_Clipped_SpatialJoin_2_, expression_type="ARCADE", fields=Fields, code_block="")[0]

        # Process: Append (Append) (management)
        Delta_Database = arcpy.management.Append(inputs=[DPM_Clipped_SpatialJoin_4_], target=Delta_Database_2_, schema_type="NO_TEST", field_mapping=Field_Map, subtype="", expression="")[0]

if __name__ == '__main__':
    # Global Environment settings
    with arcpy.EnvManager(scratchWorkspace=r"C:\Users\6678513\Universiteit Utrecht\WCFD Seed Money Project Future sedimentation strategies - Documents\Guided research Joey\DeltaDatabase\DeltaProtectionDatabase.gdb", workspace=r"C:\Users\6678513\Universiteit Utrecht\WCFD Seed Money Project Future sedimentation strategies - Documents\Guided research Joey\DeltaDatabase\DeltaProtectionDatabase.gdb"):
        ImportandClipDPM(*argv[1:])
