{"id":1011,"date":"2023-05-17T10:48:33","date_gmt":"2023-05-17T10:48:33","guid":{"rendered":"https:\/\/javierladino.com\/es\/?post_type=rara-portfolio&#038;p=1011"},"modified":"2026-05-23T13:20:39","modified_gmt":"2026-05-23T13:20:39","slug":"como-utilizar-mapas-interactivos-de-isocronas-para-encontrar-una-vivienda-cerca-de-la-escuela-en-nantes","status":"publish","type":"rara-portfolio","link":"https:\/\/javierladino.com\/es\/portfolio\/como-utilizar-mapas-interactivos-de-isocronas-para-encontrar-una-vivienda-cerca-de-la-escuela-en-nantes\/","title":{"rendered":"C\u00f3mo utilizar mapas interactivos de is\u00f3cronas para encontrar una vivienda cerca de la escuela en Nantes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Encontrar una vivienda adecuada cerca de la escuela de nuestros hijos es una preocupaci\u00f3n com\u00fan para muchas familias. Afortunadamente, los mapas de is\u00f3cronas ofrecen una manera efectiva de visualizar \u00e1reas accesibles en funci\u00f3n del tiempo de viaje. En este blogpost, aprender\u00e1s c\u00f3mo utilizar Python y las bibliotecas Leaflet y Folium para crear un mapa interactivo de is\u00f3cronas en la ciudad de Nantes, Francia, y encontrar el lugar ideal para vivir cerca del nuevo colegio de tus hijos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2023\/05\/iso_nantes.gif\" alt=\"Isocrone Nantes\" class=\"wp-image-1013\" width=\"634\" height=\"346\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Requisitos previos<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de comenzar, aseg\u00farate de tener instaladas las siguientes bibliotecas de Python en tu entorno:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Folium<\/li>\n\n\n\n<li>Requests<\/li>\n\n\n\n<li>Shapely<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>import folium\nimport requests\nfrom shapely.geometry import Polygon\nfrom shapely.ops import cascaded_union<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, necesitar\u00e1s obtener un token de acceso al servicio de is\u00f3cronas de Mapbox. Si a\u00fan no tienes uno, puedes crear una cuenta gratuita en Mapbox y obtener el token desde su sitio web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/account.mapbox.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/account.mapbox.com\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Definir la ubicaci\u00f3n y los intervalos de tiempo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar, necesitamos establecer la ubicaci\u00f3n del nuevo colegio de tus hijos en Nantes. Utiliza las coordenadas de latitud y longitud para marcar esta ubicaci\u00f3n en el mapa.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Define la ubicaci\u00f3n y el punto de partida (Nantes, Francia)\nlat = 47.23864\nlon = -1.53362<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Yo utilic\u00e9 Google Maps para localizar el lugar. Click derecho sobre el nodo rojo del mapa y te mostrar\u00e1 las coordenadas que necesitas. \ud83d\udccd\ud83d\uddfa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luego, determina los intervalos de tiempo deseados en minutos, considerando el tiempo m\u00e1ximo que est\u00e1s dispuesto a invertir en el viaje diario de tus hijos hacia y desde la escuela. Por ejemplo, podr\u00edas establecer intervalos de 10, 20 y 30 minutos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Define los intervalos de tiempo en minutos para las is\u00f3cronas\nintervalos = &#91;5, 10, 15]  # Ajustados a 5, 10 y 15 minutos en velocidad promedio de una persona caminando<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Obtener los datos de is\u00f3cronas<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usaremos la biblioteca <code>requests<\/code> para enviar una solicitud HTTP al servicio de is\u00f3cronas de Mapbox y obtener los datos correspondientes a cada intervalo de tiempo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Define el token de acceso al servicio de is\u00f3cronas\ntoken = \"pk.token.mapbox\"  # Reemplaza con tu propio token\n\n# Crea un mapa interactivo utilizando Folium\nmapa = folium.Map(location=&#91;lat, lon], zoom_start=15)\n\n# Recorre los intervalos de tiempo y obtiene las is\u00f3cronas\nfor intervalo in intervalos:\n    # Construye la URL de la solicitud de is\u00f3crona\n    url = f\"https:\/\/api.mapbox.com\/isochrone\/v1\/mapbox\/walking\/{lon},{lat}?contours_minutes={intervalo}&amp;polygons=true&amp;access_token={token}\"\n    \n    # Realiza la solicitud HTTP y obtiene los datos de la respuesta\n    response = requests.get(url)\n    data = response.json()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Construiremos la URL de la solicitud de is\u00f3crona utilizando las coordenadas de la ubicaci\u00f3n del colegio y el token de acceso proporcionado por Mapbox. Luego, enviaremos la solicitud y obtendremos la respuesta en formato JSON.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Procesar los datos y generar los pol\u00edgonos<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que obtengamos los datos JSON de cada is\u00f3crona, extraeremos las coordenadas de los pol\u00edgonos de is\u00f3crona utilizando la biblioteca <code>shapely<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">    # Extrae las coordenadas de los pol\u00edgonos de is\u00f3crona\n    coordenadas = data[\"features\"][0][\"geometry\"][\"coordinates\"]\n    \n    # Crea un pol\u00edgono de Shapely y agrega los puntos del pol\u00edgono\n    poligono = Polygon(coordenadas[0])\n    \n    # Agrega el pol\u00edgono al mapa como una capa GeoJSON\n    folium.GeoJson(\n        data=data,\n        style_function=lambda x: {'fillColor': '#e26e4d', 'color': '#ea4141', 'weight': 1, 'fillOpacity': 0.3},\n        name=f\"{intervalo} min\"\n    ).add_to(mapa)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n, utilizaremos la operaci\u00f3n <code>cascaded_union<\/code> de <code>shapely<\/code> para combinar los pol\u00edgonos de is\u00f3crona en uno solo. Esto nos dar\u00e1 un pol\u00edgono que representa todas las \u00e1reas accesibles dentro de los intervalos de tiempo establecidos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Crear el mapa interactivo con Folium<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizaremos la biblioteca <code>folium<\/code> para crear un mapa interactivo y agregar el pol\u00edgono de is\u00f3crona como una capa GeoJSON. Estableceremos un estilo para el pol\u00edgono y ajustaremos la opacidad para una mejor visualizaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Agrega una capa de control para alternar la visualizaci\u00f3n de las is\u00f3cronas\nfolium.LayerControl().add_to(mapa)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, agregaremos otras capas \u00fatiles, como escuelas cercanas, transporte p\u00fablico o tiendas, para ayudarte a tomar una decisi\u00f3n informada sobre la ubicaci\u00f3n de tu nuevo hogar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Guardar y visualizar el mapa interactivo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, guardaremos el mapa interactivo en un archivo HTML y lo visualizaremos en un navegador web. El archivo HTML contendr\u00e1 todos los elementos necesarios, incluidos los datos y las configuraciones del mapa.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Guarda el mapa interactivo como un archivo HTML\nmapa.save(\"webmap.html\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2023\/05\/webmap.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/javierladino.com\/es\/wp-content\/uploads\/2023\/05\/webmap.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este enlace \u261d podr\u00e1s explorar el mapa interactivo para encontrar \u00e1reas que est\u00e1n dentro de los intervalos de tiempo deseados y cerca del colegio de tus hijos. Esto te ayudar\u00e1 a identificar posibles vecindarios y tomar una decisi\u00f3n informada sobre d\u00f3nde buscar tu nuevo hogar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Conclusiones<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este blogpost, has aprendido c\u00f3mo utilizar mapas de is\u00f3cronas para encontrar una vivienda cerca del nuevo colegio de tus hijos utilizando Python y las bibliotecas Leaflet y Folium. Estos mapas interactivos te permitir\u00e1n visualizar las \u00e1reas accesibles en funci\u00f3n del tiempo de viaje y tomar una decisi\u00f3n informada sobre la ubicaci\u00f3n de tu hogar. Ahora est\u00e1s listo para comenzar tu b\u00fasqueda y encontrar el lugar perfecto para vivir cerca de la escuela de tus hijos. \u00a1Buena suerte!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Descarga el c\u00f3digo de Github<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes acceder al c\u00f3digo del notebook de Python en el siguiente enlace:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/javiladino\/isocronas_nantes\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/javiladino\/isocronas_nantes<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Encontrar una vivienda adecuada cerca de la escuela de nuestros hijos es una preocupaci\u00f3n com\u00fan para muchas familias. Afortunadamente, los mapas de is\u00f3cronas ofrecen una manera efectiva de visualizar \u00e1reas accesibles en funci\u00f3n del tiempo de viaje. En este blogpost, aprender\u00e1s c\u00f3mo utilizar Python y las bibliotecas Leaflet y Folium para crear un mapa interactivo &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1013,"comment_status":"open","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0},"rara_portfolio_categories":[27],"class_list":["post-1011","rara-portfolio","type-rara-portfolio","status-publish","has-post-thumbnail","hentry","rara_portfolio_categories-dataviz"],"_links":{"self":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara-portfolio\/1011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara-portfolio"}],"about":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/types\/rara-portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/comments?post=1011"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/media\/1013"}],"wp:attachment":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/media?parent=1011"}],"wp:term":[{"taxonomy":"rara_portfolio_categories","embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara_portfolio_categories?post=1011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}