Skip to content

Instantly share code, notes, and snippets.

@john-guerra
Forked from kristw/index.html
Last active January 28, 2024 19:19
Show Gist options
  • Star 29 You must be signed in to star a gist
  • Fork 14 You must be signed in to fork a gist
  • Save john-guerra/43c7656821069d00dcbc to your computer and use it in GitHub Desktop.
Save john-guerra/43c7656821069d00dcbc to your computer and use it in GitHub Desktop.
GeoJson map of Colombia

Geo Json map of Colombia

Based on the Map of Thailand by Master Krist Wongsuphasawat, a simple map of Colombia using GeoJSON and D3.js

As in Krist example:

  • Each province is color-coded by the length of its name in English.
  • Hover each province to see text effects.
  • New font is chosen randomly every time you change the province.
  • Click on a province to zoom in. Click somewhere else to zoom out.

I obtained the Colombian GeoJSON by transforming the Colombian shapefiles by Maurix Suárez, using:

ogr2ogr   -f GeoJSON -t_srs EPSG:4326  Colombia.geo.json   depto.shp
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

@john-guerra
Copy link
Author

Hola @ultramarp, sería cuestión que los elimines del archivo

Hola @svelasquez89, en tu caso lo que necesitarías es encontrar un archivo GeoJSON que incluya las regiones u otro archivo con esa info

@andres-garciaup7
Copy link

Hola @john-guerra muchas gracias por toda la información muy útil, tengo las siguientes dudas si me puedes instruir:

@john-guerra
Copy link
Author

Hola @andres-garciaup7, no tengo publicados los centros poblados. Para generar los geoJSON te recomiendo iniciar en la página del Dane, y desde allí seguir un procedimiento similar al que usé en este ejemplo TopoJSON. Allí incluso es posible que el topoJSON que usé les sirva

@viviantorres99
Copy link

hola, saben donde puedo conseguir el mapa con municipios?

@john-guerra
Copy link
Author

@jacasta2
Copy link

Yo necesito visualizar solo los departamentos en un mapa de formas de Power BI.

El JSON Colombia_departamentos_municipios_poblacion-topov2.json tiene una key llamada objects. El valor de esa key es un diccionario que contiene dos keys: MGN_ANM_MPIOS y MGN_ANM_DPTOS. Una opción si solo quieres ver los departamentos es borrar la key MGN_ANM_MPIOS y su valor, que es un diccionario con toda la geometría de los municipios.

El siguiente código en Python borra esa información:

import json

def delete_nested_key(json_file, parent_key, key_to_delete, output_file):
    with open(json_file, 'r') as file:
        data = json.load(file)

    if parent_key in data and key_to_delete in data[parent_key]:
        del data[parent_key][key_to_delete]

    with open(output_file, 'w') as file:
        json.dump(data, file, indent=4)

json_file = 'Colombia_departamentos_municipios_poblacion-topov2.json'
parent_key = 'objects'
key_to_delete = 'MGN_ANM_MPIOS'
output_file = 'departamentos.json'

delete_nested_key(json_file, parent_key, key_to_delete, output_file)

A mí me funcionó este enfoque. No sé si dentro del mismo Power BI habrá forma de mostrar solo los departamentos sin necesidad de modificar el JSON

@murielito
Copy link

murielito commented Sep 14, 2023

Buenos días, alguno de casualidad tiene de manera muy sucinta un paso a paso para cargar el archivo en Power BI? Las nuevas versiones de la aplicación han variado mucho y no se ha podido montar el mapa como lo muestran ustedes en las imágenes. Muchas gracias de antemano por toda esta labor @john-guerra

@DJRT-11
Copy link

DJRT-11 commented Sep 17, 2023

@jacasta2 La función sirve perfecto! La visualización por departamentos ya se ajusta mucho mejor a las fronteras, muchas gracias!

@jacasta2
Copy link

Es con mucho gusto!

Todo esto me motivó a trabajar más en este tema y creé un repo donde comparto unos notebooks para crear TopoJSONs de departamentos y de municipios. El repo está disponible en TopoJSON of Colombia's departments and towns. La versión más depurada y actualizada del trabajo está en el notebook create_from_shapefile, donde creo los TopoJSONs a partir de archivos Esri que se pueden descargar del sitio web del DANE. Al parecer, los archivos Esri se actualizan con más frecuencia que los archivos GeoJSON.

@dalejandroramirez
Copy link

Hola, quiero quedarme solo con los datos del departamento de antioquia, saben como puedo hacer esto?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment