domingo, 10 de agosto de 2025

🗺 Automatización de Geodatabases en ArcGIS con ArcPy

Automatización de Geodatabases en ArcGIS con ArcPy

🗺 Automatización de Geodatabases en ArcGIS con ArcPy

En este tutorial aprenderás cómo automatizar la creación, clonación y configuración de Geodatabases usando ArcPy.

Trabajaremos en dos partes:

  • Creación de GDB, Feature Dataset, Feature Class y Campos
  • Clonado de Geodatabases (con y sin datos)

🗂 Parte 1 — Creación de una GDB, Dataset y Feature Class con Campos en ArcPy

1️⃣ Configuración de rutas y nombres


import arcpy
import os

ruta_carpeta = r"Ruta de la carpeta donde se almacenará la GBD"
nombre_gdb = "Nombre.gdb" #Debe tener siempre la extensión .gdb
ruta_gdb = os.path.join(ruta_carpeta, nombre_gdb)

📌 Aquí definimos:

  • La carpeta donde se creará la Geodatabase.
  • El nombre de la GDB.
  • La ruta completa usando os.path.join() para mayor compatibilidad.

2️⃣ Creación de la Geodatabase (GDB)


if not arcpy.Exists(ruta_gdb):
    arcpy.CreateFileGDB_management(ruta_carpeta, nombre_gdb)
    print("GDB Creada con éxito en la ruta {}".format(ruta_gdb))
else:
    print("La GDB ya existe")

💡 Verificamos si la GDB ya existe.

  • Si no existe, la creamos con arcpy.CreateFileGDB_management().
  • Si ya existe, mostramos un mensaje informativo.

3️⃣ Creación del Feature Dataset


spatial_ref = r"ruta del archivo 9377.prj"
nombre_dataset = 'Nombre_dataset'
ruta_dataset = os.path.join(ruta_gdb, nombre_dataset)

if not arcpy.Exists(ruta_dataset):
    arcpy.CreateFeatureDataset_management(ruta_gdb, nombre_dataset, spatial_ref)
    print("Dataset creado con éxito en la ruta: {}".format(ruta_dataset))
else:
    print("El dataset ya existe")

📌 Un Feature Dataset agrupa varias capas con la misma referencia espacial.

  • Usamos un archivo .prj para definir el sistema de coordenadas.
  • Se crea solo si no existe.

4️⃣ Creación de la Feature Class


nombre_fc = "Nombre_capa"
ruta_fc = os.path.join(ruta_dataset, nombre_fc)

if not arcpy.Exists(ruta_fc):
    arcpy.CreateFeatureclass_management(ruta_dataset, nombre_fc, "POLYGON", spatial_reference=spatial_ref)
    print("Feature Class '{}' creada con éxito".format(nombre_fc))
else:
    print("La Feature Class '{}' ya existe".format(nombre_fc))

📌 Creamos una Feature Class del tipo POLYGON para almacenar predios.

  • Definimos la referencia espacial.
  • Se crea solo si no existe.

5️⃣ Agregar campos a la tabla de atributos


campos = [
    ("NUMERO_PREDIAL", "TEXT", 30),
    ("CODIGO_CATASTRAL", "TEXT", 20),
    ("DIRECCION", "TEXT", 50),
    ("PROPIETARIO", "TEXT", 50),
    ("AREA_OFICIAL", "DOUBLE", None),
    ("AREA_CALCULADA", "DOUBLE", None)
]

for nombre_campo, tipo, longitud in campos:
    if nombre_campo not in [f.name for f in arcpy.ListFields(ruta_fc)]:
        if longitud:
            arcpy.AddField_management(ruta_fc, nombre_campo, tipo, field_length=longitud)
        else:
            arcpy.AddField_management(ruta_fc, nombre_campo, tipo)
        print("Campo '{}' agregado a {}".format(nombre_campo, nombre_fc))
    else:
        print("El campo '{}' ya existe".format(nombre_campo))

📌 Añadimos los campos requeridos para el manejo de datos catastrales.

  • Campos de texto (TEXT) con longitudes específicas.
  • Campos numéricos (DOUBLE) sin longitud definida.
  • Solo se agregan si no existen previamente.

🎥 Video recomendado: Creación de una GDB, Dataset y Feature Class con Campos en ArcPy

Descarga el archivo aquí...

📦 Parte 2 — Clonado de Geodatabases con ArcPy

En esta sección aprenderemos dos formas de clonar una Geodatabase usando ArcPy:

  • Clonado completo (estructura + datos)
  • Clonado de solo la estructura (sin datos), usando exportación e importación a través de un archivo XML.

1️⃣ Clonar todo (datos + estructura)


import arcpy

gdb_origen = r"RUTA_GDB_ORIGEN"
gdb_destino = r"RUTA_GDB_DESTINO"

arcpy.Copy_management(gdb_origen, gdb_destino)
print("GDB copiada a: {}".format(gdb_destino))

💡 Tip: Este método crea una copia exacta de la geodatabase, ideal para respaldos o migraciones rápidas.

2️⃣ Clonar solo la estructura (sin datos)

A veces necesitamos duplicar solo la estructura (datasets, feature classes, dominios, subtipos, relaciones) sin transferir datos. Esto se logra exportando el esquema a un archivo XML y luego importándolo en una nueva GDB vacía.

Exportar estructura a XML


import arcpy

xml_salida = r"RUTA_AL_ARCHIVO\\XML_ESQUEMA.xml"

arcpy.ExportXMLWorkspaceDocument_management(
    gdb_origen,
    xml_salida,
    "SCHEMA_ONLY"
)
print("Estructura exportada a: {}".format(xml_salida))

Crear nueva GDB e importar estructura


import arcpy

ruta_carpeta_destino = r"RUTA_DE_CARPETA_DESTINO"
nombre_gdb_destino = "NOMBRE_GDB_DESTINO.gdb"

arcpy.CreateFileGDB_management(ruta_carpeta_destino, nombre_gdb_destino)
nueva_gdb = ruta_carpeta_destino + "\\" + nombre_gdb_destino

arcpy.ImportXMLWorkspaceDocument_management(
    nueva_gdb,
    xml_salida,
    "SCHEMA_ONLY"
)
print("Estructura importada en: {}".format(nueva_gdb))

🎥 Video recomendado: Clonado de Geodatabases con ArcPy

Descarga el archivo aquí...

📌 Conclusión

La automatización de procesos en ArcGIS Pro y ArcMap con Python no solo ahorra tiempo y esfuerzo, sino que también garantiza la estandarización de los flujos de trabajo. La creación de datasets, el llenado de tablas y la manipulación de datos pueden convertirse en tareas repetitivas y propensas a errores si se realizan manualmente. Implementar scripts permite ejecutar estas operaciones de forma precisa, reproducible y con la flexibilidad necesaria para adaptarse a diferentes proyectos. En un entorno profesional, esta eficiencia se traduce en mejores resultados y mayor productividad para cualquier equipo GIS.


¿Quieres más?

Si te interesa aprender cómo visualizar estos servicios desde Python, Colab o un visor web, puedes suscribirte a nuestro canal de YouTube FD-SIG Soluciones o seguir este blog para futuros tutoriales.


Etiquetas: ArcGIS, Python, Geodatabase, GDB, SIG, GIS, arcpy, ESRI, shapefile, feature class, datos espaciales, cartografía, análisis geoespacial, gestión de datos, renombrar geodatabase, eliminar geodatabase, crear geodatabase, Python GIS, ArcGIS Pro, ArcMap, XML workspace, exportar GDB, importar GDB, visualización SIG, ArcGIS Online, geoprocesamiento, bases de datos espaciales, SIG Python, tutorial ArcGIS, scripts arcpy

jueves, 31 de julio de 2025

LISTADO DE SERVICIOS REST EN COLOMBIA

/>











 

🛰️ ¿Qué es un Servicio REST?

Un servicio REST (Representational State Transfer) es un estilo de arquitectura para construir servicios web. Estos servicios permiten la consulta, edición o eliminación de información desde una fuente de datos remota mediante URLs accesibles a través de internet.

En el contexto geográfico, los servicios REST proporcionan acceso a capas de información espacial (como mapas, shapefiles o rásters) en plataformas como ArcGIS Server, que permiten:

  • Consultar atributos de capas

  • Descargar datos filtrados

  • Visualizar mapas en visores web o integrarlos en apps

  • Automatizar tareas con Python, QGIS, ArcMAP o ArcGIS Pro


📡 ¿Por qué son útiles los servicios REST?

  • Acceso abierto y desde cualquier parte

  • Permiten consumir capas de información actualizadas sin necesidad de descargarlas

  • Se integran fácilmente en análisis SIG, desarrollo web y aplicaciones móviles

  • Son clave en la transparencia y apertura de datos gubernamentales

🎥 Video recomendado: Accede y descarga cartografía oficial de Colombia con Servicios REST 📊


🇨🇴 Listado de Servicios REST Públicos de Colombia

Aquí se presenta una lista organizada por entidad, con enlaces directos a sus directorios de servicios REST (tipo ArcGIS Server):

🌐 Servicios REST por Entidad 

  • Acueducto de Bogotá
    https://www.acueducto.com.co/wassigue/arcgis/rest/services
    https://www.acueducto.com.co/arcgis/rest/services/RedAcueducto/MapServer

  • Agencia Nacional de Hidrocarburos (ANH)
    https://geovisor.anh.gov.co/arcgis/rest/services

  • Agencia Nacional de Infraestructura (ANI)
    https://sig.ani.gov.co/arcgis/rest/services

  • Agencia Nacional de Tierras
    https://sig.agenciadetierras.gov.co/antarcgis/rest/services

  • Agencia Nacional de Seguridad Vial
    https://services9.arcgis.com/cCK0fP0sWCjveNe8/ArcGIS/rest/services

  • Agencia de Renovación del Territorio (ART)
    https://gisart.renovacionterritorio.gov.co/server/rest/services

  • AGS (Esri Colombia)
    https://ags.esri.co/arcgis/rest/services

  • Alcaldía de Manizales
    https://sigmzl.manizales.gov.co/wadmzl/rest/services

  • Alcaldía de Medellín
    https://www.medellin.gov.co/arcgis/rest/services

  • Alcaldía de Palmira
    https://idep.palmira.gov.co/server/rest/services

  • Alcaldía Mayor de Bogotá
    http://www.gobiernobogota.gov.co/arcgis/rest/services/

  • Área Metropolitana del Valle de Aburrá
    http://geografico.metropol.gov.co:6080/arcgis/rest/services

  • CAR - Cundinamarca
    https://sig.car.gov.co/arcgis/rest/services

  • Caja de Vivienda Popular
    https://geo.cajaviviendapopular.gov.co/arcgis/rest/services/

  • CVC - Valle del Cauca
    http://www.geo.cvc.gov.co/arcgis/rest/services

  • Contraloría General de la República
    http://sig.contraloria.gov.co:6080/arcgis/rest/services

  • CorTolima
    https://sia.cortolima.gov.co/arcgis/rest/services

  • DANE (Geoportal)
    https://geoportal.dane.gov.co/mparcgis/rest/services

  • DADEP - Defensoría del Espacio Público
    https://sigdep.dadep.gov.co/arcgis/rest/services

  • Departamento de Antioquia
    https://geodatos.antioquia.gov.co/server/rest/services/

  • DIMAR
    http://sig.dimar.mil.co/arcgis/rest/services/

  • ESRI Colombia (Demo)
    http://geoapps.esri.co:6080/arcgis/rest/services/

  • EPM
    https://services1.arcgis.com/lHSB5M3vxFT82S7P/ArcGIS/rest/services

  • IDEAM
    https://visualizador.ideam.gov.co/gisserver/rest/services

  • IDECA y Catastro Bogotá
    https://serviciosgis.catastrobogota.gov.co/arcgis/rest/services/

  • IGAC - Cartografía
    https://mapas.igac.gov.co/server/rest/services/carto

  • IGAC - Catastro
    https://services2.arcgis.com/RVvWzU3lgJISqdke/ArcGIS/rest/services

  • INVIAS
    https://hermes.invias.gov.co/arcgis/rest/services/

  • INVEMAR
    http://gis.invemar.org.co/arcgis/rest/services

  • Jardín Botánico de Bogotá (JBB)
    http://sigau.jbb.gov.co/arcgis/rest/services/JBB/

  • Parques Nacionales Naturales
    http://mapas.parquesnacionales.gov.co/arcgis/rest/services

  • Policía Nacional de Colombia
    https://gis.policia.gov.co:6443/arcgis/rest/services

  • Rionegro
    https://mgeorio.rionegro.gov.co:444/arcgis/rest/services

  • Secretaría Distrital de Ambiente (Bogotá)
    http://www.secretariadeambiente.gov.co/arcgis/rest/services/

  • Secretaría Distrital de Hábitat (Bogotá)
    https://portalgis.habitatbogota.gov.co/arcgis/rest/services

  • Secretaría Distrital de Movilidad
    http://sig.simur.gov.co/arcgis/rest/services/

  • Secretaría Distrital de Seguridad (Bogotá)
    https://oaiee.scj.gov.co/agc/rest/services

  • Servicio Geológico Colombiano (SGC)
    http://srvags.sgc.gov.co/arcgis/rest/services

  • SIGOT (IGAC)
    http://sigotnal.igac.gov.co/ArcGIS/rest/services/

  • SINUPOT - Planeación Bogotá
    https://sinupot.sdp.gov.co/serverp/rest/services/

  • Sistema de Información de Protección Social (SISPRO)
    https://sig.sispro.gov.co/arcgis_msp/rest/services

  • SURTIGAS
    https://arcgisgdp.surtigas.com.co/arcgis/rest/services

  • Unidad de Víctimas
    http://vgv.unidadvictimas.gov.co/arcgis/rest/services

  • UNGRD - Gestión del Riesgo
    http://geoservicios.gestiondelriesgo.gov.co:6080/arcgis/rest/services/

  • UPME
    http://arcgis.simec.gov.co:6080/arcgis/rest/services/APP_SUBESTACIONES

  • UPRA
    https://geoservicios.upra.gov.co/arcgis/rest/services

  • UIS (Universidad Industrial de Santander)
    https://avestruz.uis.edu.co/arcgis102/rest/services

  • Visor Código Postal
    http://visor.codigopostal.gov.co/arcgis/rest/services


  • 📌 ¿Cómo utilizar estos servicios REST?

    Puedes integrarlos en tus proyectos con herramientas como:

    • ArcMAP, ArcGIS Pro, QGIS

    • Python con librerías como requests, geopandas, arcgis, folium

    • Aplicaciones web con Leaflet, Mapbox o ArcGIS API for JavaScript

    • 🎥 Video recomendado: Accede y descarga cartografía oficial de Colombia con Servicios REST 📊


    ¿Quieres más?

    Si te interesa aprender cómo visualizar estos servicios desde Python, Colab o un visor web, puedes suscribirte a nuestro canal de YouTube (Enlace a canal) o seguir este blog para futuros tutoriales.


    🗺 Automatización de Geodatabases en ArcGIS con ArcPy

    Automatización de Geodatabases en ArcGIS con ArcPy 🗺 Automatización de Geodatabases en ArcGIS con ArcPy En este tutorial aprende...