Esempio n. 1
0
    def addOrUpdateProject(self, wmx_job_id, project_Id, alias, alias_clean,
                           state, year, parent_dir, archive_dir, project_dir,
                           UID, project_AOI):
        # Where WMXJobID = '<Job_ID>'
        where_clause = "{} = {}".format(
            arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID),
            wmx_job_id)

        row = [
            UID,  # field_ProjectJob_UID
            wmx_job_id,  # field_ProjectJob_WMXJobID,
            project_Id,  # field_ProjectJob_ProjID,
            alias,  # field_ProjectJob_Alias
            alias_clean,  # field_ProjectJob_AliasClean
            state,  # field_ProjectJob_State
            year,  # field_ProjectJob_Year
            parent_dir,  # field_ProjectJob_ParentDir
            archive_dir,  # field_ProjectJob_ArchDir
            project_dir,  # field_ProjectJob_ProjDir
            project_AOI  # field_ProjectJob_SHAPE
        ]

        Utility.addOrUpdateRecord(in_table=self.fclass,
                                  field_names=self.fields,
                                  uidIndex=self.uid_index,
                                  where_clause=where_clause,
                                  rowValueList=row)

        return row
Esempio n. 2
0
    def updateProject(self, row):
        wmx_job_id = self.getWMXJobID(row)
        where_clause = "{} = {}".format(
            arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID),
            wmx_job_id)

        Utility.addOrUpdateRecord(in_table=self.fclass,
                                  field_names=self.fields,
                                  uidIndex=self.uid_index,
                                  where_clause=where_clause,
                                  rowValueList=row)

        return row
Esempio n. 3
0
    def addOrUpdateProject(self, project_Id, UID, project_AOI):
        # Where ProjectID = '<project_ID>'
        where_clause = "{} = '{}'".format(
            arcpy.AddFieldDelimiters(self.fclass, field_QC_ProjID), project_Id)

        row = [UID, project_Id, project_AOI]

        Utility.addOrUpdateRecord(in_table=self.fclass,
                                  field_names=self.fields,
                                  uidIndex=self.uid_index,
                                  where_clause=where_clause,
                                  rowValueList=row)

        return row
Esempio n. 4
0
    def saveOrUpdate(self, row):
        project_id = row[self.fields.index(field_LASFileInfo_ProjID)]
        file_name = row[self.fields.index(field_LASFileInfo_File_Name)]
        las_class = row[self.fields.index(field_LASFileInfo_File_LAS_Class)]

        where_clause = "{} = '{}'".format(
            arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_ProjID),
            project_id)
        where_clause = "{} and {} = '{}'".format(
            where_clause,
            arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_Name),
            file_name)
        if las_class is None:
            where_clause = "{} and {} is null".format(
                where_clause,
                arcpy.AddFieldDelimiters(self.fclass,
                                         field_LASFileInfo_File_LAS_Class),
                las_class)
        else:
            where_clause = "{} and {} = {}".format(
                where_clause,
                arcpy.AddFieldDelimiters(self.fclass,
                                         field_LASFileInfo_File_LAS_Class),
                las_class)

        return Utility.addOrUpdateRecord(in_table=self.fclass,
                                         field_names=self.fields,
                                         uidIndex=self.uid_index,
                                         rowValueList=row,
                                         where_clause=where_clause)
Esempio n. 5
0
    def saveOrUpdate(self, row):
        project_id = row[self.fields.index(field_LASFileInfo_ProjID)]
        file_name = row[self.fields.index(field_LASFileInfo_File_Name)]
        category = row[self.fields.index(field_LASDStatInfo_Category)]
        item = row[self.fields.index(field_LASDStatInfo_Item)]

        where_clause = "{} = '{}'".format(
            arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_ProjID),
            project_id)
        where_clause = "{} and {} = '{}'".format(
            where_clause,
            arcpy.AddFieldDelimiters(self.fclass, field_LASFileInfo_File_Name),
            file_name)
        where_clause = "{} and {} = '{}'".format(
            where_clause,
            arcpy.AddFieldDelimiters(self.fclass, field_LASDStatInfo_Category),
            category)
        where_clause = "{} and {} = '{}'".format(
            where_clause,
            arcpy.AddFieldDelimiters(self.fclass, field_LASDStatInfo_Item),
            item)
        return Utility.addOrUpdateRecord(in_table=self.fclass,
                                         field_names=self.fields,
                                         uidIndex=self.uid_index,
                                         rowValueList=row,
                                         where_clause=where_clause)
Esempio n. 6
0
 def saveOrUpdateRasterFileStat(self, row, project_id, file_name,
                                elevation_type, group):
     ''' NOTE: This depends on the fields being in the correct order!
         @see: CMDRConfig.fields_RasterFileStat for the correct order
     '''
     where_clause = "{} = '{}'".format(
         arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_ProjID),
         project_id)
     where_clause = "{} and {} = '{}'".format(
         where_clause,
         arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_Name),
         file_name)
     where_clause = "{} and {} = '{}'".format(
         where_clause,
         arcpy.AddFieldDelimiters(self.fclass,
                                  field_RasterFileStat_ElevType),
         elevation_type)
     where_clause = "{} and {} = '{}'".format(
         where_clause,
         arcpy.AddFieldDelimiters(self.fclass, field_RasterFileStat_Group),
         group)
     return Utility.addOrUpdateRecord(in_table=self.fclass,
                                      field_names=self.fields,
                                      uidIndex=self.uid_index,
                                      rowValueList=row,
                                      where_clause=where_clause)
Esempio n. 7
0
def updateProjIDAOI(project_id, row, aoi, fclass, fields, uid_index):
    # Where WMXJobID = '<Job_ID>'
    where_clause = "{} = '{}'".format(
        arcpy.AddFieldDelimiters(fclass, field_Contract_ProjID), project_id)

    index = fields.index(field_ProjectJob_SHAPE)
    row = list(row)
    if aoi is not None:
        row[index] = aoi

    Utility.addOrUpdateRecord(in_table=fclass,
                              field_names=fields,
                              uidIndex=uid_index,
                              where_clause=where_clause,
                              rowValueList=row)

    return row
Esempio n. 8
0
    def updateJobAOI(self, project_row, project_AOI):
        wmx_job_id = self.getWMXJobID(project_row)
        # Where WMXJobID = '<Job_ID>'
        where_clause = "{} = {}".format(
            arcpy.AddFieldDelimiters(self.fclass, field_ProjectJob_WMXJobID),
            wmx_job_id)
        project_row = list(project_row)
        index = self.fields.index(field_ProjectJob_SHAPE)
        project_row[index] = project_AOI

        Utility.addOrUpdateRecord(in_table=self.fclass,
                                  field_names=self.fields,
                                  uidIndex=self.uid_index,
                                  where_clause=where_clause,
                                  rowValueList=project_row)

        return project_row
Esempio n. 9
0
    def addOrUpdateProject(self, project_ID, project_UID, project_AOI):
        # Where ProjectID = '<project_ID>'
        where_clause = "{} = '{}'".format(
            arcpy.AddFieldDelimiters(self.fclass, field_Contract_ProjID),
            project_ID)
        arcpy.AddMessage(
            "Checking to see if {} exists in CMDR Contracts".format(
                project_ID))
        row_Contracts, project_UID = Utility.getExistingRecord(
            in_table=self.fclass,
            field_names=self.fields,
            uidIndex=self.uid_index,
            where_clause=where_clause)
        if row_Contracts is None:
            project_UID = Utility.createUid(None)
            arcpy.AddMessage(
                "Existing row not found, creating new one with UID {}".format(
                    project_UID))
        else:
            if project_UID is None or len(project_UID) < 5:
                project_UID = Utility.createUid(None)
                arcpy.AddMessage(
                    "Found existing row {} with invalid UID. New UID {}".
                    format(row_Contracts, project_UID))
            else:
                arcpy.AddMessage("Found existing row {} with UID {}".format(
                    row_Contracts, project_UID))

        row_Contract = [
            project_UID,  # UID
            project_ID,  # ProjectID
            project_AOI
        ]  # SHAPE@
        Utility.addOrUpdateRecord(in_table=self.fclass,
                                  field_names=self.fields,
                                  uidIndex=self.uid_index,
                                  where_clause=where_clause,
                                  rowValueList=row_Contract)

        return row_Contract
Esempio n. 10
0
    def addOrUpdate(self, wmx_job_ID, parent_dir, master_name,
                    masterCellSize_m, masterServerConnectionFilePath,
                    masterServiceFolder, master_AOI):
        # Create project directory path
        masterDir = parent_dir
        if masterServiceFolder is not None and len(masterServiceFolder) > 0:
            masterDir = os.path.join(masterDir, masterServiceFolder)
        if master_name is not None and len(master_name) > 0:
            masterDir = os.path.join(masterDir, master_name)

        where_clause = "{} = {}".format(
            arcpy.AddFieldDelimiters(self.fclass, field_MDMaster_WMXJobID),
            wmx_job_ID)
        row = [
            master_AOI, wmx_job_ID, master_name, masterDir, parent_dir,
            masterCellSize_m, masterServerConnectionFilePath,
            masterServiceFolder
        ]
        return Utility.addOrUpdateRecord(in_table=self.fclass,
                                         field_names=self.fields,
                                         uidIndex=self.uid_index,
                                         rowValueList=row,
                                         where_clause=where_clause)