Revision 41521 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/resources-plugin/scripting/scripts/validate_layer.py

View differences:

validate_layer.py
56 56
    for feature in layer.features():
57 57
      # En cada iteracion informamos a la barra de progreso de por donde vamos
58 58
      taskStatus.setCurValue(i)
59
      vs = feature.geometry().getValidationStatus();
60
      if not vs.isValid() :
61
        hay_problemas = True
62
        if vs.getProblemLocation()!=None:
63
          wktgeom = vs.getProblemLocation().convertToWKT()
59
      if feature.geometry() != None:
60
        vs = feature.geometry().getValidationStatus();
61
        if not vs.isValid() :
62
          hay_problemas = True
63
          if vs.getProblemLocation()!=None:
64
            wktgeom = vs.getProblemLocation().convertToWKT()
65
          else:
66
            try:
67
              # Atrapamos los errores no vaya a ser que la geometria este tan dañada que
68
              # nos falle el calculo de su centroide.
69
              wktgeom = feature.geometry().centroid().convertToWKT()
70
            except:
71
              wktgeom = None
72
          output.write("<li>")
73
          if wktgeom == None:
74
            output.write('%5.5d %s<br>%s' % (i, feature.toString(),vs.getMessage()))
75
          else:
76
            output.write('<a href="%s">%5.5d</a> %s<br>%s' % (wktgeom,i, feature.toString(),vs.getMessage()))
77
          output.write("</li>")
78
          layer.getSelection().select(feature)
64 79
        else:
65
          try:
66
            # Atrapamos los errores no vaya a ser que la geometria este tan dañada que
67
            # nos falle el calculo de su centroide.
68
            wktgeom = feature.geometry().centroid().convertToWKT()
69
          except:
70
            wktgeom = None
71
        output.write("<li>")
72
        if wktgeom == None:
73
          output.write('%5.5d %s<br>%s' % (i, feature.toString(),vs.getMessage()))
74
        else:
75
          output.write('<a href="%s">%5.5d</a> %s<br>%s' % (wktgeom,i, feature.toString(),vs.getMessage()))
76
        output.write("</li>")
77
        layer.getSelection().select(feature)
80
          hay_problemas = True
81
          output.write("<li>")
82
          output.write('%5.5d %s<br>%s' % (i, feature.toString(), "Null geometry"))
83
          output.write("</li>")
78 84
      i+=1
79 85
  finally:  
80 86
    # Al terminar
......
95 101
  else:
96 102
    msgbox("Layer "+layer.getName()+" is valid.")
97 103

  
104

  

Also available in: Unified diff