9 votos

La medición de distancias entre puntos simultáneos

Estoy trabajando con datos de GPS y por lo que he UTM con información de FECHA y Hora. Tengo 2 grupos de especies (alces y lobos). Quiero unirme a la información de los alces de los lobos que coinciden en el tiempo. Así, la ubicación 1 de alces 1 fue en 2007-03-26 14:33:49 a todos los lobos que se registraron en aproximadamente el mismo tiempo. Aproximadamente es la clave - que significa que voy a tener una ventana de tiempo de búfer o a mirar para todos lobo lugares que estaban dentro de los 30 minutos de amortiguamiento alrededor de ese tiempo.

Estoy buscando un script o una herramienta en la que se establece una ventana de búfer de +/-X min y será capaz de "lote". Ive al menos 30 alce y el 30 de lobos - haciendo así la coincidencia de una pareja a la vez no es útil. Una vez que tengo la fecha/hora de igualada, a continuación, se desea calcular la distancia entre el XY lugares de alces y lobos, y la diferencia en el tiempo. Me gustaría tener una salida como:

individualmooseID | mooseDate | mooseX | mooseY | individualwolfID | wolfDate | wolfX | wolfY | Distance(m) | TimeDiff (min)

El mooseID pueden corresponder a DIFERENTES wolfIDs para el mismo período de tiempo. Cualquier sugerencia se agradece. He escrito un código de R, pero no es trabajo ver a mi pregunta: http://stackoverflow.com/q/15646365/675742 y voy a tener que poner los datos en ArcGIS en algún momento por lo que si puedo omitir R y hacerlo todo en ArcGIS, entonces GENIAL!

4voto

Lars Mæhlum Puntos 4569

Conjuntos de datos como esto puede dar mucho de la información de curso.

Me gustaría hacer esto en una base de datos espaciales medio ambiente, preferentemente PostgreSQL/PostGIS.

Lo que quieres hacer me parece como una simple unión en tanto espacial y temporal de los datos.

Luego de hacer todo en una sola consulta. La parte difícil podría ser la optimización de los índices para el momento de unirse. Supongo que los conjuntos de datos es bastante grande.

La consulta puede ser algo como esto (leer como pseudo código, especialmente en el tiempo-parte))

SELECT DISTINCT ON (moose_id, wolf_id, moose_time) 
moose_id, moose_geom, moose_time, wolf_id, wolf_geom, wolf_time,
ST_Distance(moose_geom, wolf_geom) as dist, moose_time-wolf_time as time_diff
FROM
moose_table as mt inner join wolf_table as wt 
on 
ST_DWithin(moose_geom, wolf_geom,10000) 
AND moose_time > ( wolf_time-30) 
AND moose_time < (wolf_time + 30) 
ORDER BY abs(time_diff), moose_id, wolf_id, moose_time;

dos apuntes:
1) he utilizado ST_DWithin para restringir acerca de la vinculación de lobo alces que está más cerca de 10000 metros. Que es una forma de disminuir el cálculo y no calcular todas las combinaciones posibles.
2) he utilizado DISTINTAS. Para cada uno de los alces-lobo combinación en cada uno de los alces de registro de tiempo, usted debe obtener sólo la distancia, cuando estaban más cerca en el tiempo.

Pero veo varias otras interesantes consultas a la prueba en su conjunto de datos que se deben dar información interesante acerca de la forma en que los lobos caza de los alces.

Por ejemplo, usted puede, en lugar de encontrar la distancia entre el lobo y el alce cuando están tan cerca como sea posible en el tiempo de averiguar cuando están tan cerca como sea posible en el espacio. Eso es sólo la reorganización de los pedidos. Luego, en los casos cuando el lobo está siguiendo los alces, verás cómo muy atrás en el tiempo el lobo. Por supuesto, será duro valores como supongo que los lobos no solo pista sino también por el viento a la deriva olfato, pero en algunos casos, usted va a ver que tan lejos detrás de el lobo, y la forma en que está cambiando. Junto con la velocidad de el lobo y los alces, que podría dar un buen patrón de lo que está pasando.

La velocidad a la que, por supuesto, obtener de otra consulta simple :-)

Así, poner tablas en una base de datos postgis y hacer el trabajo.

Si usted está utilizando ArcGIS 10 o 10.1 usted puede ver los datos directamente de la base de datos. O de QGIS. Que es más maduro combinación de PostGIS-QGIS.

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