[R-sig-Geo] [FORGED] Create a Spatial Weight Matrix based on road distance
Rolando Valdez
rv@|dezr @end|ng |rom gm@||@com
Sun Jun 23 03:17:09 CEST 2019
Thank you for your answer.
I have a shapefile with, say, counties, and I got another shapefile with
the roads. ¿What if a county does not intersect any road?
El jue., 20 de jun. de 2019 a la(s) 19:08, Rolf Turner (
r.turner using auckland.ac.nz) escribió:
>
> On 21/06/19 12:26 PM, Rolando Valdez wrote:
>
> > Dear community,
> >
> > Is there any way to create a spatial weight matrix based on road
> distance?
> > I am trying to use the road distance between two points instead of
> > euclidean distance.
> >
> > I've seen that there is a package named osrm. Can anyone give some
> advice?
>
> I don't know anything about "osrm". Calculating "road distances" can be
> done in the spatstat package reasonably easily, if you take the trouble
> to represent your collection of roads as a "linnet" object.
>
> Given that you have done so, suppose that your linnet object is "L" and
> that you have vectors "x" and "y" specifying the points on L (i.e. on
> your roads) between which you want to know the distances.
>
> Do:
>
> X <- lpp(data.frame(x=x,y=y),L)
> dMat <- pairdist(X)
>
> The object "dMat" is a (symmetric) square matrix; dMat[i,j] is the
> distance between point i and point j. (Of course the diagonal entries
> are all 0.)
>
> If your collection of roads is specified by means of a shapefile,
> vignette("shapefiles") will tell you how to turn this collection into a
> "psp" ("planar segment pattern") object; the function (method)
> as.linnet.psp() can then be used to turn the "psp" object into a
> "linnet" object.
>
> HTH
>
> cheers,
>
> Rolf Turner
>
> --
> Honorary Research Fellow
> Department of Statistics
> University of Auckland
> Phone: +64-9-373-7599 ext. 88276
>
--
Rol~
[[alternative HTML version deleted]]
More information about the R-sig-Geo
mailing list