como-se-concentra-la-oferta-por-barrios-de-airbnb
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente | ||
como-se-concentra-la-oferta-por-barrios-de-airbnb [2018/04/20 03:22] – [4.3 Proporción de pisos por barrio] numeroteca | como-se-concentra-la-oferta-por-barrios-de-airbnb [2018/09/26 19:05] – numeroteca | ||
---|---|---|---|
Línea 19: | Línea 19: | ||
* Donostia: ''/ | * Donostia: ''/ | ||
* Pamplona: ''/ | * Pamplona: ''/ | ||
- | * Madrid: ''/ | + | * Madrid: '' |
+ | * Barcelona: [[https:// | ||
* **Contorno de barrios**. | * **Contorno de barrios**. | ||
* Donostia: https:// | * Donostia: https:// | ||
* Pamplona: https:// | * Pamplona: https:// | ||
* Madrid: https:// | * Madrid: https:// | ||
+ | * Barcelona: [[https:// | ||
Con estos datos podremos calcular: | Con estos datos podremos calcular: | ||
Línea 29: | Línea 31: | ||
* Número de alojamientos de Airbnb por barrio. | * Número de alojamientos de Airbnb por barrio. | ||
- | Para la proporción de viviendas | + | Para la proporción de anuncios |
* Donostia: [[http:// | * Donostia: [[http:// | ||
* Pamplona: [[https:// | * Pamplona: [[https:// | ||
* Madrid https:// | * Madrid https:// | ||
+ | * Barcelona: [[https:// | ||
- | [[airbnb: | + | [[airbnb: |
===== 3. Qué herramientas uso para preparar los datos. Qué pasos debo seguir ===== | ===== 3. Qué herramientas uso para preparar los datos. Qué pasos debo seguir ===== | ||
Línea 44: | Línea 47: | ||
Nota sobre ubicación en Airbnb: los puntos de los alojamientos descargados por InsideAirbnb tienen una ubicación aproximada. Según su propia web: //" | Nota sobre ubicación en Airbnb: los puntos de los alojamientos descargados por InsideAirbnb tienen una ubicación aproximada. Según su propia web: //" | ||
- | |||
- | Opcional: Sin embargo los alojamientos sí que tienen asociado el código postal. Habría que hacer una tabla de equivalencia entre barrios y códigos postales. Con esta tabla podemos recorrer los registros de Inside Airbnb y añadir una columna que sea barrio. Esta unión de tablas puede ralizarse con QGIS. | ||
=== 3.2 Contorno de barrios === | === 3.2 Contorno de barrios === | ||
Línea 66: | Línea 67: | ||
- Por último, si queremos tener el conjunto de archivos que componen un shapefile comprimidos en un único archivo, hay que comprimir los archivos generados en un ZIP para poder usarlo, por ejemplo en Carto.com, una de las herramientas posibles para hacer el mapa. | - Por último, si queremos tener el conjunto de archivos que componen un shapefile comprimidos en un único archivo, hay que comprimir los archivos generados en un ZIP para poder usarlo, por ejemplo en Carto.com, una de las herramientas posibles para hacer el mapa. | ||
- | Para el caso de Euskadi, este archivo contendrá todos los barrios de Euskadi. Se puede editar la tabla asociada a esa capa en QGIS [a completar explicación] y quitar todos los barrios que no nos interesen para dejar solamente los barrios de Donostia. El archivo con solo los barrios de Donostia puedes descargarlo aquí / | + | Para el caso de Euskadi, este archivo contendrá todos los barrios de Euskadi. Se puede editar la tabla asociada a esa capa en QGIS [a completar explicación] y quitar todos los barrios que no nos interesen para dejar solamente los barrios de Donostia. El archivo con solo los barrios de Donostia puedes descargarlo aquí [[https:// |
== Con R == | == Con R == | ||
Línea 87: | Línea 88: | ||
===== 4. Qué herramientas uso para producir la visualización. Qué pasos debo seguir ===== | ===== 4. Qué herramientas uso para producir la visualización. Qué pasos debo seguir ===== | ||
- | ==== 4.1 Número de alojamientos en cada barrio | + | Necesitamos calcular los puntos (alojamientos) de Airbnb |
- | Necesitamos calcular los puntos | + | A veces las bases de datos ya ofrecen la información de a qué barrio pertenece cada anuncios |
+ | |||
+ | ==== 4.1 Número de alojamientos | ||
=== 4.1.a Modo interfaz gráfica (QGIS) === | === 4.1.a Modo interfaz gráfica (QGIS) === | ||
Línea 98: | Línea 101: | ||
- Si el archivo tiene columnas que se llamen " | - Si el archivo tiene columnas que se llamen " | ||
- Escogemos el mismo sistema de proyección que con los contornos WGS 84. | - Escogemos el mismo sistema de proyección que con los contornos WGS 84. | ||
+ | - Añade la capa con los barrios. Ejemplo para Madrid https:// | ||
- En el panel de la derecha Processing Toolbox selecciona en el menú: Processing Toolbox -> QGIS Geoalgorithms -> Vector analysis tools -> Count Points in Polygon. | - En el panel de la derecha Processing Toolbox selecciona en el menú: Processing Toolbox -> QGIS Geoalgorithms -> Vector analysis tools -> Count Points in Polygon. | ||
{{: | {{: | ||
- Si ambas capas comparten CRS no me dará error ni avisao de error y realizará el cálculo. Puedo cambiar el nombre por defecto de la columan '' | - Si ambas capas comparten CRS no me dará error ni avisao de error y realizará el cálculo. Puedo cambiar el nombre por defecto de la columan '' | ||
- | - BOtón | + | - Botón |
{{: | {{: | ||
- Ahora puedo salvar esa capa como un GeoJSON (barrios-madrid_n-listings-airbnb.geojson) y un .csv (barrios-madrid_n-listings-airbnb.csv) para utilzarlas más adelante (botón derecho sobre capa y '' | - Ahora puedo salvar esa capa como un GeoJSON (barrios-madrid_n-listings-airbnb.geojson) y un .csv (barrios-madrid_n-listings-airbnb.csv) para utilzarlas más adelante (botón derecho sobre capa y '' | ||
Línea 120: | Línea 124: | ||
Este script de SQL llenará la columna '' | Este script de SQL llenará la columna '' | ||
- | === 4.1.c Modo Builder | + | === 4.1.c Modo script |
- | Este modo utiliza | + | Con este script de R puedes añadir |
- | - Sube a tus bases de datos los archivos: '' | ||
- | - Crea un mapa y añade como capas '' | ||
- | - Sitúate en la capa '' | ||
- | - Selecciona el modo " | ||
- | - En el menú desplegado debes tener: Aggregate intersection: | ||
- | - Click en " | ||
- | - Entra en el modo tabla y cambia el nombre de la columna. Llámala " | ||
- | Extra: 8. Puedes repetir el paso 5 pero ahora para usando COUNT y seleccionando la variable " | + | ==== 4.2 Añadir localización de barrio a cada punto (añadir a cada punto el polígono en que se encuentra) |
- | + | ||
- | === 4.1.d Modo Editor(Carto.com) === | + | |
- | + | ||
- | Este modo utiliza la interfaz gráfica antigua de Carto.com. Algunos usuarios antiguos aún no tienen el modo " | + | |
- | + | ||
- | - Entra en el modo dataview del archivo de contornos de barrios de Donostia barrios_donostia. | + | |
- | - Haz click en el icono "merge datasets" | + | |
- | - Selecciona la opción " | + | |
- | - A la izquierda tendrás la base de datos de los barrios de Donostia (activa todos los campos). A la derecha selecciona la base de datos de los puntos, en nuestro caso listings_donostia_simple. Selecciona la opción " | + | |
- | - Click en "Merge datasets" | + | |
- | + | ||
- | Extra: para calcular el número de plazas (la variable accommodates) seguiremos el mismo proceso pero en el paso 4. seleccionaremos la variable accommodates y la opción " | + | |
- | + | ||
- | ==== 4.2 Añadir localización de barrio a cada punto ==== | + | |
Otra forma de abordar el problema es calcular en qué barrio está cada punto y asociar esa información a la base de datos. Este método añadirá el nombre del barrio a cada anuncio según se ubique el punto dentro del contorno de un barrio. | Otra forma de abordar el problema es calcular en qué barrio está cada punto y asociar esa información a la base de datos. Este método añadirá el nombre del barrio a cada anuncio según se ubique el punto dentro del contorno de un barrio. | ||
Línea 156: | Línea 139: | ||
- Marca " | - Marca " | ||
- Salva la capa como un shapefile, csv (listings_airbnb-madrid_insideairbnb-datahippo_merged_con-barrio.csv) o geojson y comprueba que se ha añadido la columna de “barrio” a tus base de datos de anuncios. | - Salva la capa como un shapefile, csv (listings_airbnb-madrid_insideairbnb-datahippo_merged_con-barrio.csv) o geojson y comprueba que se ha añadido la columna de “barrio” a tus base de datos de anuncios. | ||
- | |||
El resultado puedes descargarlo aquí: | El resultado puedes descargarlo aquí: | ||
* Navarra https:// | * Navarra https:// | ||
* Madrid data/ | * Madrid data/ | ||
+ | * Barcelona: [[https:// | ||
- | Ahora con una tabla dinámica puedes calcular el número de anuncios por barrio. | + | Ahora mediante |
==== 4.3 Proporción de pisos por barrio ==== | ==== 4.3 Proporción de pisos por barrio ==== | ||
Línea 195: | Línea 178: | ||
{{ : | {{ : | ||
- Dale a ok y vuelve a pulsar en el lápiz, para salvar los cambios. | - Dale a ok y vuelve a pulsar en el lápiz, para salvar los cambios. | ||
- | | + | |
+ | |||
+ | |||
+ | ===== Mapa de coropletas 3 ===== | ||
+ | |||
+ | Ya solo nos queda hacer el mapa de coropletas utilizando la variable del ratio calculado. Fácil. | ||
+ | |||
+ | ==== Modo QGIS ==== | ||
+ | |||
+ | - Ahora vamos a dar estilo al mapa. Botón derecho sobre la capa, Propiedades > Style. Elige: | ||
* Graduated | * Graduated | ||
- | * Column: Ratioturis | + | * Column: |
* Mode: Juega con Equal interval, Natural breaks (jenks) y | * Mode: Juega con Equal interval, Natural breaks (jenks) y | ||
- Dale a '' | - Dale a '' | ||
Línea 206: | Línea 198: | ||
- Es posible mirar el histograma para ver cómo Jenks hace las particiones: | - Es posible mirar el histograma para ver cómo Jenks hace las particiones: | ||
{{ : | {{ : | ||
- | - Ahora falta exportar el mapa.[[http:// | + | - Ahora falta exportar el mapa.[[http:// |
- | + | - Crear layout | |
- | + | - Añadir mapa | |
- | + | - Cambiar nivel de zoom | |
- | === 4.3.b Modo manual (Carto) === | + | - Añadir leyenda |
- | + | - Exportar | |
- | Puedes meter esos datos en Carto "a mano" en la tabla de valores. Añade columna y edita todos los campos. Copia pega. Son sólo 18 valores. Fácil. | + | |
- | + | ||
- | Pero más fácil todavía lo siguiente: | + | |
- | + | ||
- | - Descarga la tabla generada en el anterior ejercicio en table. Es la tabla de contornos de barrios que ahora incluye los valores de alojamientos por barrio. | + | |
- | - Edita con un editor | + | |
- | - Crea una columna percent_turisticas y haz el cálculo: '' | + | |
- | - Salva la tabla como .csv y súbela | + | |
- | + | ||
- | === 4.3.c Modo script (Carto.com) === | + | |
- | + | ||
- | == Junta dos tablas == | + | |
- | + | ||
- | Primero tenemos que añadir al mapa de carto la base de datos viviendas_barrios_donostia. Esta base de datos contiene el número de viviendas por barrio. | + | |
- | + | ||
- | Usaremos el siguiente script (un join) para unir ambas tablas: | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | que traducido a lenguaje común significa: actualiza (UPDATE) la tabla barrios_donostia | + | |
- | + | ||
- | De este modo tendremos los datos de viviendas por barrio en la tabla de contornos de barrios. | + | |
- | + | ||
- | === Calcula porcentaje de alojamientos de Airbnb por el total de viviendas === | + | |
- | + | ||
- | Luego nos queda calcular el porcentaje con otro script que divide una columna por otra (nº de alojamientos de airbnb / nº viviendas para cada barrio). Antes de esta operación hay que crear la coluna percent_turisticas: | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Esto es, en la tabla de los contornos de los barrios mete en la recién creada columna percent_turisticas el resultado de dividir el número de viviendas por el total de viviendas en ese barrio viviendas. Multiplica por 100 para obtener el porcentaje. | + | |
- | + | ||
- | Para evitar que salgan muchos decimales correr este script: | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Pasará de 0.124342983492 a 0.12. | + | |
- | + | ||
- | Manual: para join: https:// | + | |
- | + | ||
- | === 4.3.d Modo Builder (Carto.com) === | + | |
- | + | ||
- | Tienes que unir los datos incluidos en dos tablas diferentes: la tabla de barrios_donostia con el número de viviendas por barrio de la tabla viviendas_barrios_donostia. | + | |
- | + | ||
- | Entra en el modo dataview del archivo de contornos de barrios de Donostia. | + | |
- | Haz click en el icono "merge datasets" | + | |
- | Selecciona la opción " | + | |
- | A la izquierda selecciona barrios_donostia y la variable bar_ds_o (que contiene el nombre de los barrios) y a la derecha la tabla " | + | |
- | Selecciona las variables de ambas tablas que quieras incluir. De la izquierda todas, y de la derecha todas menos " | + | |
- | Renombra la tabla para saber lo que inclute: barrios_donostia_viviendas_airbnb_normales | + | |
- | + | ||
- | ===== Mapa de coropletas 3 ===== | + | |
- | + | ||
- | Ya solo nos queda hacer el mapa de coropletas utilizando la variable percent_turistica. Fácil. | + | |
===== Gráfico de barras ===== | ===== Gráfico de barras ===== |
como-se-concentra-la-oferta-por-barrios-de-airbnb.txt · Última modificación: 2018/09/26 19:11 por numeroteca