예제 #1
0
# remplissage du dictionnaire esenciales
x = 0
for i in chps_E:
    dico[i] = provis[x], code[x]
    x = x+1

# sélection des champs selon présence/absence et maj du champ
print "Sélection et mise à jour des champs selon les thèmes"
sel_attr(lyr,"CLEAR_SELECTION")
j = 1
for chp in dico:
    j = j+1
    expression = chp + "=1"
    expression2 = "'" + dico[chp][1] + "'"
    sel = sel_attr(lyr, "NEW_SELECTION", expression)
    nbr = count_obj(sel)
    feuy2.write(j, 0, chp)
    feuy2.write(j, 1, dico[chp][1])
    feuy2.write(j, 2, str(nbr))
    print "Nbr de mailles du champ " + expression + " : OK."
    calc_champ(sel, dico[chp][0] ,expression2, "PYTHON")
    concac = concac + "+" + "!" + dico[chp][0] + "!"

sel_attr(lyr,"CLEAR_SELECTION")


# concaténation dans le champ code
print "Concaténation des champs provisoires codes"
concac = concac[1:]
tipo =  dico[chp][1] + "_code"
new_champ(mailles, tipo , 'TEXT', 6)
예제 #2
0
c = 0
x = 0
while x < 6:
    j = 1
    if x == 0:
        expr = "Tot_E >" + str(x)
    else:
        expr = "Tot_E = " + str(x)
    sel1 = sel_attr(lyr, "NEW_SELECTION", expr)
    for chp in dico:
        j = j + 1
        expression = chp + "=1"
        expression2 = "'" + dico[chp][1] + "'"
        expression3 = chp + "=1 And Tot_E = " + str(j)
        sel = sel_attr(lyr, "NEW_SELECTION", expression)
        nbr = count_obj(sel)
        sel2 = sel_attr(lyr, "NEW_SELECTION", expression3)
        nbr2 = count_obj(sel2)
        feuy2.write(j, 0, chp)
        feuy2.write(j, 1, dico[chp][1])
        feuy2.write(j, x + 2, str(nbr2))
        calc_champ(sel, dico[chp][0], expression2, "PYTHON")
        concac = concac + "+" + "!" + dico[chp][0] + "!"
    x = x + 1


'''j = 1
for chp in dico:
    j = j+1
    expression = chp + "=1"
    expression2 = "'" + dico[chp][1] + "'"
예제 #3
0
        desc = get_info(shape)    # objet de description d'arcpy
        feuy1.write(lig, 0, desc.basename)    # nom du shape (sans l'extension)
        lien = 'HYPERLINK("' + desc.path + '"; "Atteindre le dossier")'    # chemin du dossier contenant formaté pour être un lien
        feuy1.write(lig, 1, Formula(lien), hyperlien)
        feuy1.write(lig, 2, desc.shapeType)    # type de la géométrie
        feuy1.write(lig, 3, desc.hasSpatialIndex)    # indique si le shape possède un index spatial
        emprise = "Xmin : " + unicode(desc.extent.XMin) + ", Xmax : " + unicode(desc.extent.XMax) + ", Ymin : " + unicode(desc.extent.YMin) + ", Ymax : " + unicode(desc.extent.YMax)        # Extrait les bornes de l'emprise
        feuy1.write(lig, 4, emprise)
        feuy1.write(lig, 5, desc.spatialReference.name)    # Nom de la projection
        feuy1.write(lig, 6, desc.spatialReference.factoryCode)    # Code EPSG de la projection
        for chp in desc.fields:    # parcourt les champs du shape
            champs = champs + chp.name + " (" + chp.type + ", Lg. = " + unicode(chp.length) + ", Pr. = " + unicode(chp.precision) + "), "    # extrait quelques données sur chaque champ
            nbr_chps = nbr_chps +1    # compte le nombre de champs
        feuy1.write(lig, 7, nbr_chps)
        feuy1.write(lig, 11, champs)
        feuy1.write(lig, 8, int(str(count_obj(shape))))    # compte le nombre d'objets
        feuy1.write(lig, 9, desc.hasM)    # indique si le shape possède un
        feuy1.write(lig, 10, desc.hasZ)    # indique si le shape possède des données d'altitude
    except:    # gestion des erreurs
        l_err.append(shape)    # liste des shapes qui renvoient des erreurs
        feuy1.write(lig, 0, desc.basename)
        lien = 'HYPERLINK("' + desc.path + '"; "Atteindre le dossier")'    # chemin du dossier contenant formaté pour être un lien
        feuy1.write(lig, 1, Formula(lien), hyperlien)
        feuy1.write(lig, 2, "ERREUR", entete)
    lig = lig +1


## Sauvegarde du fichier excel
saved = savefic(initialdir= cible, filetypes=[("Classeurs Excel","*.xls")])
if path.splitext(saved)[1] != ".xls":
    saved = saved + ".xls"