[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 04:38:59 CEST 2019


I am sorry, I was not clear enough. My goal is to calculate a spatial
weight matrix (nxn) across counties but, instead of euclidean distance, to
use road distance.

El sáb., 22 de jun. de 2019 a la(s) 19:28, Rolf Turner (
r.turner using auckland.ac.nz) escribió:

>
> On 23/06/19 1:17 PM, Rolando Valdez wrote:
>
> > 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?
>
> I am sorry, but it is not at all clear to me just what the problem is.
> How do the counties come into the picture?  You said you wanted to get
> the road distance between points on the roads.  What have the counties
> got to do with this?
>
> Can you perhaps provide a reproducible example?
>
> cheers,
>
> Rolf
>
> >
> > El jue., 20 de jun. de 2019 a la(s) 19:08, Rolf Turner
> > (r.turner using auckland.ac.nz <mailto: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
>


-- 
Rol~

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list