¿Cómo disolver los polígonos superpuestos?


10

Tengo una consulta sobre la disolución de entidades poligonales en ArcGIS 9.3. Solo tengo la licencia básica y un conocimiento extremadamente básico de VB.

Tengo un gran archivo de forma con alrededor de 4500 polígonos y quiero saber si hay alguna forma de disolver los que se superponen. Básicamente, quiero convertir esta capa en un archivo de forma que contenga áreas separadas, por lo que donde un polígono esté solo permanecerá, pero donde se superponen múltiples polígonos se disuelven en 1, y cada área separada tiene su propio conjunto de atributos. El archivo de forma cambia con bastante frecuencia y hasta ahora he estado revisando todos ellos y disolviendo manualmente áreas superpuestas usando la herramienta de edición, ¡pero estoy seguro de que hay una forma mucho más rápida de hacerlo!

¿Alguna idea de cómo se puede lograr esto?


¡He intentado usar la herramienta de disolución y unirme a la tabla de atributos exportados y esto funciona perfectamente! Pensé que la herramienta de disolución solo funcionaba con atributos y no con la ubicación espacial, por lo que es extremadamente útil saberlo. También el código de ModelBuilder es


Grandes respuestas Brad Nesom, ¿cómo se obtiene el valor original de la tabla de atributos para el shapefile disuelto?
Gunnar

Necesito lo que hiciste, pero cuando ejecuto la herramienta de disolución, solo combina todas sus características en mi forma, por lo que no funciona. ¿Cómo lo hiciste correr?
Federico Gómez

Respuestas:


13

Puede que me falte algo, pero ¿la herramienta básica Disolver (en algún lugar de la caja de herramientas de administración de datos) no hará esto por usted? No es necesario meterse con ningún código como en la respuesta de artwork21. Simplemente abra la herramienta de disolución, seleccione su clase de entidad, no seleccione ningún campo para disolver, y luego desmarque 'Crear polígonos de varias partes' de lo contrario, todos sus poli se convertirán en un gran polivinílico de múltiples partes.

No tengo Arc frente a mí en este momento, pero si estoy leyendo tu pregunta correctamente, lo he hecho antes de usar este método. La única preocupación aquí son los atributos en la tabla. Usted conoce los datos, por lo que tendrá que elegir cómo combinar cada campo en la parte Campos de estadística de la herramienta.

Si este proceso se realiza con mucha frecuencia o si desea que se realice automáticamente, hágalo con el generador de modelos y expórtelo a un script, pero esta herramienta debería tardar 10 segundos en completarse.


14

@ Tom Parker - MWrenn es correcto.
Tiene la opción de seleccionar un atributo para disolverlo (esto hará que un atributo se disuelva) o ningún atributo (esto hará una disolución espacial).

elija las estadísticas y cualquier atributo que desee transferir. (Esto no va a funcionar como quieres).

opciones

Antes de hacer la disolución. cree un nuevo campo y calcule el FID en él.
Luego exporta un dbf de tus atributos y puedes (unirlos de nuevo con los polígonos luego).

Si necesita ayuda con esto, avíseme y publicaré más capturas de pantalla o encontraré ayuda en el centro de recursos de arcgis.com.

Si observa en la siguiente captura de pantalla, el nombre es el mismo en todos los polígonos (9.3.1 no parece disolverse correctamente de arcmap). Pruébalo desde arccatalog.

después de disolverse

Quizás alguien más tenga un mejor método.

La única otra forma en que puedo pensar es seleccionar por ubicación (polígonos que se cruzan entre sí).
Exporte esos a un archivo separado y luego disuélvalos.
Luego, después de disolver cada archivo, puede usar las capas de fusión gratuitas (en et-geo-wizards)


4

Puede crear un modelo en Model Builder y exportar el script, luego copiar y pegar ese script en un UIButtonControl dentro de ArcMap vba. Vea el ejemplo del script a continuación.

Private Sub Dissolve_Click()

' Create the Geoprocessor object
set gp = CreateObject("esriGeoprocessing.GPDispatch.1")

' Load required toolboxes...
gp.AddToolbox "C:/Progra~1/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"

' Local variables...

Dim test_shp as string

test_shp = "C:\Temp\test.shp"
Output_Feature_Class = "C:\Temp\test_Dissolve.shp"

' Process: Dissolve...
gp.Dissolve_management test_shp, Output_Feature_Class, "", "", 
  "MULTI_PART", "DISSOLVE_LINES"

End Sub
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.