El Motor de Geocodificación y Códigos Postales 4-72 más Exacto de Colombia
Enriquecimiento 4-en-1 síncrono en milisegundos: Coordenadas WGS84, Código Postal Oficial 4-72, Barrio Catastral y Localidad/Comuna. Totalmente Offline, sin consumo de APIs externas y en estricto cumplimiento de la Ley de Habeas Data (1581 de 2012).
100% Offline & Privado
Cumple la Ley de Habeas Data 1581 y secreto bancario de la SuperFinanciera.
Costo Cero de API
Ahorro radical frente a los $5 USD/1k consultas de Google Maps.
Rendimiento O(1)
Indexación B-Tree espacial procesando > 400 direcciones por segundo.
1,121 Municipios
Cobertura de todas las cabeceras municipales de Colombia (DANE MGN).
Certificación Nacional de Exactitud Técnica
Evaluación empírica en 17 departamentos contra polígonos de Servicios Postales Nacionales (4-72) y marcos censales DANE.
Cartografía de Muestras Auditadas (Folium / OpenStreetMap)
| Dirección Domiciliaria | Ciudad / Mpio | Cód. Postal 4-72 | Barrio Oficial | Localidad / Comuna | Error Radial | Nivel Match |
|---|
Manual Operativo & Guía Rápida de Instalación
La librería se distribuye tanto en paquete Python como en **binarios nativos compilados C (.pyd)** para máxima seguridad anti-copia y rendimiento industrial.
1 Instalación del Paquete
pip install motor_postales_co
O si tu empresa adquiere la Edición Binaria Segura (motor_postales_co_bin), simplemente descomprime la carpeta en tu entorno; no requiere compilación previa.
2 Ejecución en 3 Líneas de Código (Python)
from motor_postales_co import MotorPostales # 1. Instanciar el motor (Carga indexada en memoria O(1)) motor = MotorPostales() # 2. Geocodificar dirección con soporte cardinal y toponímico res = motor.geocode("Carrera 78A # 47 - 30 Sur", ciudad="Bogota") # 3. Acceder al enriquecimiento 4-en-1 print("Código Postal 4-72 :", res.codigo_postal) # '110861' print("Coordenadas WGS84 :", res.latitud, res.longitud) # 4.61141, -74.16405 print("Barrio Catastral :", res.barrio) # 'Pastrana' print("Localidad Oficial :", res.localidad) # 'Kennedy' print("Score Confianza :", res.confianza) # 0.95 print("Nivel de Match :", res.nivel_match) # 'INTERPOLACION_TRAMO'
3 Enriquecimiento Masivo de DataFrames (Excel / CSV)
Procesa carteras de 100,000+ direcciones sin detenerse por fallos o registros mal escritos:
import pandas as pd from motor_postales_co import MotorPostales motor = MotorPostales() df = pd.read_excel("cartera_clientes.xlsx") # Enriquecer automáticamente agregando columnas postales y catastrales df_enriquecido = motor.enriquecer_dataframe( df, col_direccion='DIRECCION_CLIENTE', col_ciudad='CIUDAD' ) df_enriquecido.to_excel("cartera_enriquecida_472.xlsx", index=False)
Despliegue en Contenedor Docker / API REST
Para empresas con arquitecturas en Node.js, C# .NET, Java o Go, la librería puede ejecutarse como un microservicio REST ultrarrápido con FastAPI:
curl -X POST "http://localhost:8000/api/v1/geocode" \
-H "Content-Type: application/json" \
-d '{"direccion": "Circular 1 # 70 - 10", "ciudad": "Medellin"}'
Diccionario de Datos (`ResultadoPostal`)
| Atributo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| codigo_postal | str | Código Postal Oficial 4-72 de 6 dígitos | '110221' |
| latitud / longitud | float | Coordenadas geodésicas en elipsoide WGS84 | 4.65515, -74.05535 |
| barrio | str | Barrio oficial según DANE / Catastro IDECA | 'Porciuncula' |
| localidad | str | Localidad (Bogotá) o Comuna correspondiente | 'Chapinero' |
| confianza | float | Métrica de certidumbre B2B de 0.00 a 1.00 | 0.95 |
| nivel_match | str | Clasificación de resolución de la dirección | 'INTERPOLACION_TRAMO' |
Whitepaper & Calculadora de Ahorro ROI
Descubre por qué las instituciones financieras y compañías de logística reemplazan APIs internacionales por `motor_postales_co`.
Calculadora Interactiva de Ahorro Anual vs. Google Maps API
Google Maps cobra $5 USD por cada 1,000 llamadas de geocodificación. Arrastra el control para calcular el ahorro directo con `motor_postales_co`:
Comparativa Estratégica vs. Alternativas Internacionales
| Criterio Crítico | motor_postales_co v1.1.0 | Google Maps API | Mapbox Geocoding | OSM Nominatim |
|---|---|---|---|---|
| Tipo de Despliegue | 100% Offline / Local | Cloud Propietario | Cloud Propietario | Servidor Comunitario |
| Código Postal Oficial 4-72 | 100% Poligonal WKB | Aproximado / Roto | No disponible | Muy incompleto |
| Cumplimiento Habeas Data (Ley 1581) | Cumplimiento Total | Datos salen del país | Datos salen del país | Sin SLA legal |
| Nomenclatura Colombia (Sur, Bis, Laureles) | Especialización Nativa | Confunde cuadrantes | Fallos frecuentes | Pobre en Colombia |
| Enriquecimiento 4-en-1 | Coordenadas + CP + Barrio + Comuna | Solo Coordenadas | Solo Coordenadas | Solo Coordenadas |
Modelos de Entrega & Adquisición Empresarial
Opciones flexibles diseñadas para bancos, proptechs, aseguradoras, logística y entidades de gobierno.
Licencia On-Premise Single-Tenant
Instalación en la infraestructura del cliente (servidores locales, AWS, Azure o GCP) sin límite de consultas.
- Código compilado en binarios nativos .pyd
- Base maestra 1,121 municipios
- Consultas síncronas ilimitadas
- Soporte de instalación
Enterprise Container (Docker / K8s)
Contenedor Docker preconfigurado con Microservicio REST FastAPI multi-hilo para integración en cualquier lenguaje (.NET, Node, Java, Go).
- API REST OpenAPI / Swagger
- Despliegue en clúster Kubernetes
- Autoescalado y balanceo de carga
- SLA y soporte técnico prioritario
Póliza de Actualización Cartográfica
Actualización semestral garantizada de los polígonos postales 4-72 y el Marco Geoestadístico Censal DANE.
- Nuevos códigos postales aprobados
- Expansión de nuevos barrios DANE
- Nuevos conjuntos residenciales
- Certificado de actualización semestral
Ing. Edgar Mesa
Arquitecto de Software & Especialista en Sistemas de Información Geográfica (GIS).