El recuento de partes no dará la respuesta correcta . Podría tener un polígono de varias partes sin agujeros. Vea la imagen a continuación para ver el escenario.
Esta habría sido una simple consulta previa a ArcGIS 10, ya que podría haber llamado ArcObjects para preguntar si el polígono tenía un agujero, pero ESRI ha eliminado gran parte de este soporte en el entorno de VBScripting hasta el punto que es bastante inútil ahora, realmente es una pena ...
De todos modos, puedes resolver esta pregunta con Python:
def hasHole(geom):
parts = geom.partCount
boundaries = geom.boundary().partCount
if boundaries > parts:
return 1
else:
return 0
En el cuadro de expresión colocarías lo siguiente:
hasHole(!Shape!)