[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