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/19 11:16] – [4.1 Número de alojamientos en cada barrio] numeroteca | como-se-concentra-la-oferta-por-barrios-de-airbnb [2018/04/24 18:48] – [3. Qué herramientas uso para preparar los datos. Qué pasos debo seguir] skotperez | ||
---|---|---|---|
Línea 16: | Línea 16: | ||
===== 2. Qué datos necesito y dónde los encuentro ===== | ===== 2. Qué datos necesito y dónde los encuentro ===== | ||
- | * Listado de alojamientos de Airbnb | + | |
* Donostia: ''/ | * Donostia: ''/ | ||
* Pamplona: ''/ | * Pamplona: ''/ | ||
- | * Madrid: ''/ | + | * Madrid: '' |
- | * Contorno de barrios. | + | |
* Donostia: https:// | * Donostia: https:// | ||
* Pamplona: https:// | * Pamplona: https:// | ||
Línea 29: | Línea 29: | ||
* Número de alojamientos de Airbnb por barrio. | * Número de alojamientos de Airbnb por barrio. | ||
- | Para la proporción de viviendas de Airbnb respecto del total: | + | Para la proporción de viviendas de Airbnb respecto del total necesito el **número de viviendas por barrio**: |
* Donostia: [[http:// | * Donostia: [[http:// | ||
* Pamplona: [[https:// | * Pamplona: [[https:// | ||
+ | * Madrid https:// | ||
[[airbnb: | [[airbnb: | ||
Línea 65: | Línea 66: | ||
- 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 97: | Línea 98: | ||
- 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. | ||
{{: | {{: | ||
Línea 102: | Línea 104: | ||
- BOtón derecho sobre capa "Open Atribute Table" para ver la tabla de datos. VEmos lo siguiente, a la derecha la columna '' | - BOtón derecho sobre capa "Open Atribute Table" para ver la tabla de datos. VEmos lo siguiente, a la derecha la columna '' | ||
{{: | {{: | ||
- | - Ahora puedo salvar esa capa como un GeoJSON y un .csv para utilzarlas más adelante. | + | - Ahora puedo salvar esa capa como un GeoJSON |
- | (botón derecho sobre capa y '' | + | |
Manual en youtube para hace mapa de coropletas a partir de puntos y regiones en Carto: https:// | Manual en youtube para hace mapa de coropletas a partir de puntos y regiones en Carto: https:// | ||
Línea 119: | Línea 120: | ||
Este script de SQL llenará la columna '' | Este script de SQL llenará la columna '' | ||
- | |||
- | === 4.1.c Modo Builder (Carto.com) === | ||
- | |||
- | Este modo utiliza la interfaz gráfica nueva de Carto.com. | ||
- | |||
- | - 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.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 ==== | ==== 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. | + | 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. |
=== 4.2.a Con QGIS === | === 4.2.a Con QGIS === | ||
Línea 154: | Línea 129: | ||
- Utilizamos la herramienta “Unir atributos por localizacion” (Menu: Vector > Data Management Tools > Join Attributes by location) para añadir informacion (de barrio) a cada unos de los anuncios de la base de datos de los anuncios. | - Utilizamos la herramienta “Unir atributos por localizacion” (Menu: Vector > Data Management Tools > Join Attributes by location) para añadir informacion (de barrio) a cada unos de los anuncios de la base de datos de los anuncios. | ||
- La capa “Target vector Layer” serán nuestros anuncios de Airbnb y la “Join Vector Layer” los barrios. | - La capa “Target vector Layer” serán nuestros anuncios de Airbnb y la “Join Vector Layer” los barrios. | ||
- | - Marca “Take attributes of first located feature” y “Only keep matching records” (para quedarte solamente con los puntos que están en los barrios“). | + | - Marca " |
- | - Salva la capa como un shapefile, 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) |
- | El resultado puedes descargarlo aquí https:// | + | El resultado puedes descargarlo aquí: |
+ | * Navarra | ||
+ | * Madrid data/ | ||
Ahora con una tabla dinámica puedes calcular el número de anuncios por barrio. | Ahora con una tabla dinámica puedes calcular el número de anuncios por barrio. | ||
Línea 168: | Línea 145: | ||
=== 4.3.a Modo con QGIS === | === 4.3.a Modo con QGIS === | ||
- | - Join table desde el menú de propiedades de una capa. | + | - Añade la capa de contornos de barrio que contiene |
+ | - En propiedades de la capa ve a la sección '' | ||
+ | {{: | ||
+ | - Rellena: | ||
+ | * Join Layer: la capa con la información de número de viviendas por barrio (del archivo '' | ||
+ | * Join Field: la columna que tiene el nombre del barrio ('' | ||
+ | * Target field: '' | ||
+ | * Custom field name prefix: '' | ||
+ | * Dale a '' | ||
+ | {{ : | ||
+ | - Si ahora vamos a la sección '' | ||
+ | - Ahora con botón derecho sobre la capa '' | ||
+ | {{ : | ||
+ | - Pulsa en el lápiz de arriba a la izquierda para poder editar la capa. | ||
+ | - Crea una columna nueva (botón de arriba a la derecha) | ||
+ | {{ : | ||
+ | - Pulsa en el icono del ábaco para calcular el cociente entre número de anuncios por barrio y número de viviendas por barrio: ''" | ||
+ | * Nº total de hogares | ||
+ | * Nº de viviendas | ||
+ | * Nº Total de viviendas familiares (Censo Edificios y Viviendas 2011) | ||
+ | * Nº Total de viviendas (Censo Edificios y Viviendas 2011) | ||
+ | {{ : | ||
+ | - Ya tienes la variable creada con el ratio de anuncios deAirbnb por cada 100 viviendas. Ahora quieres que tenga solamente 2 decimales, debes repetir el paso anterior pero con este cálculo para actualizar '' | ||
+ | {{ : | ||
+ | - Dale a ok y vuelve a pulsar en el lápiz, para salvar los cambios. | ||
- | === 4.3.b Modo manual (Carto) === | ||
- | 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: | + | ===== Mapa de coropletas 3 ===== |
- | - 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. | + | Ya solo nos queda hacer el mapa de coropletas utilizando |
- | - Edita con un editor de hojas de cálculo y añade los valores a cada barrio de los datos de / | + | |
- | - Crea una columna percent_turisticas y haz el cálculo: '' | + | |
- | - Salva la tabla como .csv y súbela a carto. | + | |
- | === 4.3.c Modo script (Carto.com) | + | ==== Modo QGIS ==== |
- | + | ||
- | == 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 y pon (SET) el número de viviendas por barrio de la tabla viviendas_barrios_donostia (el nombre de la columna es total) (FROM) en las filas donde coincidan la columna bar_ds_o (nombre del barrio) de un archivo con la columna barrios de otro (WHERE). | + | |
- | + | ||
- | 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 | + | - Ahora vamos a dar estilo al mapa. Botón derecho sobre la capa, Propiedades > Style. Elige: |
+ | * Graduated | ||
+ | * Column: '' | ||
+ | * Mode: Juega con Equal interval, Natural breaks (jenks) y | ||
+ | - Dale a '' | ||
+ | - Dale a '' | ||
+ | {{ : | ||
+ | - ¡Tenemos el mapa! Coloreado usando modo " | ||
+ | {{ : | ||
+ | - Es posible mirar el histograma para ver cómo Jenks hace las particiones: | ||
+ | {{ : | ||
+ | - Ahora falta exportar el mapa.[[http:// | ||
+ | - Crear layout | ||
+ | - Añadir mapa | ||
+ | - Cambiar nivel de zoom | ||
+ | - Añadir leyenda | ||
+ | - Exportar a pdf o SVG y continuar la edición en Inkscape para combinar un mapa con un gráfico de barras. | ||
===== 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