PostGIS tiene muchos operadores espaciales que te permiten hacer de todo, desde un simple análisis hasta el más complejo, todo ello utilizando comandos SQL muy sencillos. Para mostrar cómo hacer análisis de una manera sencilla usando AmigoCloud, vamos a utilizar los dos datasets que subimos anteriormente, “School Points” y “Traffic Calming Points”.
En este ejemplo, vamos a mostrar cómo un director de proyecto de cualquier agencia de tráfico puede usar estos datasets y AmigoCloud para encontrar todas las medidas implementadas de reducción de tráfico cerca de colegios. De esta manera se pueden revisar durante el verano y estar seguro de que funcionan bien antes de que los niños regresen al colegio en otoño.
Primero abrimos el Proyecto y vamos a Consultas Avanzadas. Allí hacemos clic en “Crear nueva consulta”.
Consultas avanzadas. Crear nueva consulta
Al hacer clic en “Crear nueva consulta”, se abrirá una nueva página
Página para crear nueva consulta
Primero empecemos con algo muy simple, escribe “SELECT*FROM”, y pulsamos Ctrl + barra espaciadora ó click en el botón “Explorar datasets” para seleccionar “School_public_pt” dataset.
Consultas avanzadas
Cuando selecciones el dataset, primero se añadirá el nombre del dataset en la entrada de la consulta. Verás un nombre de la siguiente manera “dataset_XXXXXX”, donde XXXXXX es un número. Cuando los datos son cargados en AmigoCloud, todos los datasets son asignados con un número único (ID) y con un nombre similar al que tienen. Esto es para asegurar que cualquier dato importado pueda ser insertado a la base de datos de Postgres sin importar de donde vengan.
Ahora que la consulta dice “SELECT * FROM dataset_XXXXXX”, haz clic en el botón “Ejecutar” y observa el resultado que aparece debajo de la entrada.
Resultado de la consulta SELECT * FROM data_XXXXXX
Ahora que puedes crear a consulta simple, puedes añadir además algunos operadores espaciales.
Ahora ejecuta la siguiente consulta:
SELECT facility_n AS name, ST_BUFFER(wkb_geometry,0.005) AS geom FROM dataset_XXXXXX where school_typ = ‘Elementary’.
Esta consulta le dirá al dataset que seleccione las geometrías de todas las escuelas de primaria, que cree un búfer con un radio pequeño (de 0,005 grados decimales) y que retorne la nueva geometría y el nombre de la escuela. Ahora graba la consulta haciendo clic en “Guardar Consulta” y dale el nombre: “Zonas de educación básica”, haz click en el icono de guardado.
Grabar nueva consulta
Crear dataset permanente
Luego, crea un nuevo dataset con el resultado de la consulta haciendo clic en “Crear dataset permanente”, asigna nombre (en caso, “b_z_educación_básica”) y dale click al icono de guardado, vuelve a la lista de datasets y verás un nuevo dataset con el nombre asignado previamente añadido a tu lista.
Nuevo dataset creado
Como con cualquier dataset de la lista, si colocas el ratón sobre el nombre del dataset, podrás ver un icono de edición. Podemos darle clic en ese icono para renombrar el dataset a “Zona de Educación Básica”.
Icono de edición del nombre del dataset
Ahora que hemos usado SQL standard para seleccionar escuelas de primaria y crear un búfer alrededor de ellas, vuelve a “Consultas avanzadas”. Vamos a crear una nueva consulta:
Escribe la siguiente consulta:
SELECT dataset_XXXXX_1.* FROM dataset_XXXXX_1, dataset_XXXXX_2 where ST_INTERSECTS(dataset_XXXXX_1.wkb_geometry, dataset_XXXXX_2.geom)
Donde:
- dataset_XXXXXX_1 es el dataset “Traffic Calming Features”
- dataset_XXXXXX_2 es el dataset “Zonas de Educación Básica”
Lista de todas las medidas de reducción de tráfico en un área pequeña alrededor de escuelas de primaria en San Francisco
Puedes incrementar o reducir el área del búfer. Graba esta consulta como “Dispositivo reductor de velocidad en zona escolar” y crea un dataset permanente con este nombre.
Bonus:
A partir de ahora Podemos consultar todos los datos de reducción y seguridad de tráfico. Por ejemplo, si quieres saber dónde están todos los montículos de reducción de velocidad instalados, puedes usar la siguiente consulta:
SELECT dataset_XXXXX_1.*, dataset_XXXXX_2.name FROM dataset_XXXXX_1, dataset_XXXXX_2 where ST_INTERSECTS( dataset_XXXXX_1.wkb_geometry, dataset_XXXXX_2.geom) and dataset_XXXXX_1.descript = 'Bulb-Out'
Si quieres inspeccionar una escuela en específico, puedes añadir el nombre de la escuela en la consulta y crear la siguiente:
SELECT dataset_XXXXX_1.*, dataset_XXXXX_2.name FROM dataset_XXXXX_1, dataset_XXXXX_2 where ST_INTERSECTS( dataset_XXXXX_1.wkb_geometry, dataset_XXXXX_2.geom) and dataset_XXXXX_2.name = 'Jefferson Elementary School'.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.