#30DayMapChallenge 2026 · Día 10 · Prompting only

0
arcgis-con-MCP


¿De verdad importa cómo le pides un mapa a la IA? Hice la prueba: les di el mismo dato, las áreas protegidas de Venezuela (ABRAE), a tres prompts distintos y construí cada resultado en ArcGIS Pro. Esta guía te cuenta cómo escribir un prompt para mapas con ArcGIS Pro y MCP, cómo armé el mapa final paso a paso y qué cambia entre pedir «un mapa bonito» y pedir un mapa con criterio.

En esta guía aprenderás
  • Los 8 ingredientes de un prompt que produce un mapa listo para publicar.
  • Cómo se traduce ese prompt en código y herramientas de ArcGIS Pro vía MCP.
  • Por qué pedir proyección, jerarquía y cálculos cambia las cifras y no solo el estilo.

Tablero oscuro con tres mapas de áreas protegidas de Venezuela hechos con tres prompts: vago, medio y experto, y la lista de verificación de cada uno
Figura 1. El duelo de prompts: el mismo dato, tres formas de pedirlo. Fuente: ABRAE (SIGOT). Elaboración DALPGIS.


¿Qué es un prompt para mapas y por qué importa?

Un prompt para mapas es la instrucción con la que le pides a una IA que construya un mapa en tu software. Con el MCP de ArcGIS Pro, la IA no te da texto: abre tu proyecto, ejecuta herramientas y exporta. Por eso lo que no digas, lo decide ella. Si no hablas de proyección, usa la que trae el mapa; si no hablas de jerarquía, todo pesa igual; si no pides fuente, no hay fuente.

Un prompt completo responde 8 preguntas: qué muestras, con qué datos, qué categorías, qué va al frente, qué estilo y fondo, qué proyección, qué etiquetas y cifras, y cómo cierras el mapa (fuente, CRS, escala y formato).


Quién hizo qué

TareaLa IA (MCP de ArcGIS Pro)Yo
DatosUnió las 10 clases de entidad en una sola, reproyectó a Albers y calculó los km²Elegí las categorías y qué es un «parque»
MapasCreó los tres mapas, las capas, el orden de dibujo y la simbologíaEscribí los tres prompts y la paleta gris y dorado
LayoutArmó el layout 16:9, la leyenda, la escala y las etiquetas, y exportó PNG y PDFRevisé la vista previa y pedí correcciones
RevisiónCorrigió proyección, título y posición de la leyendaVerifiqué cifras, textos y la nota de honestidad
Una aclaración honesta. Los mapas 1 y 2 son reproducciones ilustrativas de lo que suele salir con un prompt de ese nivel; los construí en ArcGIS Pro con simbología por defecto. Sirven para comparar, no son una medición de un modelo en particular. Lo dejé escrito en el pie del mapa.


Paso a paso

Paso 1. Prepara los datos antes de pedir el mapa

Las ABRAE vienen en 10 clases de entidad separadas. Las agrupé en 7 categorías, las reproyecté a ESRI:102033 (Albers Sudamérica, área equivalente) y calculé los km² de cada polígono ya en esa proyección. Repara la geometría antes de disolver: una geometría inválida rompe PairwiseDissolve.

import arcpy

# En la ventana de Python de ArcGIS Pro: aprx = arcpy.mp.ArcGISProject("CURRENT")
base = r"D:\PROY_RETO_MAPAS\DIA_10"
ABRAE = r"E:\ONCC\BD_ONCC\BD_GEO\MINEC_SIGOT\MINEC_SIGOT_File.gdb\ABRAE" + "\\"
ALB = arcpy.SpatialReference(102033)          # Albers Sudamérica, área equivalente

fc = arcpy.management.CreateFeatureclass(base + r"\D10.gdb", "ABRAE_D10", "POLYGON", spatial_reference=ALB)[0]
arcpy.management.AddField(fc, "TIPO", "TEXT", field_length=60)
arcpy.management.AddField(fc, "NOMBRE", "TEXT", field_length=400)
arcpy.management.AddField(fc, "KM2", "DOUBLE")

# (categoría, clase de entidad, campo con el nombre)
SRC = [("Parque Nacional", "Parques_Nacionales", "Nb_abrae"),
       ("Monumento Natural", "Monumento_Naturales", "NB_ABRAE"),
       ("Zona Protectora", "Zona_Protectoras", "NOMBRE"),
       ("Reserva Forestal y lote boscoso", "Reserva_Forestal", "NOMBRE"),
       ("Reserva Forestal y lote boscoso", "Lotes_Boscosos", "NOMBRE"),
       ("Fauna silvestre", "Reserva_Fauna_Silvestre", "NOMBRE"),
       ("Fauna silvestre", "Refugio_Fauna_Silvestre", "NOMBRE"),
       ("Fauna silvestre", "Santuario_Fauna_Silvestre", "NOMBRE"),
       ("Reserva de Biosfera", "Reserva_Biosfera", "NOMBRE"),
       ("Reserva Nacional Hidráulica", "Reserva_Nacional_Hidraulica", "NOMBRE")]

with arcpy.da.InsertCursor(fc, ["SHAPE@", "TIPO", "NOMBRE", "KM2"]) as ic:
    for tipo, clase, campo in SRC:
        with arcpy.da.SearchCursor(ABRAE + clase, ["SHAPE@", campo]) as sc:
            for g, nombre in sc:
                if g is None:
                    continue
                ga = g.projectAs(ALB)          # km² se calculan ya en Albers
                ic.insertRow([ga, tipo, (nombre or "").strip()[:390], ga.area / 1e6])

arcpy.management.RepairGeometry(fc, "DELETE_NULL")   # antes de disolver

# área sin duplicar solapes (disolver todo y medir)
arcpy.analysis.PairwiseDissolve(fc, base + r"\D10.gdb\dis_all")
union_km2 = sum(r[0].area for r in arcpy.da.SearchCursor(base + r"\D10.gdb\dis_all", ["SHAPE@"])) / 1e6
print(round(union_km2))

Dos cifras salen de aquí: 192 polígonos y la diferencia entre la suma simple (582.803 km²) y el área sin duplicar solapes (431.826 km²). Esa diferencia es el motivo por el que el prompt experto pide «sin duplicar solapes».


Paso 2. Escribe los tres prompts

Usé el mismo dato y solo cambié la instrucción:

Vago (0/6): «Hazme un mapa bonito de los parques de Venezuela.»
Medio (2/6): «Haz un mapa de las áreas protegidas de Venezuela con título, leyenda y colores por tipo.»
Experto (6/6): «Mapa de las ABRAE de Venezuela. Siete categorías de conservación: parques nacionales, monumentos naturales, zonas protectoras, reservas forestales, fauna silvestre, reservas de biosfera y reservas hidráulicas. Jerarquía visual: parques al frente y el resto atenuado. Fondo gris grafito, sin imagen base. Proyección Albers Sudamérica (ESRI:102033). Etiqueta los 8 mayores parques. Leyenda con km² por categoría sin duplicar solapes. Fuente, CRS y escala al pie. Exporta PNG y PDF.»

La puntuación es una lista de 6 criterios: título claro, leyenda por tipo, jerarquía visual, etiquetas, proyección adecuada y fuente con CRS.

💡 Tip DALPGIS. Copia esta plantilla y rellénala antes de pedir cualquier mapa:
Mapa de [qué muestra] de [zona].
Datos: [capas y campos que ya están en el proyecto].
Categorías: [lista exacta de clases].
Jerarquía: [qué va al frente y qué se atenúa].
Estilo: [paleta, fondo, con o sin imagen base].
Proyección: [CRS y por qué].
Etiquetas: [cuáles y cuántas].
Leyenda y cifras: [qué se calcula y cómo].
Cierre: [fuente, CRS, escala, formato de salida].


PROMPTS-MAPAS
Figura 2. Los tres prompts y sus mapas: de «bonito» a un mapa que se lee solo. Elaboración DALPGIS.

Paso 3. Traduce el prompt experto en capas

Cada frase del prompt se vuelve una decisión concreta en ArcGIS Pro: «parques al frente y el resto atenuado» es el orden de dibujo y la transparencia; «sin imagen base» es un mapa sin capa base; «Albers» es la propiedad spatialReference del mapa. Una capa por categoría con una consulta de definición te da control total del orden.

import arcpy

fc = r"D:\PROY_RETO_MAPAS\DIA_10\D10.gdb\ABRAE_D10"
est = r"D:\PROY_RETO_MAPAS\DIA_10\D10.gdb\Estados_D10"

m = aprx.createMap("D10_3", "MAP")                       # sin imagen base
m.spatialReference = arcpy.SpatialReference(102033)      # Albers Sudamérica

def simple(lyr, fill, line, ancho):
    s = lyr.symbology
    s.updateRenderer("SimpleRenderer")
    s.renderer.symbol.color = {"RGB": list(fill)}
    s.renderer.symbol.outlineColor = {"RGB": list(line)}
    s.renderer.symbol.outlineWidth = ancho
    lyr.symbology = s

def capa(nombre, query=None, src=None):
    l = m.addDataFromPath(src or fc)
    l.name = nombre
    if query:
        l.definitionQuery = query                         # una capa por categoría
    return l

simple(capa("Estados", None, est), (36, 39, 45, 100), (66, 70, 78, 100), 0.4)

# de abajo hacia arriba: lo atenuado primero, lo importante al final
orden = [("Reserva Nacional Hidráulica", (80, 105, 135, 55),  (80, 105, 135, 70),   0.3),
         ("Zona Protectora",             (105, 125, 150, 70), (130, 150, 175, 80),  0.3),
         ("Reserva Forestal y lote boscoso", (115, 128, 100, 75), (140, 155, 120, 80), 0.3),
         ("Fauna silvestre",             (70, 150, 140, 85),  (100, 190, 178, 90),  0.3),
         ("Monumento Natural",           (190, 170, 140, 90), (215, 195, 165, 90),  0.3),
         ("Parque Nacional",             (229, 192, 11, 92),  (255, 235, 130, 100), 0.5),
         ("Reserva de Biosfera",         (0, 0, 0, 0),        (235, 235, 235, 100), 1.0)]
for tipo, relleno, linea, ancho in orden:
    simple(capa(tipo, "TIPO = '%s'" % tipo), relleno, linea, ancho)


Paso 4. Arma el layout y exporta

El layout es 16:9 para LinkedIn. El marco del mapa 3 tiene relación 1,2 y su extensión se fija en metros de Albers, con la leyenda en la esquina vacía. Al final se exporta a PNG y a PDF.

lyt = aprx.createLayout(16, 9, "INCH", "D10_Duelo")      # 16:9, listo para LinkedIn
poly = lambda x0, y0, x1, y1: arcpy.Polygon(arcpy.Array(
    [arcpy.Point(x0, y0), arcpy.Point(x0, y1), arcpy.Point(x1, y1), arcpy.Point(x1, y0), arcpy.Point(x0, y0)]))

# marco del mapa 3: ancho 5,52", alto 4,6" (relación 1,2)
mf = lyt.createMapFrame(arcpy.Extent(10.08, 1.60, 15.60, 6.20), m, "D10_Mapa3")
mf.camera.setExtent(arcpy.Extent(-1950000, 3450000, 270000, 5300000))   # metros, en ESRI:102033

lyt.exportToPNG(r"D:\PROY_RETO_MAPAS\DIA_10\D10_Duelo.png", resolution=200)
lyt.exportToPDF(r"D:\PROY_RETO_MAPAS\DIA_10\D10_Duelo.pdf", resolution=300)
Dos errores que me encontré. Primero, los mapas 1 y 2 salieron vacíos porque la extensión estaba en metros de Web Mercator pero el mapa nuevo había quedado en Albers: fijé m.spatialReference a EPSG:3857 antes de crear el marco. Segundo, la leyenda tapaba el suroeste del mapa 3: ajusté la extensión para dejar una esquina libre.

MAPA-FINAL
Figura 3. El mapa del prompt experto, en ESRI:102033. Fuente: ABRAE (SIGOT/ONCC). Elaboración DALPGIS.


Resultados

CriterioPrompt vagoPrompt medioPrompt experto
Título claroNoSíSí
Leyenda por tipoNoSíSí, con km²
Jerarquía visualNoNoSí
EtiquetasNoNo8 mayores parques
Proyección adecuadaNo (3857)No (3857)Sí (ESRI:102033)
Fuente y CRSNoNoSí
Total0/62/66/6
192polígonos en 7 categorías
582.803 km²suma simple de categorías
431.826 km²sin duplicar solapes

Lo más útil del experimento es la tercera cifra. Un prompt que no pide «sin duplicar solapes» entrega una leyenda con la suma simple, que sobrestima la superficie protegida en unos 151.000 km². Es un error de contenido, no de estilo.


Límites del experimento

  • Es un solo dato y una sola persona escribiendo los prompts; no es un estudio comparativo de modelos.
  • Los mapas 1 y 2 son reproducciones ilustrativas, como indiqué arriba.
  • Se usaron 7 categorías de ABRAE; no se incluyen zonas de seguridad fronteriza, de interés turístico, de aprovechamiento agrícola ni áreas críticas.
  • La capa de estados incluye la Guayana Esequiba y las islas, por eso no calculo el porcentaje del territorio nacional.


Dónde usarlo

El mismo método sirve para cualquier mapa que repitas: informes mensuales, atlas, mapas para clientes o series como esta. Guarda tu prompt experto como plantilla, cambia los datos y obtendrás el mismo diseño en minutos. Si te interesa otro caso con ArcGIS Pro y datos satelitales, mira el mapa de la expansión urbana de Caracas. Para consultar la herramienta usada, revisa la documentación oficial de arcpy.mp.

¿Quieres mapas así para tu proyecto?

Diseñamos mapas y análisis a medida con ArcGIS Pro y QGIS, con la proyección y la jerarquía correctas. La primera asesoría es gratis.

Reclama tu asesoría GRATIS Escríbenos por WhatsApp

Preguntas frecuentes

¿Qué es el MCP de ArcGIS Pro y para qué sirve?

Es un puente que deja a una IA (como Claude) usar tu ArcGIS Pro abierto: ejecuta herramientas, crea mapas y layouts y los exporta. Tú decides qué se hace; la IA ejecuta los pasos repetitivos.

¿Cómo escribo un buen prompt para un mapa?

Dile siempre: qué datos, qué categorías, qué va al frente, qué estilo y fondo, qué proyección, qué etiquetas, qué cifras en la leyenda y qué pie lleva. Si dejas un punto sin decir, la IA elige por ti, y ese es el punto que suele fallar.

¿Por qué importa pedir una proyección?

Porque las áreas y las distancias dependen de ella. Para sumar superficies conviene una proyección de área equivalente, como Albers (ESRI:102033). En Web Mercator (EPSG:3857) las áreas se inflan hacia los polos.

¿Por qué la suma de áreas no coincide con el área real?

Porque las categorías se solapan. Las siete categorías suman 582.803 km², pero al disolver los polígonos y quitar los solapes quedan 431.826 km². Si no lo pides en el prompt, la leyenda suele traer la suma simple.

¿Pueden hacer un mapa así para mi proyecto?

Sí. En DALPGIS armamos mapas y análisis a medida con ArcGIS Pro y QGIS. Puedes reclamar una asesoría gratis para contarnos tu caso.

Sigue la serie completa en GeoHacks Insight y entra gratis a la Comunidad DALPGIS.


Entradas que pueden interesarte

Sin comentarios

Posts Populares

¡Bienvenido al Curso Básico de ArcGIS Pro Desde Cero!

¡Bienvenido al Curso Básico de ArcGIS Pro Desde Cero!

Hola, soy Daniel León, ingeniero civil y experto en Siste…

NDVI con ArcGIS: Guía completa para el monitoreo de cultivos

NDVI con ArcGIS: Guía completa para el monitoreo de cultivos

¿Te gustaría saber qué es el NDVI y cómo puedes usarlo con…

ArcGIS Pro: ¿Cuánto cuesta y dónde adquirirlo?

ArcGIS Pro: ¿Cuánto cuesta y dónde adquirirlo?

ArcGIS Pro es una potente herramienta de software diseñada…

ArcGIS Pro: Asignar simbología a rasters con archivo .CLR paso a paso (Colormap)

ArcGIS Pro: Asignar simbología a rasters con archivo .CLR paso a paso (Colormap)

1) Verifica que tu raster sea compatible con .clr Los archi…