1 votos

Recuento de puntos de sucesos por categorías y correspondencia con los polígonos, normalizados por la población

Soy nuevo en CartoDB, pero soy un usuario experimentado de ArcGIS. En mi universidad había una gran carencia de formación en SIG; sólo aprendí a crear mapas estáticos, no contenidos web. Después de graduarme hace 3 años, estoy jugando a ponerme al día.

En cualquier caso, tengo dos conjuntos de datos principales: Eventos (puntos) y categorías (tabla).

Los eventos son puntos en la ciudad de Nueva York de eventos como "Yoga Meetup, Lugar: Central Park, 10 am el 6/1/2014" o "Python Pals, Lugar: Tech Center, 6 pm el 15/6/2014".

Cada identificador único de la tabla de eventos aparece en la tabla de conceptos. La tabla de conceptos etiqueta cada evento por categoría - por ejemplo "Deportes y Ocio" (categoría 1) o "Tecnología" (categoría 2) y así sucesivamente. Algunos eventos tienen categorías nulas porque aún no han sido etiquetados.

Quiero vincular las categorías a los eventos, y luego contar cuántos eventos corresponden a cada categoría.

A continuación, quiero vincular estos puntos a 5 conjuntos de datos de polígonos diferentes: Distritos de la ciudad de Nueva York, distritos del Ayuntamiento, secciones del censo, etc. En cada tabla hay una columna para la población de cada polígono.

El objetivo es contar cuántos puntos de evento de cada categoría hay dentro de cada tipo de polígono, normalizados por la población.

El resultado es ver qué barrios acogen el mayor número de eventos para cada tema. ¿Qué barrio tiene más eventos "deportivos" por población? Desglosando aún más, ¿qué zonas del censo tienen más eventos por población?

Gracias por toda la ayuda que pueda aportar.

-S.G.

1voto

Joshiwa Puntos 11

podrías hacer algo así:

SELECT a.neighborhood_name,count(b.event_id) AS event_count
FROM "tblNeighborhoods"  a
LEFT JOIN "tblEvents" b USING (neighborhood_id)
WHERE a.neighborhood_id = x 
GROUP BY a.neighborhood_name

y así sucesivamente dependiendo del grupo que se trate de contar

otra posibilidad sería crear tablas de vinculación adicionales en las que se incluyan los identificadores de las tablas que contienen las categorías y las instancias que está intentando contar. en este caso, crearía su tabla de vinculación con 2 columnas, una para contener cada id. entonces podría seleccionar un recuento de la tabla de vinculación así:

SELECT b.category_name, count(a.instance_id) as instance_count 
FROM "linktable" a
LEFT JOIN "categorytable" b USING(category_id) 
WHERE a.category_id = x
GROUP BY b.category_name

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X