4 votos

ArcGIS, detectar polígonos adyacentes con diferentes valores

Estoy desarrollando una extensión de ArcMap y necesito validar un caso particular. Necesito detectar adyacentes a los polígonos que tienen un valor igual, y los otros no son iguales. Yo de echar un vistazo a la imagen, el color amarillo de los polígonos que no son válidos y necesito para informar al usuario. El sector está "Sector 2" en ambos polígonos, sino, el siguiente valor no es el mismo (100 vs 200). Si los sectores son diferentes, los polígonos sería válida. El violeta y el verde de los polígonos que están bien, porque para el violeta, el uno, los valores son todos de la misma y para el verde, los polígonos no se tocan.

La razón por la que estoy haciendo esto es porque el usuario sólo debe utilizar un polígono de un mismo sector, si los polígonos están tocando. Así que si todos los valores son los mismos, me puede disolver los polígonos de lo contrario, la disuelven, no funcionará.

Es allí una manera de hacer esto?

Adjacent validation

5voto

saint_groceon Puntos 2696

Esto se puede hacer con arcobjects.

Crear un diccionario genérico, Dictionary<int,List<string>> de carga y con un cursor, el bucle a través de las características de su polígono featureclass, de tal manera que la clave es el id de objeto y una Lista de valores del campo (por ejemplo, "el Sector 2", "100").

Encontrar el ITopologyExtension, y obtener la IMapTopology.Caché.

El bucle a través de cada ITopologyGraph.Edges y consulta el diccionario para ver si a la izquierda y a la derecha los padres tienen valores adecuados.

Si es una violación, crear un ILineElement con el borde de la geometría, y agregar a la Map uso de IGraphicsContainer.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X