Archivo de la categoría: Joan Quintana

Iglesias románicas de Catalunya

Finalmente he acabado el proyecto de las iglesias románicas. Han sido unos meses de documentación y de trabajo constante, poco a poco, sin estresarme, enmedio del confinamiento.

Resumiendo, el trabajo que se ha hecho es:

  • generar una base de datos mysql de todas las iglesias
  • replicar toda esta información en OSM: había gdadesran cantidad de iglesias que no existen; se ha convertido muchos nodos a vías; se ha aprovechado para editar casas y granjas del entorno de las iglesias; se ha actualizado muchos tags, como por ejemplo wikidata, wikipedia, ruins, etc. Se ha respetado al máximo la información editada por otros usuarios.
  • hacer una página web, con diferentes ejemplos de mapas, entre ellos la cartografía del ICGC

Las ediciones que se han hecho en OSM son manuales, i se ha utilizado scripts python para asociar y actualizar la información de la bd con la información de OSM. Ha sido un trabajo laborioso de documentación, y muchas veces la información se ha tenido que contrastar con otras fuentes, como los mapas del ICGC.

No considero que el trabajo esté acabado, hay varias cosas que quiero discutir con la comunidad de OSM, pero esto tendrá que ser después del verano. Por ejemplo, aunque las iglesias en cuestión son románicas, la etiqueta building:architecture=romanesque no siempre será la más correcta. Por ejemplo, la iglesia de la Torre de Faia (Capella de Santa Magdalena), en Gisclareny, y que conozco, es una construcció más moderna que aprovechó las piedras de la antigua iglesia románica. Merece el tag building:architecture=romanesque? I es que la realidad siempre supera en complejidad a la teoría…

Referencias:

Utilizar los mapas del Institut Cartogràfic i Geològic de Catalunya (ICGC)

Últimamente estoy consultando bastante el mapa topográfico del ICGC, pues la topoimia es muy correcta, y lo utilizo para actualizar la información de OpenStreetMap (aunque los puristas dicen que esto no se puede hacer, que no se pueden consultar otras fuentes que no sea la realidad del conocimiento real). Esto me sirve mucho para el proyecto en el que estoy metido, las iglesias románicas de Catalunya (y de paso, muchas masías aisladas repartidas por el territorio).

Hasta ahora los mapas del ICGC sólo los consultaba, pero no me había planteado utilzar estos mapas topográficos (y las ortofotos) en mis mapas. Pensaba que las licencias no permitirían su uso. Pues estaba equivocado: el ICGC da la información de cómo utilizar los mapas topográficos (y las ortofotos) tanto para las librerías Openlayers como Leaflet, y proporciona el código básico para pintar los mapas. La única cosa es que el ejemplo de Openlayers que proponen es con OL3 y los enlaces a las librerías no funcionan, mejor utilizar OL4. Lo tengo explicado en la wiki.

Así pues, ya tengo otra posibilidad para pintar mis mapas.

  • Info en la wiki
  • Condiciones de uso de la geoinformación ICGC
  • Institut Cartogràfic i Geològic de Catalunya (ICGC)

La hora catalana con Festival (TTS, text to speech)

Estoy trabajando en un Magic Mirror, y le quiero dotar de funciones de reconocimiento de voz (STT, con Pocketsphynx) y síntesis de voz (TTS, con Festival). Quiero que sea un proyecto un poco de cachondeo, y quiero escoger bien los módulos a instalar, y también programar alguno.

Una cosa divertida que había pensado es un módulo que te diga la hora catalana:

-Magic Mirror (le pondré un nombre divertido), quina hora és? (en catalán)
-Són dos quarts i cinc de vuit.

He estado trabajanco con Festival (que se instala sin problemas en una Raspberry Pi) e integrarlo todo con Node/Javascript, que es la tecnología que utiliza MagicMirror.

En el video hau una muestra de lo que se quiere conseguir:

Referencias:

Actividad en la wiki y en blog durante la COVID-19

Durante este tiempo de confinamiento se ha trabajado mucho en casa con el teletrabajo, cosas del instituto y cosas mías. Haciendo una consulta mysql a la wiki y al wordpress se puede saber fácilmente en qué he estado trabajando durante estos días.

En la wiki, wiki.joanillo.org:

mysql> select distinct page_title 'COVID-19 editons' from page, revision where page_id=rev_page and rev_timestamp >= '20200313%' and page_namespace=0;
+--------------------------------------------------------------------+
| COVID-19 editons                                                   |
+--------------------------------------------------------------------+
| Llibres_electrònics_i_l'editor_Sublime_Text2._Convertir_pdf_a_txt |
| Esglésies_romàniques_de_Catalunya                                |
| Aplicació_web_amb_motor_Python                                    |
| Pàgina_principal                                                  |
| Mapes_medievals,_mapes_ficticis,_mapes_de_fantasia                 |
| Fusionar_GeoJSON                                                   |
| Opendata-barcelona                                                 |
| Openlayers:_ol_package._Exemple_Casa_de_Papel                      |
| DAW-M06-WEC                                                        |
| React:_A_JavaScript_library_for_building_user_interfaces           |
| JQuery:_Tablesorter                                                |
| React_Native                                                       |
| Github_pràctic:_control_de_versions                               |
| Desplegar_un_projecte_web_amb_Express_i_Heroku                     |
| Aplicació_Reactjs_a_través_del_servidor_web_Express              |
| Openlayers_amb_ReactJS                                             |
| ReactJS._Curs_EdX._Introduction_to_ReactJS._Microsoft:_DEV281x     |
| Curriculum_Vitae_Joan_Quintana_Compte                              |
| Introducció_als_frameworks_de_Javascript                          |
| React_CRUD_tutorial                                                |
| Exemples_Openlayers_(ol_package)                                   |
+--------------------------------------------------------------------+
21 rows in set (0.00 sec)

En el blog, a www.joanillo.org:

select post_title from wp_posts where post_modified >= '2020-03-13%' and post_type='post' and post_parent=0

Geovisualització de la COVID-19
Esglésies romàniques
Vegueries/regions de Catalunya. Densitat de població
La Casa de Papel: aplicació web
John H. Conway. Joc de la Vida
Introducció a ReactJS: DEV281x

De momento es esto, porque desgraciadamente el confinamiento continúa.

Libro de ecuaciones diferenciales. Capítulo «La ciencia del enamorarse»

Voy con la idea de escribir algunos artículos sobre ecuaciones diferenciales, que podrían desembocar en un libro. Me gustaría darle un tono ameno, centrarme en aspectos prácticos, para demostrar que las ecuaciones diferenciales se pueden aplicar a muchos ámbitos diferentes. El título podría ser alguna cosa como: Ecuaciones diferenciales por doquier: de cómo el cálculo infinitesimal resuelve problemas en todos los campos del conocimiento

De hecho he pensado un guión para el libro, sería algo como:
Fı́sica

  • Problemas clásicos: el muelle y el péndulo
  • Dinámica de cohetes. Ecuación de Tsiolkovski
  • Isótopos radioactivos

Biologı́a

  • Ecologı́a de poblaciones
  • Teorı́a de la evolución
  • Hábitos de alimentación en poblaciones animales

Sociologı́a

  • La ciencia del amor
  • Sistemas de votación, dinámica de partidos polı́ticos

Economı́a

  • Evolución de los precios
  • Crisis financiera

Matemáticas

  • Ecuación de la cuerda pesante: la catenaria
  • La braquistócrona y la tautócrona

Medicina

  • Dinámica de los tumores
  • Modelizar el cáncer: competencia y selección natural

Electrónica

  • Carga del condensador. Osciladores LC, RLC
  • Unión PN, difusión de portadores

Quı́mica

  • Dinámica de las reacciones quı́micas
  • Intercambio de calor

Fluidos

  • Ley de Torricelli
  • Mecánica de fluidos. Coeficiente de resistencia

Sistemas complejos

  • Caos
  • Fractales

Puedes descargar este capítulo en el siguiente enlace:

La Casa de Papel: aplicación web

Este es un ejemplo que he hecho mano a mano con Pere, ahora que estamos confinados por la COVID-19 y vamos por la mitad de la 3a temporada de La Casa de Papel.

Para mi también ha servido para hacer una aplicación OpenLayers con código Node, que es la tendencia actual. Todo está explicado en la wiki y en los enlaces a los que se hace referencia.

La renderización que se ha hecho del mapa en blanco y negro es el estilo toner de Stamen. A mí particularmente me gusta mucho, y creo que hemos conseguido una buena integración con el diseño propio de la serie, que juega con los colores negro y rojo.

Enlaces:

Veguerías/regiones de Catalunya. Densidad de población

He estado programando unos scripts para fusionar fronteras (ver enlace). Ha sido un poco más difícil de lo que me pensaba, y me ha queddo un código Python bastante guarro, pero al final he logrado fusionar comarcas de Catalunya para obtener las regiones/veguerías. Ya miraré de arreglar el código cuando pueda, pues estudiar los diferentes casos es un problema de topología bastante interesante y no demasiado difícil. Pero ahora, debido al confinamiento provocado por el corona-virus y la COVID-19, este es el mejor código (y ya le he dedicado más horas de las que deseaba).

Todo esto viene porque estuve buscando el geojson de las veguerías y fui incapaz de encontrarlo. Este código también ha de servir para fusionar otros casos. Estoy pensando por ejemplo fusionar los municipios del Alt Berguedà.

Con todo esto he hecho como ejemplo la densidad de población, clasificado por veguerías/regiones.

Nota 31-03-2020: He mejorado el código y ahora ya estoy contento con el resultado final. Con la nueva versión he fusionado los municipios del Alt Berguedà.

GeoJSON: densidad de las comarcas de Cataluña

Tenía un tema pendiente con la visualización de mapas: programar aquellos mapas en que se ven las fronteras (ya sean países, regiones, comarcas, municipios), y donde podamos asignar un color o podamos clicar en cada una de las regiones.

En la API de Overpass se pueden hacer consultas de las relaciones a nivel administrativo, y normalmente se obtiene las ways que representan líneas de frontera administrativa. Esto ya va bien para pintar el contorno de un municipio, por ejemplo. Ahora bien, para sombrear toea una área necesitamos un polígono cerrado. Lo mejor es buscar una fuente de datos con formato GeoJSON de los datos que necesitamos, por ejemplo las comarcas. Buscando un poco puedes encontrar datos de todo: países, comunidades autónomas, provincias, etc. Combinando estos datos con la información que nos interesa (por ejemplo, la densidad de población por comarca), podemos hacer una aplicación como la que se muestra en la imagen.

Para hacerlo, está explicado en la wiki. Ahora que me he puesto con el GeoJSON, ahora veo que hay otro formato interesante que es el TopoJSON. Esto es un no parar!

Cataluña megalítica

Ya tengo acabada la visualización de todos los dólmenes de Catalunya y Catalunya Nord. Se ha hecho este trabajo con varios propósitos. Por una parte, unificar y actualizar toda la información disponible en OpenStreetMap, donde sólo estaban listados la mitad de los dólmenes. También me interesaba la programación de OpenLayers para visualizar el mapa, y la renderización del mapa con diferentes estilos a parte del clásico de OSM.

Para visualizar el mapa creo que lo más chulo es el estilo Terrain. Ahora bien, si quiero hacer zoom y que aparezca información en detalle de la zona, el mejor mapa continúa siendo el de OSM. La aplicación también puede visualizar el mapa con los estilos Toner y Watercolor.

He tenido más trabajo del que tenía previsto y tiempo del que quería gastar. O sea que he hecho un subdominio para que al menos la información esté siempre disponible:

web de Rutas BTT, nueva versión (v4)

Hace años que publico las excursiones con BTT en el subdominio rutesgps.joanillo.org.

Todo empezó con la programación de la API de Google Maps. Más adelante se hizo la migración a OpenStreetMap. Y durante este tiempo he ido añadiendo funcionalidades. También, durante estos años siempre he hecho con los alumnos prácticas de geolocalización, en el marco de la asignatura de Javascript de DAW.

Así que ahora he añadido unas cuantas funcionalidades más: los videos de Relive; los puntos de interés; iconos de inicio y fin de ruta; 3 capas de visualización del terreno; aspectos de diseño; etc. Ahora, cada vez que añada una ruta, tengo un protocolo consistente para no cometer errores.

El pasado otoño me compré un GPS de ciclismo, el Bryton 450E (que está basado en mapas de OpenStreetMaps), y a pesar de sus limitaciones, le estoy sacando el máximo provecho. Y todo este trabajo no tendría ningíun sentido si esto no se tradujese en kilómetros de bicicleta y disfrutar de la naturaleza.