[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