Ir al contenido principal

Límites en Geoboundaries


Allá por el 2015 nos presentamos al concurso de Datos Abiertos de Castilla y León con un pequeño juego, que consistía en ir conquistando los diferentes municipios de esa autonomía. Para el desarrollo del juego tuvimos que tratar con datos de diferentes fuentes nacionales para conseguir los polígonos de los pueblos y ciudades, así como los datos del padrón, etc.

Unos años más tarde evolucionamos un poco el juego, y ampliamos el territorio a toda la península Ibérica. Pero lo que yo realmente quería hacer era conseguir llegar a nivel mundial. Pero imaginaros el trabajo que supondría ir territorio a territorio consiguiendo sus limites administrativos...

Y hace unas semanas descubrí esta URL: https://www.geoboundaries.org/

Dentro podemos encontrar todos los polígonos de cada país a nivel mundial, existen en diversos niveles por cada unos de ellos. En España, el más pequeño es el de los municipios. Es lo que queremos.

Podemos descargar los territorios que nos interesan uno por uno, o utilizar su API para realizar una descarga masiva.

Con esta llamada: https://www.geoboundaries.org/api/current/gbOpen/ALL/ALL/ conseguimos el listado en JSON de todos los países con los diferentes formatos y niveles de descarga.

La idea es descargar todo en formato GEOJSON, así que he hecho un pequeño script de Linux para realizar la descarga:

curl https://www.geoboundaries.org/api/current/gbOpen/ALL/ALL/ > allFilesToDownload.json
curl https://www.geoboundaries.org/api/current/gbOpen/ALL/ALL/ | json_pp > allFilesToDownload.json
grep gjDownloadURL allFilesToDownload.json > downloadAll.sh
sed -i 's/      \"gjDownloadURL\" : \"/wget /g' downloadAll.sh
sed -i 's/\",//g' downloadAll.sh


Este script genera otro script que al ejecutarlo descargará todos los ficheros en GEOSJON para poderlos cargar fácilmente (en MongoDB por ejemplo) y poder trabajar con ellos.

En total, han salido 665 descargas, algunos no son muy grandes, pero los que tienen mucha información superan los 100 MB.

Para validar que la información que estamos descargando no interesa, podemos visualizar cualquiera de los ficheros en la siguiente URL: https://geojson.io

Después de pegar el GEOJSON que se corresponde con el nivel 0 de India se puede visualizar así:



Es de las mejores páginas que hay para poder trastear con ficheros GEOJSON.

De momento voy a seguir descargándome todos los datos. Próximamente veremos que hacer con los datos que tenemos descargados.

Recordar que los datos proceden de Geoboundaries y si los usas, hay que mencionarlos:

Administrative boundaries courtesy of geoBoundaries

Nos vemos pronto.

Entradas populares de este blog

Un bot con Telegram en Termux

En las últimas semanas he retomado un par de ideas que tuve hace algunos años: por un lado la idea de hacer un Bot con el que hacer operaciones a través de comandos específicos. En concreto me gustaría hacer poder realizar comandos de inversión en bolsa (de manera ficticia) por otro lado desplegar la aplicación en un móvil con Termux (emulador de Linux para Android) Así que os cuento los pasos que he hecho para realizar estas tareas. Creación de Bot con Telegram Busca el contacto @BotFather (es el bot oficial de Telegram para crear otros Bots). Pulsa en Iniciar o escribe /start para comenzar. Escribe el comando: /newbot BotFather te pedirá que le pongas un nombre visible a tu Bot. Ejemplo: Nombre: MiBotJava Luego te pedirá un username único que termine en Bot. Ejemplo: Username: MiBotJava_bot Si el nombre de usuario está disponible, te dará un mensaje de éxito. Obtén el token Después de crear el Bot, BotFather te dará un mensaje como este: Done! Congratulations on your new bot. You wil...

Transpilando que es gerundio

Si que llevaba tiempo sin pasarme por aquí, madre mía como esta esto de descuidado... A ver si me animo y como propósito de 2025 escribo un poco más (que no es díficil). He empezado un par de cursos y el primero ha sido uno de TypeScript, ya sabéis que me gusta mucho JavaScript y he decidido echarle un ojo. Pero, ¿qué es TypeScript? TypeScript es un lenguaje de programación que se creó como una especie de "superpoder" para JavaScript. Básicamente, es JavaScript dopado con esteroides, ya que agrega características que lo hacen más robusto y fácil de usar, especialmente en proyectos grandes. Una de las grandes ventajas de TypeScript es el tipado estático, que nos permite definir qué tipo de datos estamos manejando, lo que ayuda a evitar errores que en JavaScript podrían ser difíciles de detectar hasta que es demasiado tarde. En otras palabras, te ayuda a “prevenir fuegos” en el código antes de que sucedan. Una de las cosas que hace especial a TypeScript es que sigue siendo Java...

Un sola cuenta de Gmail y muchas direcciones de correo

¿Tienes una cuenta de Gmail? Seguramente más de una... Google tiene una funcionalidad poco conocida, pero muy útil: puedes modificar tu email con puntos (`.`) y con el signo más (`+`) para adaptarlo a tus necesidades y conseguir varias direcciones de correo con solo una cuenta. Los puntos no importan (en Gmail) En Gmail, los puntos que pongas en tu dirección no cambian nada . Es decir, si tu correo es: lukeskywalker@gmail.com También recibirás los mensajes que se envíen a: - luke .skywalker@gmail.com    - l.u.k.e.s.k.y.w.a.l.k.e.r@gmail.com - luke.sky.walker@gmail.com ¡Y todos llegarán a la misma cuenta:  lukeskywalker@gmail.com ! Esto puede servir para crear una versión ligeramente distinta de tu dirección, por ejemplo, si ya usaste tu correo real y necesitas registrarte con una "nueva". El signo + Ahora viene lo realmente interesante: el signo `+`. Con él puedes añadir “alias” a tu correo sin dejar de recibir los mensajes. Por ejemplo, si tu correo es: leiaorgana@gmail....