Simplificar edificio (Cartografía)

Resumen

Simplifica el límite o la huella de los polígonos de edificios al tiempo que mantienen su forma y tamaño esenciales.

Ilustración

Ilustración de Simplificar edificio

Uso

  • El parámetro Área mínima se aplica únicamente a los edificios simplificados. Cualquier edificio que sea menor que el área mínima después de completar el proceso de simplificación se eliminará de la clase de entidad de salida.

  • Utilice el parámetro Capas de barrera de entrada para identificar las entidades que los edificios simplificados no deben cruzar. Las entidades de barrera pueden ser puntos, líneas o polígonos.

  • Utilice el parámetro Mantener puntos contraídos (collapsed_point_option en Python) para crear una clase de entidad de punto de salida donde almacenar los puntos que representen los edificios que se eliminan por ser más pequeños que el área mínima. Se deriva la salida de puntos; utilizará el mismo nombre y ubicación que el parámetro Clase de entidad de salida (out_feature_class en Python) pero con el sufijo _Pnt. La clase de entidad poligonal de salida contiene todos los campos presentes en la clase de entidad de entrada. La clase de entidad de punto de salida no contiene ninguno de estos campos.

  • La clase de entidad de salida incluirá un campo BLD_STATUS para indicar el estado de simplificación de la siguiente forma:

    • 1: se ha simplificado un solo edificio
    • 2: se ha simplificado un solo edificio a su rectángulo mínimo de delimitación
    • 3: se ha simplificado un edificio más pequeño que su tolerancia al cuadrado a su rectángulo mínimo de delimitación
    • 5: un edificio que no se ha simplificado
    Heredado:

    Antes de la versión 10 de ArcGIS, BLD_STATUS = 4 indicaba edificios simplificados o parcialmente simplificados conectados con líneas rectas. BLD_STATUS = 4 ya no se utiliza.

    Precaución:

    Si ya existe un campo BLD_STATUS en la clase de entidad de entrada, estará presente en la clase de entidad de salida rellenada con los nuevos valores. Los valores existentes se sobrescribirán. Para conservar los valores existentes, cree un campo en la clase de entidad de entrada y copie los valores existentes del campo BLD_STATUS en este nuevo campo.

  • Si se utiliza el parámetro Verificar los conflictos espaciales, la herramienta detectará los conflictos espaciales y agregará un campo SimBldFlag a la salida para almacenar los marcadores de conflicto. Un valor 0 significa que no hay ningún conflicto; un valor 1 significa que hay conflicto.

    Precaución:

    Si ya existe un campo SimBldFlag en la clase de entidad de entrada, estará presente en la clase de entidad de salida rellenada con los nuevos valores. Los valores existentes se sobrescribirán aunque este parámetro esté desactivado (conflict_option = "NO_CHECK" en Python). Cuando los conflictos espaciales no se estén comprobando, este campo existente se sobrescribirá con valores NULL. Para conservar los valores existentes, cree un campo en la clase de entidad de entrada y copie los valores existentes del campo SimBldFlag en este nuevo campo.

  • Esta herramienta no se puede ejecutar en una sesión de edición.

  • Los valores z de entrada se pueden conservar si se especifica en la configuración del entorno. Si los vértices de salida coinciden con los vértices de la entidad de entrada, los valores z se transferirán a los vértices de salida. De lo contrario, los valores z se derivarán de los valores z existentes o mediante una interpolación.

  • La geometría no válida (autointersecante) se puede crear durante el proceso de simplificación y se reparará pero no mejorará. Por ejemplo, si un polígono se cruza consigo mismo, el polígono se convertirá en un polígono multiparte pero seguirá viéndose cruzado.

  • Los dominios y subtipos se copian a la salida, incluso si el entorno Transferir propiedades de campos de geodatabase está desactivado.

  • El procesamiento de datasets grandes podría superar los límites de memoria. En estos casos, considere la posibilidad de procesar los datos de entrada por partición identificando una clase de entidad poligonal relevante en la configuración de entorno Particiones cartográficas. Las partes de los datos definidos por los límites de partición se procesarán en secuencia. La clase de entidad resultante será sin fisuras y coherente en los bordes de la partición. Consulte Generalizar datasets grandes usando particiones para obtener más información.

Sintaxis

arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers}, {collapsed_point_option})
ParámetroExplicaciónTipo de datos
in_features

Los polígonos de edificios que se simplificarán.

Feature Layer
out_feature_class

La clase de entidad de salida que se creará.

Feature Class
simplification_tolerance

La tolerancia para la simplificación de edificios. Se debe especificar una tolerancia, la cual debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

Linear Unit
minimum_area
(Opcional)

El área mínima para que un edificio simplificado se conserve en las unidades de la entidad. El valor predeterminado es cero, es decir, para mantener todos los edificios. Puede especificar la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

Areal Unit
conflict_option
(Opcional)

Especifica si se deben buscar conflictos espaciales, es decir, superposición o contacto entre edificios. Se agrega un campo SimBldFlag a la salida para almacenar los marcadores de conflicto. Un valor 0 significa que no hay ningún conflicto; un valor 1 significa que hay conflicto.

  • NO_CHECKNo se buscan conflictos espaciales; es posible que los edificios resultantes se superpongan. Esta es la opción predeterminada.
  • CHECK_CONFLICTSSe buscan conflictos espaciales; los edificios en conflicto se marcarán.
Boolean
in_barriers
[in_barriers,...]
(Opcional)

Las capas de entrada que contienen las entidades que actúan como barreras para la simplificación. Los edificios simplificados resultantes no tocarán ni cruzarán las entidades de barrera. Por ejemplo, al simplificar edificios, las áreas de edificios simplificadas resultantes no cruzarán las entidades de carreteras definidas como barreras.

Feature Layer
collapsed_point_option
(Opcional)

Especifica si se creará una clase de entidad de punto de salida donde almacenar los centros de todos los edificios que se eliminan por ser más pequeños que el valor del parámetro minimum_area. Se deriva la salida de puntos, se le asigna el mismo nombre que la clase de entidad de salida especificada en el parámetro out_feature_class, pero con el sufijo _Pnt y se ubica en la misma carpeta.

  • KEEP_COLLAPSED_POINTS Se creará una clase de entidad de punto de salida donde almacenar los centros de los edificios que se eliminan.
  • NO_KEEP No se creará ninguna clase de entidad de punto de salida. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_point_feature_class

La clase de entidad de punto de salida que almacenará puntos que representen edificios eliminados porque son más pequeños que el valor del parámetro Área mínima (minimum_area en Python). Este parámetro solo se utiliza cuando el parámetro Mantener puntos contraídos está activado (collapsed_point_option = "KEEP_COLLAPSED_POINTS" en Python).

Clase de entidad

Muestra de código

Ejemplo 1 de SimplifyBuilding (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función SimplifyBuilding en modo inmediato.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
Ejemplo 2 de SimplifyBuilding (script independiente)

El siguiente script independiente muestra cómo utilizar la función SimplifyBuilding.

# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them
# Import system modules
import arcpy
import arcpy.cartography as CA
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Buildings"
# Set local variables
inBuildingFeatures = "houses"
inBarrierFeatures = "roads"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"
# Aggregate house polygons.
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100, "ORTHOGONAL")
# Simplify residential building polygons.
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100, "CHECK_CONFLICTS", inBarrierFeatures, "KEEP_COLLAPSED_POINTS")

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados