Generar cartograma contiguo (Cartografía)

Resumen

Genera un cartograma distorsionando el área de los polígonos para que sean proporcionales entre sí basándose en un campo numérico y conservando los límites compartidos.

Ilustración

Ilustración de la herramienta Generar cartograma contiguo
Los límites compartidos se mantienen mientras que el tamaño y la forma de los polígonos de entrada se distorsionan para que el área de cada entidad represente el valor de un campo de atributo, que en este caso representa la población total de cada entidad.

Uso

  • La salida será una nueva capa de entidades de polígono con los polígonos transformados de forma que el área de cada entidad sea proporcional al valor de un campo numérico comparado con la suma de ese campo en todas las entidades de la entrada.

  • Los datos de atributos de la capa de entrada se transferirán a la de salida. La simbología y el etiquetado se transferirán cuando la entrada sea una capa simbolizada.

  • El parámetro Método ofrece las siguientes opciones:

    • Basado en flujo: esta opción es una evolución del método Difusión y suele ser más rápida. La forma de los polígonos de salida puede ser diferente o contener algo más de distorsión en comparación. Esta es la opción predeterminada.
    • Difusión: esta opción puede introducir algo menos de distorsión en las formas originales que la opción Basado en flujo, aunque tarda más en completarse.
    Cada opción intentará conservar la forma general de los polígonos individuales manteniendo los bordes compartidos.

  • Para reducir el tiempo de procesamiento, puede ejecutar la herramienta Simplificar polígono en las entidades de entrada antes de ejecutar esta herramienta. Esto puede dar lugar a que algunos polígonos de salida aparezcan excesivamente simplificados si se distorsionan para ser significativamente más grandes.

  • Los datos de entrada o el mapa activo que muestra los datos deben utilizar una proyección de área igual adecuada para esa región. De este modo, el área visible de los polígonos de entrada representará con mayor precisión el área real antes de ser modificada. Utilice el entorno Sistema de coordenadas cartográficas si no hay ningún mapa activo y los datos utilizan una proyección de área no igual. Visualice los resultados en la misma proyección de áreas iguales para obtener una representación precisa de las áreas de entidades ajustadas.

  • Los valores de campo del parámetro Nombre de campo deben ser números positivos. Las entidades cuyo valor sea negativo o 0 no aparecerán en la salida.

  • Recursos adicionales:

    Gastner, Michael T. y M. E. J. Newman. 2004. "Diffusion-based method for producing density-equalizing maps." Proceedings of the National Academy of Sciences of the United States of America, 101(20): 7499–7504.

    Gastner, Michael T., Vivien Seguy, and Pratyush More. 2018. "Fast flow-based algorithm for creating density-equalizing map projections." Proceedings of the National Academy of Sciences of the United States of America, 115(10): E2156-E2164.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Entidades de polígono de entrada que se utilizarán para generar el cartograma.

Feature Layer
Nombre de campo

Campo numérico que contiene los valores que determinarán el área de las entidades de polígono en el cartograma de salida. Las entidades cuyo valor sea negativo o 0 se omitirán de la salida.

Field
Clase de entidad de salida

Polígonos de salida con la transformación de cartograma aplicada.

Feature Layer
Método
(Opcional)

Especifica el método que se utilizará para transformar la entrada y crear el cartograma.

  • Basado en flujoSe utilizará una evolución del método de difusión que suele ser más rápida, lo que puede aumentar la distorsión. Esta es la opción predeterminada.
  • DifusiónSe utilizará el método de difusión, que puede introducir menos distorsión que el método basado en el flujo, aunque tarda más en completarse.
String

arcpy.cartography.GenerateContiguousCartogram(in_features, field_name, out_features, {method})
NombreExplicaciónTipo de datos
in_features

Entidades de polígono de entrada que se utilizarán para generar el cartograma.

Feature Layer
field_name

Campo numérico que contiene los valores que determinarán el área de las entidades de polígono en el cartograma de salida. Las entidades cuyo valor sea negativo o 0 se omitirán de la salida.

Field
out_features

Polígonos de salida con la transformación de cartograma aplicada.

Feature Layer
method
(Opcional)

Especifica el método que se utilizará para transformar la entrada y crear el cartograma.

  • FLOW-BASEDSe utilizará una evolución del método de difusión que suele ser más rápida, lo que puede aumentar la distorsión. Esta es la opción predeterminada.
  • DIFFUSIONSe utilizará el método de difusión, que puede introducir menos distorsión que el método basado en el flujo, aunque tarda más en completarse.
String

Muestra de código

Ejemplo de GenerateContiguousCartogram (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función GenerateContiguousCartogram de modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data/admin.gdb"
arcpy.cartography.GenerateContiguousCartogram(
    "countries", 
    "population", 
    "countries_cartogram_population", 
    "FLOW-BASED")
Ejemplo de GenerateContiguousCartogram (secuencia de comandos independiente)

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

# Name: GenerateContiguousCartogram_sample2.py
# Description: Output a contiguous cartogram of country polyons 
#              based on popuplation.

# Import System Modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/admin.gdb"

# Set Local Variables
in_features = "countries"
value_field = "population"
out_cartogram = "countries_cartogram_population"
algorithm = "DIFFUSION"

# Execute Generate Contiguous Cartogram
arcpy.cartography.GenerateContiguousCartogram(
    in_features, 
    value_field, 
    out_cartogram, 
    algorithm)