1 votos

¿Construcción de la matriz de pesos espaciales a partir de la triangulación de coordenadas de puntos en R?

Quiero saber cómo construir una matriz de pesos espaciales a partir de coordenadas de puntos en R, por ejemplo, utilizando el conjunto de datos de puntos de vivienda del condado de Lucas, OH, en spdep paquete.

Leo aquí dice que "la lista de vecinos proporcionada con el conjunto de datos en spdep es una esfera de influencia". construido a partir de una triangulación de las coordenadas de los puntos de las casas después de la proyección al norte de Ohio NAD83 (HARN) Lambert Conformal Conical (EPSG:2834)".

Sólo sé construir matrices de pesos espaciales a partir de polígonos, ni idea de puntos.

Ahí está mi código:

library(spdep)
library(rgdal)
data(house)
writeOGR(obj=house, dsn="test", layer="house", driver="ESRI Shapefile")
temp=readOGR("./test/house.shp")

1voto

Jay Bazuzi Puntos 194

Tomemos una pequeña muestra de los datos de la vivienda a título ilustrativo:

> set.seed(123)
> h = house[sample(25357,100),]

A continuación, puede utilizar la función deldir para construir una triangulación de Delaunay:

> library(deldir) # install from CRAN if not got already
> hd = deldir(data.frame(coordinates(h)))

Un elemento de esto se parece a esto:

> head(hd$delsgs)
        x1       y1       x2       y2 ind1 ind2
1 507012.1 212861.7 484643.3 197553.9    6   74
2 505668.7 212737.6 507012.1 212861.7   18    6
3 506340.4 212874.5 507012.1 212861.7   51    6
4 506340.4 212874.5 505668.7 212737.6   51   18
5 503051.5 210910.0 484643.3 197553.9   35   74
6 503051.5 210910.0 507012.1 212861.7   35    6

y cada fila de ind1 y ind2 representa una línea en la triangulación que une los dos puntos. Así, el punto 6 está conectado al punto 74, el punto 18 al punto 6 y así sucesivamente. Se trata de una lista de adyacencia .

Se podría pasar a construir la matriz de pesos espaciales a partir de esas columnas, pero hay una función en spdep que lo haga por ti:

> nbl = tri2nb(coordinates(h))
> nbl
Neighbour list object:
Number of regions: 100 
Number of nonzero links: 576 
Percentage nonzero weights: 5.76 
Average number of links: 5.76 
> plot(nbl,coordinates(h))

enter image description here

ahora es un objeto estándar que puede manipularse en las diversas estructuras de peso espacial que spdep funciones de uso.

Tenga en cuenta que ésta es sólo una de las muchas formas de hacer una matriz de pesos espaciales para datos puntuales, incluyendo N-Nearest neighbour, todos los vecinos dentro del umbral de distancia, etc. La mayoría de estos métodos se aplican en el programa spdep paquete.

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