Etiqueta | Explicación | Tipo 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.
| String |
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

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.
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
arcpy.cartography.GenerateContiguousCartogram(in_features, field_name, out_features, {method})
Nombre | Explicación | Tipo 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.
| String |
Muestra de código
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")
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)