[R-sig-Geo] [FORGED] Create a Spatial Weight Matrix based on road distance

Rolf Turner r@turner @end|ng |rom @uck|@nd@@c@nz
Sun Jun 23 05:00:02 CEST 2019


On 23/06/19 2:38 PM, Rolando Valdez wrote:

> 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.

I'm afraid I still don't understand.  To put it mildly. You presumably 
have a clear idea of what you are trying to, but those of us who are not 
involved in your research have no such idea.  We (or at least I) haven't 
a clue as to what you are talking about.

What do you mean by "spatial weight"?  What are these weights used for? 
What is n?  How are the counties involved?  Is n the number of counties? 
Are you interested in the road distance (minimum road distance?) between 
pairs of counties?

Please explain *clearly* and do not expect those who are trying to help 
you to be mind-readers!!!

cheers,

Rolf

> 
> El sáb., 22 de jun. de 2019 a la(s) 19:28, Rolf Turner 
> (r.turner using auckland.ac.nz <mailto: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>
>     <mailto: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



More information about the R-sig-Geo mailing list