Esempio n. 1
0
def DeleteDeletedRows(FMIS_DEL, FMIS_LOAD):
    #delete rows from the FMIS table programmed to be deleted according to the CPMS view
    MakeTableView_management(FMIS_DEL, "RowstoDelete")
    MakeTableView_management(FMIS_LOAD, "DeleteThese")
    delcount = GetCount(FMIS_DEL)
    #delete rows from SDE CIIMS that are removed from CANSYS CIIMS
    #search cursor to match the crossing ID in the delete view
    SetLogHistory(False)
    DeleteList = []
    with da.SearchCursor("RowstoDelete",
                         "PROJECT_NUMBER") as delcur:  # @UndefinedVariable
        for row in delcur:
            DelXID = ("{0}".format(row[0]))
            DeleteList.append(DelXID)
    print "list completed"
    for record in DeleteList:
        #print DelXID + " is being deleted from the FMIS table"
        #add the the crossing ID for the row to be deleted to a selection set
        delsel = "PROJECT_NUMBER LIKE '%s'" % record
        #print delsel
        SelectLayerByAttribute_management("DeleteThese", "ADD_TO_SELECTION",
                                          delsel)
    #delete the selected rows
    DeleteRows_management("DeleteThese")
    del FMIS_DEL, FMIS_LOAD, delsel
    print "Delete function completed"
Esempio n. 2
0
def CITY ():
    itemname = "CITY"
    cantbl = itemname+"_ln_1"
    
    domname0 = 'CITY_TYPE'
    domstate = """IAL_DOMAIN = 'CITY_TYPE' AND IAL_END_DATE is NULL"""
    domfields = "CT_CITY_NBRR_INCORPORATED_CITY"
    domtbl = itemname+"_"+domfields
    disfields = domfields
    
    domname = "CT_CITY_NBR"
  
    MakeTableView_management("Database Connections/ATLASPROD.odc/V_NM_CTY",domname)
    TableToTable_conversion(domname, wsouttbl, domname+"R", "#")
    MakeTableView_management(wsouttbl+"//"+cantbl,itemname+"PD",""""NE_OWNER" IN ( 'EB' , 'NB' )""","#")
    DissolveRouteEvents_lr(itemname+"PD","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile", "CITY_NBR", wsouttbl+"//"+itemname+"_SD","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile","CONCATENATE","INDEX")
    AddIndex_management(wsouttbl+"//"+itemname+"_SD","CITY_NBR","CITY_NBR","NON_UNIQUE","NON_ASCENDING")
    AddField_management(wsouttbl+"//"+domname+"R", "CITY_NBR", "FLOAT", "#", "#", "#")
    CalculateField_management(wsouttbl+"//"+domname+"R", "CITY_NBR", "[CITY_NUMBER]", "VB")
    MakeTableView_management(wsouttbl+"//"+itemname+"_SD", itemname+"_view", "#")
    AddJoin_management(itemname+"_view", "CITY_NBR", wsouttbl+"//"+domname+"R", "CITY_NBR", "KEEP_ALL")
    TableToTable_conversion(itemname+"_view", wsouttbl, itemname+"_EVENT", "#")
    
    AssignDomainToField_management(wsouttbl+"//"+itemname+"_EVENT",domfields,domname0)
    
    DeleteField_management(wsouttbl+"//"+itemname+"_EVENT","CTYR_OBJECTID;CTYR_IIT_NE_ID;CTYR_IIT_INV_TYPE;CTYR_IIT_PRIMARY_KEY;CTYR_IIT_START_DATE;CTYR_IIT_DATE_CREATED;CTYR_IIT_DATE_MODIFIED;CTYR_IIT_CREATED_BY;CTYR_IIT_MODIFIED_BY;CTYR_IIT_ADMIN_UNIT;CTYR_IIT_NOTE;CTYR_IIT_PEO_INVENT_BY_ID;CTYR_NAU_UNIT_CODE;CTYR_IIT_END_DATE;CTYR_CITY_NBR")
    MakeRouteEventLayer_lr(wsouttbl+"//SMLRS","LRS_ROUTE",wsouttbl+"//"+itemname+"_EVENT","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile",itemname+"_ITEM","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    FeatureClassToFeatureClass_conversion(itemname+"_ITEM", wsouttbl, itemname)
    DeleteField_management(wsouttbl+"//"+itemname,"CTYR_OBJECTID;CTYR_IIT_NE_ID;CTYR_IIT_INV_TYPE;CTYR_IIT_PRIMARY_KEY;CTYR_IIT_START_DATE;CTYR_IIT_DATE_CREATED;CTYR_IIT_DATE_MODIFIED;CTYR_IIT_CREATED_BY;CTYR_IIT_MODIFIED_BY;CTYR_IIT_ADMIN_UNIT;CTYR_IIT_NOTE;CTYR_IIT_PEO_INVENT_BY_ID;CTYR_NAU_UNIT_CODE;CTYR_IIT_END_DATE;CTYR_CITY_NBR")
    print "we have cities"
Esempio n. 3
0
def modeler(ShapeFileDate):
    env.workspace = repo
    filename1 = repo + r"/" + ShapeFileDate
    SourceFileTxt = str(ShapeFileDate.replace("-", "_"))
    print "modeling the data schema"
    if Exists(filename1):
        Generalize_edit(filename1, "60 Feet")
        AddIndex_management(filename1, "PRMT_ID", "", "NON_UNIQUE",
                            "NON_ASCENDING")
        AddField_management(filename1, "SourceFile", "TEXT")
        AddField_management(filename1, "Tonnage", "Double")
        AddField_management(filename1, "WidthFt", "Double")
        AddField_management(filename1, "HeightFt", "Double")
        AddField_management(filename1, "LengthFt", "Double")
        MakeTableView_management(filename1, "Ton_Calc", "#", "#", "#")
        CalculateField_management("Ton_Calc", "SourceFile",
                                  "'" + SourceFileTxt + "'", "PYTHON_9.3", "#")
        CalculateField_management("Ton_Calc", "Tonnage", "40", "PYTHON_9.3",
                                  "#")
        CalculateField_management("Ton_Calc", "LengthFt",
                                  "Round([LENGTH] /12,2)", "VB", "#")
        CalculateField_management("Ton_Calc", "HeightFt",
                                  "Round([HEIGHT] /12,2)", "VB", "#")
        CalculateField_management("Ton_Calc", "WidthFt",
                                  "Round([WIDTH] /12,2)", "VB", "#")
        MakeTableView_management(filename1, "ActualTon_Calc",
                                 """"GVW" >80000""", "#", "#")
        CalculateField_management("ActualTon_Calc", "Tonnage", "!GVW!/2000",
                                  "PYTHON_9.3", "#")
Esempio n. 4
0
def setupEnv():
    print "run at "+ str(datetime.datetime.now())
    rsel = "ENDDATE IS NULL"
    MakeTableView_management(resolve, "CCL_Resolution_tbl", rsel)
    CalculateField_management("CCL_Resolution_tbl", "CCL_LRS",  'str(!CITYNUMBER!)+str(!LRS_KEY![3:14])', "PYTHON" )
    MakeTableView_management(connection1+"CCL_Resolution", "CCL_Resolution_tbl10", 'CITYNUMBER<100')
    CalculateField_management("CCL_Resolution_tbl10", "CCL_LRS", '"0"+str(!CITYNUMBER!)+str(!LRS_KEY![3:14])', "PYTHON")
    MakeFeatureLayer_management(cntyroutelyr, "cmlrs")
    MakeFeatureLayer_management(stateroutelyr, "smlrs")
    MakeFeatureLayer_management(citylimits, "CityLimits", "TYPE IN ( 'CS', 'ON')")
    LocateFeaturesAlongRoutes_lr(citylimits,"cmlrs","LRS_KEY","0 Feet",connection1+"GIS_CITY","LRS_KEY LINE Beg_CMP End_CMP","FIRST","DISTANCE","NO_ZERO","FIELDS","M_DIRECTON")
    MakeRouteEventLayer_lr("cmlrs","LRS_KEY","CCL_Resolution_tbl","LRS_KEY LINE BEG_CNTY_LOGMILE END_CNTY_LOGMILE","City_Connecting_Links","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    MakeTableView_management(connection1+"GIS_CITY", "GIS_CITY")
    MakeTableView_management(laneclass, "LaneClass")
    MakeRouteEventLayer_lr("cmlrs","LRS_KEY","GIS_CITY","LRS_KEY LINE BEG_CMP END_CMP","GIS_BASED_CCL","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    OverlayRouteEvents_lr(connection1+"CCL_Resolution","LRS_KEY LINE BEG_CNTY_LOGMILE END_CNTY_LOGMILE",laneclass,"LRS_KEY LINE BCMP ECMP","INTERSECT",connection1+"CCL_LANE_CLASS_OVERLAY","LRS_KEY LINE BEG_CNTY_LOGMILE END_CNTY_LOGMILE","NO_ZERO","FIELDS","INDEX")
    print "create Route Layer specific to City Connecting Link locations"    
    FeatureClassToFeatureClass_conversion("City_Connecting_Links", connection0, "CITY_CONNECTING_LINK_CENTERLINE")
    LocateFeaturesAlongRoutes_lr(connection1+"CITY_CONNECTING_LINK_CENTERLINE",stateroutelyr,"LRS_ROUTE","0 Meters",connection1+"CCL_STATE_LRS_tbl","LRS_ROUTE LINE BEG_STATE_LOGMILE END_STATE_LOGMILE","FIRST","DISTANCE","ZERO","FIELDS","M_DIRECTON")
    MakeRouteEventLayer_lr("smlrs", "LRS_ROUTE",connection1+"CCL_STATE_LRS_tbl","LRS_ROUTE LINE BEG_STATE_LOGMILE END_STATE_LOGMILE","CCL_STATE_LRS","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    FeatureClassToFeatureClass_conversion("CCL_STATE_LRS", connection0, "CITY_CONNECTING_LINK_STATEREF")
    if Exists(connection1+"CITY_CONNECTING_LINK_STATE"):
        Delete_management(connection1+"CITY_CONNECTING_LINK_STATE")
    Dissolve_management(connection1+"CITY_CONNECTING_LINK_STATEREF",connection1+"CITY_CONNECTING_LINK_STATE","LRS_ROUTE;CITY;CITYNUMBER;DESCRIPTION;CCL_LRS","BEG_STATE_LOGMILE MIN;END_STATE_LOGMILE MAX","MULTI_PART","UNSPLIT_LINES")
    Dissolve_management(connection1+"CITY_CONNECTING_LINK_STATEREF",connection1+"CITY_CONNECTING_LINK_STATE_D","CCL_LRS","BEG_STATE_LOGMILE MIN;END_STATE_LOGMILE MAX","MULTI_PART","DISSOLVE_LINES")
    
    print "processes to Create the layer that will be used to create a new LRS for city connecting links"
Esempio n. 5
0
def ProjDelete(
):  #delete rows from the FMIS load table that are about to be processed
    delcount = GetCount_management(
        r'Database Connections\CANT_CPMS.sde\CPMS.CPMS_FMIS_GIS_DEL_ROWS')
    print str(delcount) + " records to delete"
    deletelist = list()
    if delcount == 0:
        print "no records to delete, ending"
        pass
    else:
        MakeTableView_management(FMIS_LOAD, "FMIS_TABLE")
        MakeTableView_management(deltbl, "deletes")
        with da.SearchCursor(deltbl,
                             "PROJECT_NUMBER") as delcur:  # @UndefinedVariable
            for row in delcur:
                DelXID = ("{0}".format(row[0]))
                #print DelXID + " is being deleted from the FMIS table"
                #AddJoin_management(layer_name,"CROSSINGID", deltbl, "CROSSINGID", "KEEP_ALL")
                #delsel = "PROJECT_NUMBER LIKE '"+DelXID+"'"
                #print delsel
                deletelist.append(DelXID)
                #SelectLayerByAttribute_management("FMIS_TABLE","ADD_TO_SELECTION", delsel)
        #print str(deletelist)
        delsel = "PROJECT_NUMBER IN " + str(deletelist)
        #for ProjectNumber in deletelist:
        print delsel

        SelectLayerByAttribute_management("FMIS_TABLE", "NEW_SELECTION",
                                          delsel)
        #DeleteRows_management("FMIS_TABLE")
    print "Delete function completed"
Esempio n. 6
0
def LoadMonthlyStats(ShapeFileDate):
    env.overwriteOutput = 1
    SourceFileFGB = str(ShapeFileDate[12:-4].replace("-", ""))
    SourceFileINT = SourceFileFGB[2:6] + SourceFileFGB[0:2]
    infileMonthly = "in_memory\LRS" + SourceFileFGB
    IntersectionMonthly = "in_memory\IntptKTRIPS" + SourceFileINT
    SourceFileTxt = str(ShapeFileDate[:-4].replace("-", "_"))
    MakeTableView_management(infileMonthly, "AppendCheckMo", "#", "#", "#")
    #Config this
    enterpriseDBMonthly = gdb + "\KTRIPS.SDE.KTRIPS_MonthlySum"
    #enterpriseDBMonthly = gdb+r"\INTERMODAL.DBO.KTRIPS_MonthlySum"
    #inputfc = r"C:\input.shp"
    outputView = "AppendCheckMonthly"
    fieldname = "SourceFile"
    fieldvalue = SourceFileTxt
    whereclause = str(
        BuildWhereClause(enterpriseDBMonthly, fieldname, fieldvalue))
    MakeTableView_management(enterpriseDBMonthly, outputView, whereclause)
    recordsTest = str(GetCount_management(outputView))
    if recordsTest == '0':
        print recordsTest + " of these records existed and will be appended right now"
        Append_management(infileMonthly,
                          enterpriseDBMonthly,
                          schema_type="NO_TEST",
                          field_mapping="#",
                          subtype="")
        Append_management(IntersectionMonthly,
                          enterpriseDBMonthly + "Intr",
                          schema_type="NO_TEST",
                          field_mapping="#",
                          subtype="")
    else:
        print recordsTest + " records already have been appended"
Esempio n. 7
0
def INTR ():
    TableToTable_conversion("INTR_pt_1",wsouttbl,"INTR_pt_2","#","""LRS_KEY "LRS_KEY" true true false 13 Text 0 0 ,First,#,INTR_pt_1,LRS_KEY,-1,-1;Cnty_Logmile "Cnty_Logmile" true true false 8 Double 0 0 ,First,#,INTR_pt_1,Cnty_Logmile,-1,-1;Distance "Distance" true true false 8 Double 0 0 ,First,#,INTR_pt_1,Distance,-1,-1;IIT_NE_ID "IIT_NE_ID" true false false 4 Long 0 0 ,First,#,INTR_pt_1,IIT_NE_ID,-1,-1;IIT_INV_TYPE "IIT_INV_TYPE" true false false 4 Text 0 0 ,First,#,INTR_pt_1,IIT_INV_TYPE,-1,-1;IIT_PRIMARY_KEY "IIT_PRIMARY_KEY" true false false 50 Text 0 0 ,First,#,INTR_pt_1,IIT_PRIMARY_KEY,-1,-1;IIT_START_DATE "IIT_START_DATE" true false false 8 Date 0 0 ,First,#,INTR_pt_1,IIT_START_DATE,-1,-1;IIT_DATE_CREATED "IIT_DATE_CREATED" true false false 8 Date 0 0 ,First,#,INTR_pt_1,IIT_DATE_CREATED,-1,-1;IIT_DATE_MODIFIED "IIT_DATE_MODIFIED" true false false 8 Date 0 0 ,First,#,INTR_pt_1,IIT_DATE_MODIFIED,-1,-1;IIT_CREATED_BY "IIT_CREATED_BY" true false false 30 Text 0 0 ,First,#,INTR_pt_1,IIT_CREATED_BY,-1,-1;IIT_MODIFIED_BY "IIT_MODIFIED_BY" true false false 30 Text 0 0 ,First,#,INTR_pt_1,IIT_MODIFIED_BY,-1,-1;IIT_ADMIN_UNIT "IIT_ADMIN_UNIT" true false false 4 Long 0 0 ,First,#,INTR_pt_1,IIT_ADMIN_UNIT,-1,-1;IIT_DESCR "IIT_DESCR" true true false 40 Text 0 0 ,First,#,INTR_pt_1,IIT_DESCR,-1,-1;IIT_NOTE "IIT_NOTE" true true false 40 Text 0 0 ,First,#,INTR_pt_1,IIT_NOTE,-1,-1;IIT_PEO_INVENT_BY_ID "IIT_PEO_INVENT_BY_ID" true true false 4 Long 0 0 ,First,#,INTR_pt_1,IIT_PEO_INVENT_BY_ID,-1,-1;NAU_UNIT_CODE "NAU_UNIT_CODE" true true false 10 Text 0 0 ,First,#,INTR_pt_1,NAU_UNIT_CODE,-1,-1;IIT_END_DATE "IIT_END_DATE" true true false 8 Date 0 0 ,First,#,INTR_pt_1,IIT_END_DATE,-1,-1;INTRSCTN_NAME "INTRSCTN_NAME" true true false 50 Text 0 0 ,First,#,INTR_pt_1,INTRSCTN_NAME,-1,-1;ON_STATE_NONSTATE "ON_STATE_NONSTATE" true true false 16 Text 0 0 ,First,#,INTR_pt_1,ON_STATE_NONSTATE,-1,-1;INTRSCTN_DESC "INTRSCTN_DESC" true true false 200 Text 0 0 ,First,#,INTR_pt_1,INTRSCTN_DESC,-1,-1;INTRSCTN_ID "INTRSCTN_ID" true false false 50 Text 0 0 ,First,#,INTR_pt_1,INTRSCTN_ID,-1,-1;TFO_IND "TFO_IND" true true false 1 Text 0 0 ,First,#,INTR_pt_1,TFO_IND,-1,-1;CART_NODE_ID "CART_NODE_ID" true true false 4 Long 0 0 ,First,#,INTR_pt_1,CART_NODE_ID,-1,-1;LEFT_TURN_LN "LEFT_TURN_LN" true true false 4 Long 0 0 ,First,#,INTR_pt_1,LEFT_TURN_LN,-1,-1;RIGHT_TURN_LN "RIGHT_TURN_LN" true true false 4 Long 0 0 ,First,#,INTR_pt_1,RIGHT_TURN_LN,-1,-1;INTERSECTION_CONTROL "INTERSECTION_CONTROL" true true false 4 Long 0 0 ,First,#,INTR_pt_1,INTERSECTION_CONTROL,-1,-1;PER_GREEN_TIME "PER_GREEN_TIME" true true false 4 Double 0 0 ,First,#,INTR_pt_1,PER_GREEN_TIME,-1,-1;LONGITUDE "LONGITUDE" true true false 4 Float 0 0 ,First,#,INTR_pt_1,LONGITUDE,-1,-1;LATITUDE "LATITUDE" true true false 4 Float 0 0 ,First,#,INTR_pt_1,LATITUDE,-1,-1;NM_NE_ID_IN "NM_NE_ID_IN" true false false 4 Long 0 0 ,First,#,INTR_pt_1,NM_NE_ID_IN,-1,-1;NM_NE_ID_OF "NM_NE_ID_OF" true false false 4 Long 0 0 ,First,#,INTR_pt_1,NM_NE_ID_OF,-1,-1;NM_TYPE "NM_TYPE" true false false 4 Text 0 0 ,First,#,INTR_pt_1,NM_TYPE,-1,-1;NM_OBJ_TYPE "NM_OBJ_TYPE" true false false 4 Text 0 0 ,First,#,INTR_pt_1,NM_OBJ_TYPE,-1,-1;NM_BEGIN_MP "NM_BEGIN_MP" true false false 8 Double 0 0 ,First,#,INTR_pt_1,NM_BEGIN_MP,-1,-1;NM_START_DATE "NM_START_DATE" true false false 8 Date 0 0 ,First,#,INTR_pt_1,NM_START_DATE,-1,-1;NM_END_DATE "NM_END_DATE" true true false 8 Date 0 0 ,First,#,INTR_pt_1,NM_END_DATE,-1,-1;NM_END_MP "NM_END_MP" true false false 8 Double 0 0 ,First,#,INTR_pt_1,NM_END_MP,-1,-1;NM_SLK "NM_SLK" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_SLK,-1,-1;NM_CARDINALITY "NM_CARDINALITY" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_CARDINALITY,-1,-1;NM_ADMIN_UNIT "NM_ADMIN_UNIT" true false false 4 Long 0 0 ,First,#,INTR_pt_1,NM_ADMIN_UNIT,-1,-1;NM_DATE_CREATED "NM_DATE_CREATED" true true false 8 Date 0 0 ,First,#,INTR_pt_1,NM_DATE_CREATED,-1,-1;NM_DATE_MODIFIED "NM_DATE_MODIFIED" true true false 8 Date 0 0 ,First,#,INTR_pt_1,NM_DATE_MODIFIED,-1,-1;NM_MODIFIED_BY "NM_MODIFIED_BY" true true false 30 Text 0 0 ,First,#,INTR_pt_1,NM_MODIFIED_BY,-1,-1;NM_CREATED_BY "NM_CREATED_BY" true true false 30 Text 0 0 ,First,#,INTR_pt_1,NM_CREATED_BY,-1,-1;NM_SEQ_NO "NM_SEQ_NO" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_SEQ_NO,-1,-1;NM_SEG_NO "NM_SEG_NO" true true false 4 Long 0 0 ,First,#,INTR_pt_1,NM_SEG_NO,-1,-1;NM_TRUE "NM_TRUE" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_TRUE,-1,-1;NM_END_SLK "NM_END_SLK" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_END_SLK,-1,-1;NM_END_TRUE "NM_END_TRUE" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NM_END_TRUE,-1,-1;NE_ID "NE_ID" true false false 4 Long 0 0 ,First,#,INTR_pt_1,NE_ID,-1,-1;NE_UNIQUE "NE_UNIQUE" true false false 30 Text 0 0 ,First,#,INTR_pt_1,NE_UNIQUE,-1,-1;NE_TYPE "NE_TYPE" true false false 4 Text 0 0 ,First,#,INTR_pt_1,NE_TYPE,-1,-1;NE_NT_TYPE "NE_NT_TYPE" true false false 4 Text 0 0 ,First,#,INTR_pt_1,NE_NT_TYPE,-1,-1;NE_DESCR "NE_DESCR" true false false 240 Text 0 0 ,First,#,INTR_pt_1,NE_DESCR,-1,-1;NE_LENGTH "NE_LENGTH" true true false 8 Double 0 0 ,First,#,INTR_pt_1,NE_LENGTH,-1,-1;NE_ADMIN_UNIT "NE_ADMIN_UNIT" true false false 4 Long 0 0 ,First,#,INTR_pt_1,NE_ADMIN_UNIT,-1,-1;NE_DATE_CREATED "NE_DATE_CREATED" true false false 8 Date 0 0 ,First,#,INTR_pt_1,NE_DATE_CREATED,-1,-1;NE_DATE_MODIFIED "NE_DATE_MODIFIED" true false false 8 Date 0 0 ,First,#,INTR_pt_1,NE_DATE_MODIFIED,-1,-1;NE_MODIFIED_BY "NE_MODIFIED_BY" true false false 30 Text 0 0 ,First,#,INTR_pt_1,NE_MODIFIED_BY,-1,-1;NE_CREATED_BY "NE_CREATED_BY" true false false 30 Text 0 0 ,First,#,INTR_pt_1,NE_CREATED_BY,-1,-1;NE_START_DATE "NE_START_DATE" true false false 8 Date 0 0 ,First,#,INTR_pt_1,NE_START_DATE,-1,-1;NE_END_DATE "NE_END_DATE" true true false 8 Date 0 0 ,First,#,INTR_pt_1,NE_END_DATE,-1,-1;NE_GTY_GROUP_TYPE "NE_GTY_GROUP_TYPE" true true false 4 Text 0 0 ,First,#,INTR_pt_1,NE_GTY_GROUP_TYPE,-1,-1;NE_OWNER "NE_OWNER" true true false 4 Text 0 0 ,First,#,INTR_pt_1,NE_OWNER,-1,-1;NE_NAME_1 "NE_NAME_1" true true false 80 Text 0 0 ,First,#,INTR_pt_1,NE_NAME_1,-1,-1;NE_NAME_2 "NE_NAME_2" true true false 80 Text 0 0 ,First,#,INTR_pt_1,NE_NAME_2,-1,-1;NE_PREFIX "NE_PREFIX" true true false 4 Text 0 0 ,First,#,INTR_pt_1,NE_PREFIX,-1,-1;NE_NUMBER "NE_NUMBER" true true false 8 Text 0 0 ,First,#,INTR_pt_1,NE_NUMBER,-1,-1;NE_SUB_TYPE "NE_SUB_TYPE" true true false 2 Text 0 0 ,First,#,INTR_pt_1,NE_SUB_TYPE,-1,-1;NE_GROUP "NE_GROUP" true true false 30 Text 0 0 ,First,#,INTR_pt_1,NE_GROUP,-1,-1;NE_NO_START "NE_NO_START" true true false 4 Long 0 0 ,First,#,INTR_pt_1,NE_NO_START,-1,-1;NE_NO_END "NE_NO_END" true true false 4 Long 0 0 ,First,#,INTR_pt_1,NE_NO_END,-1,-1;NE_SUB_CLASS "NE_SUB_CLASS" true true false 4 Text 0 0 ,First,#,INTR_pt_1,NE_SUB_CLASS,-1,-1;NE_NSG_REF "NE_NSG_REF" true true false 240 Text 0 0 ,First,#,INTR_pt_1,NE_NSG_REF,-1,-1;NE_VERSION_NO "NE_VERSION_NO" true true false 240 Text 0 0 ,First,#,INTR_pt_1,NE_VERSION_NO,-1,-1""","#")

#convert EXOR domains to SDE Database domains - intersection type
    itemname = 'INTR'
    itemdom = 'IN_INTRSCTN_TYPE'  #IN INTRSCTN_TYPE, TURN_LANE
    newdomname = 'INTRSCTN_TYPE'
    itemsel = """"IAL_DOMAIN" = '"""+itemdom+"'"
    itemdescr = 'Intersection Type'
    
    #convert EXOR domains to SDE Database domains - turn lanes type
    itemdom1 = 'TURN_LANE'  #IN INTRSCTN_TYPE, TURN_LANE
    newdomname1 = 'INTERSECTION_TURN_LANE'
    itemsel1 = """"IAL_DOMAIN" = '"""+itemdom1+"'"
    itemdescr1 = 'Turn Lane Type'
    
    MakeTableView_management(itemname+"_pt_2", itemname+"PD","#","#") 
    print ("Intersections are located on a directional basis in some cases, so primary and secondary directions are allowed until advised differently")
    
    DissolveRouteEvents_lr(itemname+"PD","LRS_Key POINT Cnty_Logmile","IIT_NE_ID;INTRSCTN_NAME;ON_STATE_NONSTATE;INTRSCTN_DESC;INTRSCTN_ID;TFO_IND;CART_NODE_ID;LEFT_TURN_LN;RIGHT_TURN_LN;INTERSECTION_CONTROL;PER_GREEN_TIME;NE_OWNER",wsouttbl+"//"+itemname+"_EVENT","LRS_Key POINT Cnty_Logmile","DISSOLVE","INDEX")
    AssignDomainToField_management(itemname+"_EVENT","INTERSECTION_CONTROL",itemdom)
    AssignDomainToField_management(itemname+"_EVENT","LEFT_TURN_LN",itemdom1)
    AssignDomainToField_management(itemname+"_EVENT","RIGHT_TURN_LN",itemdom1)
    MakeRouteEventLayer_lr("CMLRS","LRS_KEY",itemname+"_EVENT","LRS_Key POINT Cnty_Logmile",itemname+"_ITEM","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    #arcpy.FeatureClassToFeatureClass_conversion(itemname+"_ITEM", wsouttbl, itemname)
    
    lyrlist = ["INTR"]
    for lyr in lyrlist:
        lyrin = lyr+"_ITEM"#    
        FeatureClassToFeatureClass_conversion(lyrin, ws+"\\"+tempgdb,lyr) #23 sec
Esempio n. 8
0
def AddInsert(fc, layer_name, newtbl, workspace):
    MakeTableView_management(newtbl, "NEWROWS_View", "#", "#", "#")
    addcount = int(GetCount_management("NEWROWS_View").getOutput(0))
    if addcount == 0:
        print "no new records"
        pass
    else:
        MakeFeatureLayer_management(fc, layer_name)
        MakeXYEventLayer_management(
            "NEWROWS_View", "CROSSINGLONGITUDE", "CROSSINGLATITUDE",
            "NEWROWS_Layer",
            "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],VERTCS['NAVD_1988',VDATUM['North_American_Vertical_Datum_1988'],PARAMETER['Vertical_Shift',0.0],PARAMETER['Direction',1.0],UNIT['Meter',1.0]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119522E-09;0.001;0.001;IsHighPrecision",
            "#")
        FeatureClassToFeatureClass_conversion(
            "NEWROWS_Layer", "D:/Temp", "LOADTHIS1.shp", "#",
            """CROSSINGID "CROSSINGID" true false false 30 Text 0 0 ,First,#,Database Connections/sdedev_ciims.sde/CIIMS.NEWROWS_Features,CROSSINGID,-1,-1;CROSSINGLA "CROSSINGLA" true true false 8 Double 10 38 ,First,#,Database Connections/sdedev_ciims.sde/CIIMS.NEWROWS_Features,CROSSINGLATITUDE,-1,-1;CROSSINGLO "CROSSINGLO" true true false 8 Double 10 38 ,First,#,Database Connections/sdedev_ciims.sde/CIIMS.NEWROWS_Features,CROSSINGLONGITUDE,-1,-1;CROSSINGTY "CROSSINGTY" true true false 2 Text 0 0 ,First,#,Database Connections/sdedev_ciims.sde/CIIMS.NEWROWS_Features,CROSSINGTYPE,-1,-1""",
            "#")
        Append_management(
            "D:/Temp/LOADTHIS1.shp", layer_name, "NO_TEST",
            """CROSSINGID "CROSSINGID" true false false 30 Text 0 0 ,First,#,D:/Temp/LOADTHIS1.shp,CROSSINGID,-1,-1;CROSSINGLATITUDE "CROSSINGLATITUDE" true true false 8 Double 10 38 ,First,#,D:/Temp/LOADTHIS1.shp,CROSSINGLA,-1,-1;CROSSINGLONGITUDE "CROSSINGLONGITUDE" true true false 8 Double 10 38 ,First,#,D:/Temp/LOADTHIS1.shp,CROSSINGLO,-1,-1;CROSSINGTYPE "CROSSINGTYPE" true true false 2 Text 0 0 ,First,#,D:/Temp/LOADTHIS1.shp,CROSSINGTY,-1,-1;LOADDATE "LOADDATE" true true false 36 Date 0 0 ,First,#""",
            "#")
        Delete_management("D:/Temp/LOADTHIS1.shp", "#")
        updatelyr = layer_name + "new"
        MakeFeatureLayer_management(layer_name, updatelyr, "LOADDATE IS NULL")
        with da.Editor(workspace) as edit:
            CalculateField_management(updatelyr, "LOADDATE",
                                      "datetime.datetime.now( )", "PYTHON_9.3",
                                      "#")
        del fc, layer_name, newtbl, workspace, updatelyr
        print "new rows inserted into Static_Crossings"
Esempio n. 9
0
def LatLongFields(fc, tbl, layer_name, table_name, workspace):
    #Updates the XY attributes  values in the GIS database from the CANSYS table
    try:
        MakeFeatureLayer_management(fc, layer_name)
        MakeTableView_management(tbl, table_name)
        AddJoin_management(layer_name, "CROSSINGID", table_name, "CROSSINGID",
                           "KEEP_ALL")
        SelectLayerByAttribute_management(
            layer_name, "NEW_SELECTION",
            "CIIMS.Static_Crossings.CROSSINGLATITUDE <> CIIMS.CIIMS_VWCROSSINGGIS3.CROSSINGLATITUDE OR CIIMS.Static_Crossings.CROSSINGLONGITUDE <> CIIMS.CIIMS_VWCROSSINGGIS3.CROSSINGLONGITUDE"
        )
        with da.Editor(workspace) as edit:
            CalculateField_management(
                layer_name, 'CIIMS.Static_Crossings.CROSSINGLATITUDE',
                '!CIIMS.CIIMS_VWCROSSINGGIS3.CROSSINGLATITUDE!', 'PYTHON_9.3')
            CalculateField_management(
                layer_name, 'CIIMS.Static_Crossings.CROSSINGLONGITUDE',
                '!CIIMS.CIIMS_VWCROSSINGGIS3.CROSSINGLONGITUDE!', 'PYTHON_9.3')
            CalculateField_management(layer_name,
                                      "CIIMS.Static_Crossings.LOADDATE",
                                      "datetime.datetime.now( )", "PYTHON_9.3",
                                      "#")
        del layer_name, fc, table_name, tbl
    except ExecuteError:
        print(GetMessages(2))
Esempio n. 10
0
def FileChecker(ShapeFileDate, CheckLayer):
    #runnext = False
    SourceFileTxt = str(ShapeFileDate.replace("-", "_"))
    print ShapeFileDate
    selectdate = "Sourcefile = '" + SourceFileTxt + "'"
    print selectdate
    print CheckLayer
    if Exists("Check1"):
        Delete_management("Check1")
    try:
        MakeFeatureLayer_management(CheckLayer, "Check1", selectdate)
    except:
        MakeTableView_management(CheckLayer, "Check1", selectdate)
    CheckExistence = GetCount_management("Check1")
    print CheckExistence
    if int(str(CheckExistence)) > 0:
        print "This source file info  is already in the target feature"
        runnext = False
    elif int(str(CheckExistence)) == 0:
        print 'the information is new for this source file and will be added.'
        runnext = True
    else:
        print 'something isnt working here'
    print runnext
    return runnext
Esempio n. 11
0
def appender_DWBI_OLD(ShapeFileDate):
    print "appending the modeled data"
    env.workspace = repo
    filename1 = r"DWBI_SEGS"
    #C:\Workspace\pydot\sde_connections_10.3\sde@KTRIPS_sqlgiprod.sde\KTRIPS.SDE.KTRIPS_ROUTES
    enterprisedbRoutes = gdb + r"\KTRIPS.SDE.KTRIPS_ROUTE_Segments"
    print enterprisedbRoutes
    #Append_management(filename1, enterprisedbRoutes, "NO_TEST", "#")
    if Exists(filename1):
        MakeTableView_management(filename1, "AppendCheck", "#", "#", "#")
        AddJoin_management("AppendCheck",
                           "PRMT_ID",
                           enterprisedbRoutes,
                           "PRMT_ID",
                           join_type="KEEP_COMMON")
        recordsTest = str(GetCount_management("AppendCheck"))
        RemoveJoin_management("AppendCheck")
        if recordsTest == '0':
            print recordsTest + " of these records exist, appending now"
            Append_management(filename1, enterprisedbRoutes, "NO_TEST", "#")
        else:
            print recordsTest + " records already have been appended"
    else:
        print "there was a problem, " + str(filename1) + " could not be found"
        pass
Esempio n. 12
0
def calculatePointElevationField(points, raster, field_name):

    #monitor progress by counting features
    view = MakeTableView_management(points, 'points')
    count = int(GetCount_management('points').getOutput(0))
    SetProgressor('step', 'Extracting point elevations', 0, count)
    AddMessage('{} features to process'.format(count))

    # Get the object id field
    oid = Describe(points).OIDFieldName

    # make an update cursor and update each row's elevation field
    cursor = UpdateCursor(points, [field_name, 'SHAPE@', oid])

    # make a temporary dict to store our elevation values we extract
    elevations = {}

    for row in cursor:
        row[0] = getElevationAtPoint(raster, row[1])
        cursor.updateRow(row)
        AddMessage('row updated to {}; oid: {}'.format(row[0], row[2]))
        SetProgressorPosition()

    # release the data
    del cursor

    #reset this progressor
    ResetProgressor()
Esempio n. 13
0
def RouteCheck(RID):
    #when running this function, pass the RID/LRS KEY Value into the function to update the desired RID
    #RID is structured '030C0011800W0'
    #Class should be L, C, or RM
    print "what route number should be updated?"
    #RID = '030C0011800W0'
    Class = RID[3]
    if Class in ("R", "M"):
        Class = "RM"
    else:
        pass
    print Class
    tablename = Class+RID
    RIDExp = "RID = '"+RID+"'"
    print "Updating route "+ str(RID)
    if Exists("UpdateGISPROD"):
        pass
    else:    
        AddTable = Class+"_NON_STATE_EVENTS"
        MakeTableView_management(r"C:/temp/Nusys_Check.gdb/"+AddTable, tablename+"_view","#")

        
    TableToTable_conversion(tablename+"_view", "in_memory", tablename, RIDExp)
    RecordCount = str(GetCount_management(tablename))
    if RecordCount = '0':
        print "No Records to Calculate"
Esempio n. 14
0
def UpdateGISPROD_NON_STATE_Check():

    print "what route number should be updated?"
    try:
        RID = GetParameterAsText(0)
    except:
        RID = '460C0387500W0'
    RIDExp = "RID = '" + RID + "'"
    MakeTableView_management(r"C:\temp\Nusys_Check.gdb\NON_STATE_EVENTS",
                             "UpdateGISPROD", "#", "in_memory")
    # Replace a layer/table view name with a path to a dataset (which can be a layer file) or create the layer/table view within the script
    # The following inputs are layers or table views: "UpdateGISPROD"
    TableToTable_conversion(in_rows="UpdateGISPROD",
                            out_path="in_memory",
                            out_name="updatetblh",
                            RIDExp,
                            "#",
                            config_keyword="")
    AddIndex_management("updatetblh", "FID_NON_STATE_SYSTEM", "ID2", "UNIQUE",
                        "ASCENDING")
    MakeFeatureLayer_management(NonState, "NonStateAll")
    AddJoin_management("NonStateAll", "ID2", "updatetblh",
                       "FID_NON_STATE_SYSTEM", "KEEP_COMMON")
    print "Check the numbers one more time, and review"
    print "start Edit session on NON_STATE_SYSTEM now and type /'Calc()/' if it all looks good "
Esempio n. 15
0
 def CountyCode(lyr):
     MakeTableView_management(Kdotdbfp+"\NG911_County", "NG911_County")
     AddJoin_management(lyr,"COUNTY_L","NG911_County", "CountyName", "KEEP_COMMON")
     CalculateField_management(lyr,"KDOT_COUNTY_L","!NG911_County.CountyNumber!","PYTHON_9.3","#")
     RemoveJoin_management(lyr)
     AddJoin_management(lyr,"COUNTY_R","NG911_County", "CountyName", "KEEP_COMMON")
     CalculateField_management(lyr,"KDOT_COUNTY_R","!NG911_County.CountyNumber!","PYTHON_9.3","#")
     RemoveJoin_management(lyr)
Esempio n. 16
0
def Maintenance():
    print "reference maintenance agreement table"
    MakeTableView_management(maintenance, "Maint_tview")
    MakeRouteEventLayer_lr(cntyroutelyr,"LRS_KEY", "Maint_tview","LRSKEY LINE BEGMILEPOST END_MP","Maintenance_Events_CNTY","#","ERROR_FIELD","ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    if Exists(connection1+"MAINTENANCE_CCL"):
        Delete_management(connection1+"MAINTENANCE_CCL")
    LocateFeaturesAlongRoutes_lr("Maintenance_Events_CNTY",connection1+"CCL_LRS_ROUTE",NewRouteKey,"1 Feet",connection1+"MAINTENANCE_CCL","CCL_LRS LINE CCL_BEGIN CCL_END","ALL","DISTANCE","ZERO","FIELDS","M_DIRECTON")
    print "show lane classification referenced to city connecting link LRS"
Esempio n. 17
0
 def CityCodes(lyr, Kdotdbfp):
     #Codify the City Limit\city number for LRS , calculated for LEFT and RIGHT from NG911)
     MakeTableView_management(Kdotdbfp+"\City_Limits", "City_Limits")
     AddJoin_management(lyr,"MUNI_R","City_Limits", "CITY", "KEEP_COMMON")
     CalculateField_management(lyr,"KDOT_CITY_R","str(!City_Limits.CITY_CD!).zfill(3)","PYTHON_9.3","#")
     RemoveJoin_management(lyr)
     AddJoin_management(lyr,"MUNI_L","City_Limits", "CITY", "KEEP_COMMON")
     CalculateField_management(lyr,"KDOT_CITY_L","str(!City_Limits.CITY_CD!).zfill(3)","PYTHON_9.3","#")
     RemoveJoin_management(lyr)
Esempio n. 18
0
def useanaccidentlocatorcaller(tableGDB, InTable, AddressLocator,
                               OutPointFeatures, useKDOTIntersect):

    env.workspace = tableGDB

    InTableView = 'TableToView'
    MakeTableView_management(InTable, InTableView)

    # If the table already exists, don't do a full geocoding. Just rematch the addresses.
    # The rematched address features will be the same as the OutPointFeatures would have been.
    pointFeatureExistence = Exists(OutPointFeatures)

    if pointFeatureExistence == True:
        print "Rematching Addresses for '" + str(OutPointFeatures) + "'."
        ####### Make sure that the user can't manually pick a point and still have the status code
        ####### be 'U'. If they can, try to add a separate check to make sure that those do not get
        ####### overwritten by the rematching even if the user forgets to update the status after
        ####### they manually place a point.

        statusWhereClause = "Status = 'U' "
        RematchAddresses_geocoding(OutPointFeatures, statusWhereClause)
        print "Rematching complete."

    else:
        # If county 18 works after the changes to roadnamefixes that
        # remove the single and double quotes from roads, then
        # remove the if/elif/else blocks.
        #if len(AddressLocator) > 12 and AddressLocator[-6:-3] == "018":
        #pass
        #elif len(AddressLocator) > 12:
        if useKDOTIntersect == True:
            # The address_locator will be called:
            # \AddressLocators\...
            # I don't like the semi-colon style for these, but it seems to work better than using lists.
            # Semi-colon style works for every county EXCEPT 018. 018 returns an Error 000011: Required fields missing.
            # 018 == CL, that's why there's a problem. Find out why it is making a roadchecks gdb.
            #InAddressFields = """'Street' "ON_AT_ROAD_KDOT_INTERSECT" VISIBLE NONE;'City' "CITY_NBR" VISIBLE NONE;'Zip' "COUNTY_NBR" VISIBLE NONE"""
            #InAddressFields = [["Street", "ON_AT_ROAD_KDOT_INTERSECT", "VISIBLE", "NONE"], ["City", "CITY_NBR", "VISIBLE", "NONE"], ["Zip", "COUNTY_NBR", "VISIBLE", "NONE"]]
            InAddressFields = "Street ON_AT_ROAD_KDOT_INTERSECT VISIBLE NONE;City CITY_NBR VISIBLE NONE;Zip COUNTY_NBR VISIBLE NONE"
            # The out_feature_class will be called:
            # \AddressLocators\..._Pts_###
        else:
            # The address_locator will be called:
            # \AddressLocators\..._NK
            # I don't like the semi-colon style for these, but it seems to work better than using lists.
            # Semi-colon style works for every county EXCEPT 018. 018 returns an Error 000011: Required fields missing.
            # 018 == CL, that's why there's a problem. Find out why it is making a roadchecks gdb.
            #InAddressFields = """'Street' "ON_AT_ROAD_INTERSECT" VISIBLE NONE;'City' "CITY_NBR" VISIBLE NONE;'Zip' "COUNTY_NBR" VISIBLE NONE"""
            #InAddressFields = [["Street" "ON_AT_ROAD_INTERSECT"], ["City" "CITY_NBR"], ["Zip" "COUNTY_NBR"]]
            InAddressFields = "Street ON_AT_ROAD_INTERSECT VISIBLE NONE;City CITY_NBR VISIBLE NONE;Zip COUNTY_NBR VISIBLE NONE"
            # The out_feature_class will be called:
            # \AddressLocators\..._Pts_###_NK

        #print "Debug output: " + InTable + " " + AddressLocator + "\n" + str(InAddressFields) + "\n" + OutPointFeatures

        GeocodeAddresses_geocoding(InTable, AddressLocator, InAddressFields,
                                   OutPointFeatures)
Esempio n. 19
0
def MakeRouteLayers(OpEnvironmentMode):
    from EXOR_GIS_CONFIG import OpEnvironment
    OpRunIn= OpEnvironment.OpRunInRoutes  # @UndefinedVariable
    OpRunOut= OpEnvironment.OpRunOut  # @UndefinedVariable
    #adm=OpEnvironment.adm  # @UndefinedVariable
    Owner=OpEnvironment.Owner  # @UndefinedVariable
    DB=OpEnvironment.DB  # @UndefinedVariable
    
    env.workspace = OpRunIn
    env.overwriteOutput = True
    print OpRunIn
    
    #combine the connection, db, and owner to the destination path for enterprise geodatabase output
    OpRunFullOut = OpRunOut+r"/"+DB+"."+Owner+"."
    
    print "Updating CRND"
    #add the Map Extract Event Table limited to primary direction into memory
    TruncateTable_management(OpRunFullOut+"CRND")
    Append_management("CRND", OpRunFullOut+"CRND", "NO_TEST")
    print "Updating SRND"
    TruncateTable_management(OpRunFullOut+"SRND")
    Append_management("SRND", OpRunFullOut+"SRND", "NO_TEST")
    print "Updating NSND"
    TruncateTable_management(OpRunFullOut+"NSND")
    Append_management("NSND", OpRunFullOut+"NSND", "NO_TEST")  
        
    if GetCount_management("MAP_EXTRACT")>0:
        MakeTableView_management("MAP_EXTRACT", "V_MV_MAP_EXTRACT", "DIRECTION < 3")
    
        #Add the CRND CANSYS rotue layer, dynseg the event table, truncate and load to CMLRS
        MakeFeatureLayer_management("CRND", "CRND")
        MakeRouteEventLayer_lr("CRND", "NE_UNIQUE", "MAP_EXTRACT", "NQR_DESCRIPTION LINE BEG_CNTY_LOGMILE END_CNTY_LOGMILE", "CMLRS1", "", "ERROR_FIELD", "NO_ANGLE_FIELD", "NORMAL", "ANGLE", "LEFT", "POINT")
        try:
            print "truncation and appending the CMLRS"
            TruncateTable_management(OpRunFullOut+"CMLRS")
            Append_management("CMLRS1", OpRunFullOut+"CMLRS", "NO_TEST")
        except:
            print "could not truncate, overwriting CMLRS"
            FeatureClassToFeatureClass_conversion("CMLRS1", OpRunOut, "CMLRS","#", "#", "#")
        #except:
        #    print "could not update the CMLRS"
        
        MakeFeatureLayer_management("SRND", "SRND")
        MakeRouteEventLayer_lr("SRND", "NE_UNIQUE", "MAP_EXTRACT", "STATE_NQR_DESCRIPTION LINE BEG_STATE_LOGMILE END_STATE_LOGMILE", out_layer="SMLRS1", offset_field="", add_error_field="ERROR_FIELD", add_angle_field="NO_ANGLE_FIELD", angle_type="NORMAL", complement_angle="ANGLE", offset_direction="LEFT", point_event_type="POINT")
        try:
            print "truncation and appending the SMLRS"
            TruncateTable_management(OpRunFullOut+"SMLRS")
            Append_management("SMLRS1", OpRunFullOut+"SMLRS", "NO_TEST")
        except:
            print "could not truncate, overwriting SMLRS"
            FeatureClassToFeatureClass_conversion("SMLRS1", OpRunOut, "SMLRS","#", "#", "#")
        #except:
        #    print "could not update the SMLRS" 
        
        print "Route Layers Updated"
    else: 
        print "the map extract is unreliable and was not exported"
Esempio n. 20
0
    def __installation_field_check(self, installation):
        """This can only be called within a feature class loop inside self.checker (self.__fc_fields dependency)"""
        installation_f = AddFieldDelimiters(self.__fc, "installationID")
        if installation == 'ALL':
            sql_inst_where = None
        else:
            sql_inst_where = "{0}='{1}'".format(installation_f, installation)
        MakeTableView_management(self.__fc, "inst_q_table", sql_inst_where)
        querry_table = "inst_q_table"
        qap_fields = self.__all_fields[self.__fc]
        total = 0
        good = {}
        qap_reqd = {}
        domain_codes = {}
        domain_descs = {}
        str_fields = []
        for field in self.__fc_fields:
            if field.domain != "":
                domain_table = self.__get_domain_codes(field.domain)
                domain_codes.update({field.name: []})
                domain_descs.update({field.name: []})
                if domain_table:
                    with SearchCursor(domain_table, ["code", "desc"]) as cursor:
                        for row in cursor:
                            domain_codes[field.name].append(row[0])
                            domain_descs[field.name].append(row[1])
        for field in self.__fc_fields:
            good.update({field.name: 0})
            if field.name in qap_fields:
                qap_reqd.update({field.name: "Yes"})
            else:
                qap_reqd.update({field.name: "No"})
            str_fields.append(field.name)

        with SearchCursor(querry_table, str_fields) as cursor:
            for row in cursor:
                total += 1
                index = 0
                while index < len(self.__fc_fields):
                    if self.__fc_fields[index].domain != "":
                        if row[index] in domain_codes[self.__fc_fields[index].name] or row[index] in domain_descs[self.__fc_fields[index].name]:
                            good[self.__fc_fields[index].name] += 1
                    else:
                        if row[index]:
                            good[self.__fc_fields[index].name] += 1
                    index += 1

        if total != 0:
            for field in self.__fc_fields:
                self.__attributes.append([self.__fc,
                                          field.name,
                                          float(float(good[field.name]) / float(total)) * 100,
                                          field.domain,
                                          qap_reqd[field.name],
                                          str(installation)
                                          ])
Esempio n. 21
0
def Report():
    OverlayRouteEvents_lr(
        connection1 + "MAINTENANCE_CCL", "CCL_LRS LINE CCL_BEGIN CCL_END",
        connection1 + "LANECLASS_CCL", "CCL_LRS LINE CCL_BEGIN CCL_END",
        "UNION", connection1 + "CCL_Report_M",
        "CCL_LRS LINE CCL_MA_BEGIN CCL_MA_END", "NO_ZERO", "FIELDS", "INDEX")
    DissolveRouteEvents_lr(connection1 + "CCL_Report_M",
                           "CCL_LRS LINE CCL_MA_BEGIN CCL_MA_END",
                           "CITYNO;MAINT_DESC;CITY_NAME;Lanes",
                           connection1 + "CCL_Report_D",
                           "CCL_LRS LINE CCL_MA_BEGIN CCL_MA_END",
                           "CONCATENATE", "INDEX")
    #cleanup border errors - make feature layers based on City, city number, and CCLLRS and delete where they are not consistent between Maintenance and Resolution sections
    if Exists(connection1 + "CCL_Report"):
        MakeTableView_management(connection1 + "CCL_Report", "Report_Clean1",
                                 "CCL_LRS2 <> CCL_LRS")
        DeleteRows_management("Report_Clean1")
    LocateFeaturesAlongRoutes_lr(LineFeatureClass,
                                 connection1 + "CCL_LRS_ROUTE", NewRouteKey,
                                 "#", connection1 + "RES_SECTION_CCL",
                                 "CCL_LRS LINE CCL_BEGIN CCL_END", "ALL",
                                 "DISTANCE", "ZERO", "FIELDS", "M_DIRECTON")
    OverlayRouteEvents_lr(
        connection1 + "RES_SECTION_CCL", "CCL_LRS LINE CCL_BEGIN CCL_END",
        connection1 + "CCL_Report_D", "CCL_LRS LINE CCL_MA_BEGIN CCL_MA_END",
        "INTERSECT", connection1 + "CCL_Report",
        "CCL_LRS LINE CCL_BEGIN CCL_END", "NO_ZERO", "FIELDS", "INDEX")
    MakeRouteEventLayer_lr(connection1 + "CCL_LRS_ROUTE", "CCL_LRS",
                           connection1 + "CCL_Report",
                           "CCL_LRS LINE CCL_BEGIN CCL_END",
                           "City Connecting Links Mapping", "#", "ERROR_FIELD",
                           "NO_ANGLE_FIELD", "NORMAL", "ANGLE", "LEFT",
                           "POINT")
    print "add mapping fields for lane miles"
    AddField_management("City Connecting Links Mapping", "CenterlineMiles",
                        "DOUBLE")
    CalculateField_management("City Connecting Links Mapping",
                              "CenterlineMiles", '[CCL_END]-[CCL_BEGIN]', "VB")
    AddField_management("City Connecting Links Mapping", "LaneMiles", "DOUBLE")
    CalculateField_management("City Connecting Links Mapping", "LaneMiles",
                              '([CCL_END]-[CCL_BEGIN])*[Lanes]', "VB")
    AddField_management(connection1 + "CITY_CONNECTING_LINK_CENTERLINE",
                        "CenterlineMiles", "DOUBLE")
    MakeFeatureLayer_management(
        connection1 + "CITY_CONNECTING_LINK_CENTERLINE", 'Res_centerline')
    CalculateField_management("Res_centerline", "CenterlineMiles",
                              '[END_CNTY_LOGMILE]-[BEG_CNTY_LOGMILE]', "VB")
    Dissolve_management("Res_centerline", connection1 + "CCL_LEGEND",
                        "CITY;LRS_KEY;CITYNUMBER;CCL_LRS",
                        "CenterlineMiles SUM", "MULTI_PART", "DISSOLVE_LINES")
    AddField_management(connection1 + "CCL_LEGEND", "CCL_LEGEND", "TEXT", "#",
                        "#", "50")
    legendexp = 'str(!CCL_LRS![3]) +"-" + str(!CCL_LRS![6:9]).lstrip("0")+"........"+ str(!SUM_CenterlineMiles!)'
    MakeFeatureLayer_management(connection1 + "CCL_LEGEND", 'LegendCalc')
    CalculateField_management("LegendCalc", "CCL_LEGEND", legendexp,
                              "PYTHON_9.3", "#")
Esempio n. 22
0
def CompareCrashData():
    from arcpy import MakeTableView_management
    MakeTableView_management(
        in_table="Database Connections/kcarsprd_readonly.sde/KCARS.ACCIDENTS",
        out_view="ACCIDENTS_View",
        where_clause="ACCIDENT_KEY LIKE '2016%'",
        workspace="",
        field_info=
        "ACCIDENT_KEY ACCIDENT_KEY VISIBLE NONE;AGENCY_ORI AGENCY_ORI VISIBLE NONE;REPORT_IMAGE_LINK REPORT_IMAGE_LINK VISIBLE NONE;LOCAL_CASE_ID LOCAL_CASE_ID VISIBLE NONE;COUNTY_NBR COUNTY_NBR VISIBLE NONE;CITY_NBR CITY_NBR VISIBLE NONE;OFFICER_MILEPOST OFFICER_MILEPOST VISIBLE NONE;ON_ROAD_KDOT_PFX_DIR ON_ROAD_KDOT_PFX_DIR VISIBLE NONE;ON_ROAD_KDOT_NAME ON_ROAD_KDOT_NAME VISIBLE NONE;ON_ROAD_KDOT_TYPE ON_ROAD_KDOT_TYPE VISIBLE NONE;ON_ROAD_KDOT_SFX_DIR ON_ROAD_KDOT_SFX_DIR VISIBLE NONE;AT_ROAD_KDOT_PFX_DIR AT_ROAD_KDOT_PFX_DIR VISIBLE NONE;AT_ROAD_KDOT_NAME AT_ROAD_KDOT_NAME VISIBLE NONE;AT_ROAD_KDOT_TYPE AT_ROAD_KDOT_TYPE VISIBLE NONE;AT_ROAD_KDOT_SFX_DIR AT_ROAD_KDOT_SFX_DIR VISIBLE NONE;AT_ROAD_KDOT_DISTANCE AT_ROAD_KDOT_DISTANCE VISIBLE NONE;AT_ROAD_KDOT_DIST_UOM AT_ROAD_KDOT_DIST_UOM VISIBLE NONE;AT_ROAD_KDOT_DIRECTION AT_ROAD_KDOT_DIRECTION VISIBLE NONE;DOT_LATITUDE DOT_LATITUDE VISIBLE NONE;DOT_LONGITUDE DOT_LONGITUDE VISIBLE NONE;NONSTATE_FUNCTION_CLASS NONSTATE_FUNCTION_CLASS VISIBLE NONE;NONSTATE_REF_POST NONSTATE_REF_POST VISIBLE NONE;BLOCK_NBR BLOCK_NBR VISIBLE NONE;ON_ROAD_SPEED_LIMIT ON_ROAD_SPEED_LIMIT VISIBLE NONE;ON_ROAD_SURFACE_TYPE ON_ROAD_SURFACE_TYPE VISIBLE NONE;ROAD_SURFTYPE_OTHER ROAD_SURFTYPE_OTHER VISIBLE NONE;ON_ROAD_SURFACE_COND ON_ROAD_SURFACE_COND VISIBLE NONE;ROAD_SURFCOND_OTHER ROAD_SURFCOND_OTHER VISIBLE NONE;ON_ROAD_SURFACE_CHAR ON_ROAD_SURFACE_CHAR VISIBLE NONE;ROAD_SURFCHAR_OTHER ROAD_SURFCHAR_OTHER VISIBLE NONE;ON_ROAD_CONST_MAINT ON_ROAD_CONST_MAINT VISIBLE NONE;ON_ROAD_NBR_OF_LANES ON_ROAD_NBR_OF_LANES VISIBLE NONE;ROAD_NBRLANES_OTHER ROAD_NBRLANES_OTHER VISIBLE NONE;AT_ROAD_SPEED_LIMIT AT_ROAD_SPEED_LIMIT VISIBLE NONE;AT_ROAD_SURFACE_TYPE AT_ROAD_SURFACE_TYPE VISIBLE NONE;AT_ROAD_SURFACE_COND AT_ROAD_SURFACE_COND VISIBLE NONE;AT_ROAD_SURFACE_CHAR AT_ROAD_SURFACE_CHAR VISIBLE NONE;AT_ROAD_CONST_MAINT AT_ROAD_CONST_MAINT VISIBLE NONE;AT_ROAD_NBR_OF_LANES AT_ROAD_NBR_OF_LANES VISIBLE NONE;DATE_OF_ACCIDENT DATE_OF_ACCIDENT VISIBLE NONE;TIME_OF_ACCIDENT TIME_OF_ACCIDENT VISIBLE NONE;DAY_OF_ACCIDENT DAY_OF_ACCIDENT VISIBLE NONE;DATE_NOTIFIED DATE_NOTIFIED VISIBLE NONE;TIME_NOTIFIED TIME_NOTIFIED VISIBLE NONE;DAY_NOTIFIED DAY_NOTIFIED VISIBLE NONE;DATE_ARRIVED DATE_ARRIVED VISIBLE NONE;TIME_ARRIVED TIME_ARRIVED VISIBLE NONE;DAY_ARRIVED DAY_ARRIVED VISIBLE NONE;ACCIDENT_CLASS_FHE ACCIDENT_CLASS_FHE VISIBLE NONE;ACCIDENT_CLASS_MHE ACCIDENT_CLASS_MHE VISIBLE NONE;ACC_CLASS_OTHER_OBJECT ACC_CLASS_OTHER_OBJECT VISIBLE NONE;COLLISION_W_OTHER_VEH_FHE COLLISION_W_OTHER_VEH_FHE VISIBLE NONE;COLLISION_W_OTHER_VEH_MHE COLLISION_W_OTHER_VEH_MHE VISIBLE NONE;COLLISION_W_VEH_OTHER COLLISION_W_VEH_OTHER VISIBLE NONE;FIXED_OBJECT_TYPE_FHE FIXED_OBJECT_TYPE_FHE VISIBLE NONE;FIXED_OBJECT_TYPE_MHE FIXED_OBJECT_TYPE_MHE VISIBLE NONE;FIXED_OBJECT_OTHER FIXED_OBJECT_OTHER VISIBLE NONE;ACCIDENT_LOCATION ACCIDENT_LOCATION VISIBLE NONE;ACCIDENT_LOCATION_OTHER ACCIDENT_LOCATION_OTHER VISIBLE NONE;INTERSECTION_TYPE INTERSECTION_TYPE VISIBLE NONE;ROUNDABOUT_NBR ROUNDABOUT_NBR VISIBLE NONE;LIGHT_CONDITIONS LIGHT_CONDITIONS VISIBLE NONE;WEATHER_CONDITIONS WEATHER_CONDITIONS VISIBLE NONE;WEATHER_COND_OTHER WEATHER_COND_OTHER VISIBLE NONE;ANIMAL_TYPE ANIMAL_TYPE VISIBLE NONE;KDOT_WORK_ZONE_FLAG KDOT_WORK_ZONE_FLAG VISIBLE NONE;WORK_ZONE_LOCATION WORK_ZONE_LOCATION VISIBLE NONE;WORK_ZONE_CATEGORY WORK_ZONE_CATEGORY VISIBLE NONE;WORK_ZONE_CAT_OTHER WORK_ZONE_CAT_OTHER VISIBLE NONE;OBJECT_DAMAGED1 OBJECT_DAMAGED1 VISIBLE NONE;KDOT_PROP_DAMAGE_FLAG1 KDOT_PROP_DAMAGE_FLAG1 VISIBLE NONE;OBJECT_DAMAGED2 OBJECT_DAMAGED2 VISIBLE NONE;KDOT_PROP_DAMAGE_FLAG2 KDOT_PROP_DAMAGE_FLAG2 VISIBLE NONE;SPECIAL_EVENT SPECIAL_EVENT VISIBLE NONE;SPECIAL_DATA SPECIAL_DATA VISIBLE NONE;SPECIAL_JURISDICTION SPECIAL_JURISDICTION VISIBLE NONE;SPECIAL_JURIS_OTHER SPECIAL_JURIS_OTHER VISIBLE NONE;ON_ROAD_PREFIX_DIRECTION ON_ROAD_PREFIX_DIRECTION VISIBLE NONE;ON_ROAD_NAME ON_ROAD_NAME VISIBLE NONE;ON_ROAD_TYPE ON_ROAD_TYPE VISIBLE NONE;ON_ROAD_SUFFIX_DIRECTION ON_ROAD_SUFFIX_DIRECTION VISIBLE NONE;ON_ROAD_ALTERNATE_NAME ON_ROAD_ALTERNATE_NAME VISIBLE NONE;AT_ROAD_PREFIX_DIRECTION AT_ROAD_PREFIX_DIRECTION VISIBLE NONE;AT_ROAD_NAME AT_ROAD_NAME VISIBLE NONE;AT_ROAD_TYPE AT_ROAD_TYPE VISIBLE NONE;AT_ROAD_SUFFIX_DIRECTION AT_ROAD_SUFFIX_DIRECTION VISIBLE NONE;AT_ROAD_DISTANCE AT_ROAD_DISTANCE VISIBLE NONE;AT_ROAD_DISTANCE_UOM AT_ROAD_DISTANCE_UOM VISIBLE NONE;AT_ROAD_DIRECTION AT_ROAD_DIRECTION VISIBLE NONE;LATITUDE LATITUDE VISIBLE NONE;LONGITUDE LONGITUDE VISIBLE NONE;S_REF_DISTANCE S_REF_DISTANCE VISIBLE NONE;S_REF_ROAD S_REF_ROAD VISIBLE NONE;W_REF_DISTANCE W_REF_DISTANCE VISIBLE NONE;W_REF_ROAD W_REF_ROAD VISIBLE NONE;OFFICER OFFICER VISIBLE NONE;OFFICER_BADGE_ID OFFICER_BADGE_ID VISIBLE NONE;REPORTING_SEVERITY REPORTING_SEVERITY VISIBLE NONE;AMENDED_REPORT_FLAG AMENDED_REPORT_FLAG VISIBLE NONE;DUI_FLAG DUI_FLAG VISIBLE NONE;PRIVATE_PROPERTY_FLAG PRIVATE_PROPERTY_FLAG VISIBLE NONE;REPORT_BATCH_ID REPORT_BATCH_ID VISIBLE NONE;CODER CODER VISIBLE NONE;CASE_STATUS CASE_STATUS VISIBLE NONE;DATA_VERSION_YEAR DATA_VERSION_YEAR VISIBLE NONE;DATA_SOURCE DATA_SOURCE VISIBLE NONE;KDOT_UPDATE_TMSTMP KDOT_UPDATE_TMSTMP VISIBLE NONE;USER_ID USER_ID VISIBLE NONE;CREATED_DATE CREATED_DATE VISIBLE NONE;CREATED_BY CREATED_BY VISIBLE NONE;MODIFIED_DATE MODIFIED_DATE VISIBLE NONE;MODIFIED_BY MODIFIED_BY VISIBLE NONE;UAB UAB VISIBLE NONE;COUNTY_REF_POST_TMP COUNTY_REF_POST_TMP VISIBLE NONE;LANE_DIRECTION_TMP LANE_DIRECTION_TMP VISIBLE NONE;ESRI_OID ESRI_OID VISIBLE NONE"
    )
Esempio n. 23
0
def UAB():
    itemname = "UAB"
    cantbl = itemname+"_ln_1"
    domname = "UABR"
    
    MakeTableView_management("Database Connections/ATLASPROD.odc/V_NM_UABR",domname)
    
    TableToTable_conversion(domname, wsouttbl, domname+"R", "#")
    MakeTableView_management(wsouttbl+"//"+cantbl,itemname+"PD",""""NE_OWNER" IN ( 'EB' , 'NB' )""","#")
    DissolveRouteEvents_lr(itemname+"PD","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile", "CITY_NBR", wsouttbl+"//"+itemname+"_SD","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile","CONCATENATE","INDEX")
    AddIndex_management(wsouttbl+"//"+itemname+"_SD","CITY_NBR","CITY_NBR","NON_UNIQUE","NON_ASCENDING")
    AddField_management(wsouttbl+"//"+domname+"R", "CITY_NBR", "FLOAT", "#", "#", "#")
    CalculateField_management(wsouttbl+"//"+domname+"R", "CITY_NBR", "[CITY_NUMBER]", "VB")
    MakeTableView_management(wsouttbl+"//"+itemname+"_SD", itemname+"_view", "#")
    AddJoin_management(itemname+"_view", "CITY_NBR", wsouttbl+"//"+domname+"R", "CITY_NBR", "KEEP_ALL")
    TableToTable_conversion(itemname+"_view", wsouttbl, domname+"J", "#")
    MakeRouteEventLayer_lr(wsouttbl+"//SMLRS","LRS_ROUTE",wsouttbl+"//"+domname+"J","LRS_ROUTE LINE Beg_State_Logmile End_State_Logmile",itemname+"_ITEM","#","ERROR_FIELD","NO_ANGLE_FIELD","NORMAL","ANGLE","LEFT","POINT")
    FeatureClassToFeatureClass_conversion(itemname+"_ITEM", wsouttbl, itemname)
    print "we have UABs"
Esempio n. 24
0
def LaneClass():
    MakeFeatureLayer_management(laneclass, 'LNCL',
                                "LANE_DIRECTION in ( 'EB' , 'NB' )")
    LocateFeaturesAlongRoutes_lr("LNCL", connection1 + "CCL_LRS_ROUTE",
                                 NewRouteKey, "0.1 FEET",
                                 connection1 + "LANECLASS_CCL",
                                 "CCL_LRS LINE CCL_BEGIN CCL_END", "ALL",
                                 "DISTANCE", "ZERO", "FIELDS", "M_DIRECTON")
    AddField_management(connection1 + "LANECLASS_CCL", "Lanes", "LONG")
    MakeTableView_management(laneclass, "LANECLASS_CCL_tbl",
                             "LANE_DIRECTION in ( 'EB' , 'NB' )")
    CalculateField_management(connection1 + "LANECLASS_CCL", "Lanes",
                              'Left([LNCL_CLS_ID_DESC],1)', "VB")
Esempio n. 25
0
def PointDelete(
    fc, layer_name, tbl, table_name
):  #delete rows from SDE CIIMS that are removed from CANSYS CIIMS
    MakeFeatureLayer_management(fc, layer_name)
    MakeTableView_management(tbl, table_name)
    AddJoin_management(layer_name, "CROSSINGID", table_name, "CROSSINGID",
                       "KEEP_ALL")
    SelectLayerByAttribute_management(
        layer_name, "NEW_SELECTION",
        "CIIMS.CIIMS_VWCROSSINGGIS3.CROSSINGID IS NULL")
    DeleteRows_management("Static_Crossings")
    del fc, layer_name, tbl, table_name
    print "Delete function completed"
Esempio n. 26
0
 def HighwayCalc(lyr, gdb):
     #Pull out State Highways to preserve KDOT LRS Key (CANSYS FORMAT - non directional CRAD)
     MakeTableView_management(gdb+"\RoadAlias", "RoadAlias")
     from arcpy import CalculateField_management as CalcField
     from arcpy import MakeTableView_management as TableView, SelectLayerByAttribute_management as Select
     from arcpy import AddJoin_management as JoinTbl, RemoveJoin_management as removeJoin
     Select(lyr,"NEW_SELECTION","ROUTE_ID LIKE '%X0'")
     CalcField(in_table="RoadCenterline",field="KDOT_ADMO",expression="'X'",expression_type="PYTHON_9.3",code_block="#")
     TableView(Kdotdbfp+"\RoadAlias", "RoadAlias")
     JoinTbl(lyr,"SEGID","RoadAlias", "SEGID")
     Select(lyr, "NEW_SELECTION", "RoadAlias.LABEL LIKE 'US %' OR RoadAlias.LABEL LIKE 'I %' OR RoadAlias.LABEL LIKE 'K %'" )
     removeJoin(lyr)
     CalcField(lyr,"RID","!ROUTE_ID![:11]","PYTHON_9.3","#")
     Select(lyr, "REMOVE_FROM_SELECTION", "TRAVEL is null" )
     CalcField(lyr,"RID","!ROUTE_ID![:11]+!TRAVEL!","PYTHON_9.3","#")
Esempio n. 27
0
def XYFC(source, dst, Lat, Long, GCS, loaded):
    if Exists("FCtbl"):
        Delete_management("FCtbl")
    else:    
        pass
    if Exists("FC_Layer"):
        Delete_management("FC_Layer")
    else:
        pass
    print "start XYFC "+ str(datetime.datetime.now())
    MakeTableView_management(source, 'FCtbl', "#", "#", "")
    MakeXYEventLayer_management("FCtbl",Long, Lat,"FC_Layer", GCS,"#")
    TruncateTable_management(dst)
    Append_management("FC_Layer",dst,"NO_TEST","#","#")
    CalculateField_management(dst, loaded,"datetime.datetime.now( )","PYTHON_9.3","#")
    print "XYFC complete for " +str(dst)+ " at " + str(datetime.datetime.now())
Esempio n. 28
0
def PointDelete(
    fc, layer_name, deltbl, table_name
):  #delete rows from SDE CIIMS that are removed from CANSYS CIIMS
    MakeFeatureLayer_management(fc, layer_name)
    MakeTableView_management(deltbl, table_name)
    with da.SearchCursor(deltbl, "CROSSINGID") as delcur:
        for row in delcur:
            DelXID = ("{0}".format(row[0]))
            print DelXID + " is being deleted from the CIIMS table"
            #AddJoin_management(layer_name,"CROSSINGID", deltbl, "CROSSINGID", "KEEP_ALL")
            delsel = "CROSSINGID LIKE '" + str(row)[3:10] + "'"
            SelectLayerByAttribute_management(layer_name, "ADD_TO_SELECTION",
                                              delsel)
    DeleteRows_management(layer_name)
    del fc, layer_name, deltbl, table_name
    print "Delete function completed"
Esempio n. 29
0
def FIMS_GIS(FMIS_ADD):
    #arcpy.MakeFeatureLayer_management(CPMSlyr, 'CPMS', ProjectSelect)
    #only process the new rows in FMIS_ADD

    MakeFeatureLayer_management(CPMSlyr, 'CPMS')
    MakeFeatureLayer_management(CountyLyr, 'County')
    MakeFeatureLayer_management(HPMSlyr, 'HPMS')
    MakeFeatureLayer_management(MPOLyr, 'MPO')
    MakeFeatureLayer_management(CONGDistlyr, 'CONG')
    MakeFeatureLayer_management(ws + "/Polygons", 'Polygons')
    #make the polygon analysis layer for Districts, Counties, and MPOs
    #arcpy.Union_analysis("CONG #;MPO #;County #",ws+"/Polygons","ALL","1 feet","GAPS")

    MakeTableView_management(FMIS_ADD, 'CPMS_STAGING_TMP')
    AddJoin_management("CPMS", "PROJECT_ID", "CPMS_STAGING_TMP",
                       "PROJECT_NUMBER", "KEEP_COMMON")

    Output_Event_Table_Properties = 'RID LINE CNTY_BEG CNTY_END'

    outtblP = ws + "/FIMS_EventTableAreas"
    outtblH = ws + "/FIMS_EventTableLines"

    if Exists(outtblP):
        Delete_management(outtblP)

    #consider/testing running "in memory"
    LocateFeaturesAlongRoutes_lr('CPMS', 'HPMS', "Route_ID", "30 Feet",
                                 outtblH, Output_Event_Table_Properties,
                                 "FIRST", "DISTANCE", "NO_ZERO", "FIELDS",
                                 "M_DIRECTON")
    MakeRouteEventLayer_lr("HPMS", "Route_ID", "FIMS_EventTableLines",
                           "rid LINE CNTY_BEG CNTY_END",
                           "FIMS_EventTableLineLyr", "#", "ERROR_FIELD",
                           "NO_ANGLE_FIELD", "NORMAL", "ANGLE", "LEFT",
                           "POINT")
    Intersect_analysis("FIMS_EventTableLineLyr #;HPMS #;Polygons #",
                       ws + "/FMIS_Data", "ALL", "#", "LINE")

    Dissolve_management(
        "FMIS_Data", ws + r"/HPMS_Data",
        "PROJECT_ID;F_SYSTEM_V;NHS_VN;DISTRICT_1;COUNTY_NUMBER;ID_1", "#",
        "MULTI_PART", "UNSPLIT_LINES")
    # Replace a layer/table view name with a path to a dataset (which can be a layer file) or create the layer/table view within the script
    LocateFeaturesAlongRoutes_lr("HPMS_Data", "HPMS", "Route_ID", "0 Feet",
                                 ws + "/FIMS_EventTable",
                                 "RID LINE CNTY_BEG CNTY_END", "FIRST",
                                 "DISTANCE", "NO_ZERO", "FIELDS", "M_DIRECTON")
Esempio n. 30
0
def RouteCheck(RID):
    #when running this function, pass the RID/LRS KEY Value into the function to update the desired RID
    #RID is structured '030C0011800W0'
    #Class should be L, C, or RM
    print "what route number should be updated?"
    #RID = '030C0011800W0'
    Class = RID[3]
    if Class in ("R", "M"):
        Class = "RM"
    else:
        pass
    print RID
    RID_ = RID.replace('-', '_')
    RIDExp = "RID = '" + RID + "'"
    tablename = Class + RID_
    print RIDExp
    print "Updating route " + str(RID) + " in table " + str(RID_)
    if Exists("UpdateGISPROD"):
        print "this exists"
        pass
    else:
        AddTable = Class + "P_NON_STATE_EVENTS"
        MakeTableView_management(r"in_memory/" + AddTable, tablename + "_view",
                                 "#")
        MakeFeatureLayer_management(
            NonState, "NonStateUpdate",
            "((LRS_KEY LIKE '%C%' OR LRS_ROUTE_PREFIX = 'C') AND (MILEAGE_COUNTED = -1)) OR (LRS_DIR_OF_TRAVEL = 'P' and SURFACE = 'Propose')"
        )

    TableToTable_conversion(tablename + "_view", "in_memory", tablename,
                            RIDExp)
    if str(GetCount_management(tablename)) == '0':
        print "No Records to Calculate"
    else:
        try:
            RemoveJoin_management("NonStateUpdate")
        except:
            print "no NonStateUpdate, creating the NonStateSystem layer"
        MakeFeatureLayer_management(
            NonState, "NonStateUpdate",
            "(MILEAGE_COUNTED = -1 OR SURFACE = 'Propose')")
        AddJoin_management("NonStateUpdate", "ID2", tablename,
                           "FID_NON_STATE_SYSTEM", "KEEP_COMMON")
        print "Check the numbers one more time, and review"
        print "start Edit session on NonStateUpdate now and type RouteCalc(RID) if it all looks good"
    print "RteChk script completed successfully"