[R-sig-Geo] Error when running a Spatial Durbin Error Model without intercept

2019-08-10 Thread Rolando Valdez
Dear list,

I am trying to run a Spatial Durbin Error Model without intercept, however,
I do get an error:

 In spatialreg::errorsarlm(formula = formula, data = data, listw = listw,  :
  model configuration issue: no total impacts

This is what I am doing:

library(spatialreg)
library(spdep)
data(oldcol, package = "spdep")
W <- spdep::nb2listw(COL.nb, style = "W")
eq <- CRIME ~ 0 + INC + HOVAL
sdem <- errorsarlm(eq, data = COL.OLD, listw = W, etype = "emixed",
   method = "eigen")

Thanks for any advice.
-- 
Rol~

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-27 Thread Rolando Valdez
I see. It is very interesting.

Thank you for your answer.

El El jue, 27 de junio de 2019 a la(s) 3:08, Danlin Yu <
y...@mail.montclair.edu> escribió:

> Hi, Rolando:
>
> A Great Circle distance is the distance measured with un-projected
> coordinates, or what we normally called the longitude and latitude
> coordinates (measured in decimal degrees). These coordinates are
> essentially Spherical coordinates recorded on the surface of a Sphere
> (or sphere-like object, the Spheroid/Ellipsoid, which is basically our
> Earth). When measuring distance using these coordinates, you must use
> the Great Circle (the Circle that centered on the center of the Earth)
> that crosses the two points and calculate the distance on the Great
> Circle, which is calculated as (assuming the Earth is a perfect Sphere):
>
> [ (angle between the two lines from the center of the Earth to the two
> points on the surface of the Earth)/360 ] * 2*Pai* (Radius of the Earth)
>
> If, however, the coordinates are projected to a planar system (a
> Cartesian coordinate system), we can then use the normal Euclidean
> distance measure to calculate the distance between two points recorded
> in planar coordinate system (such as the UTM, State Plane used in the
> US, and many others), which is calculated simply as:
>
> sqrt((difference between the xs)^2 + (difference between the ys)^2).
>
> Hope this helps.
>
> Best,
>
> Danlin
>
> On 6/27/2019 2:44 AM, Rolando Valdez wrote:
> > Dear Prof. Roger, many thanks for your help, I am working on.
> >
> > I have a doubt: Which is the differece between Great Circle and Euclidean
> > Distance?
> >
> > Thanks
> >
> > El lun., 24 de jun. de 2019 a la(s) 00:58, Roger Bivand (
> roger.biv...@nhh.no)
> > escribió:
> >
> >> On Mon, 24 Jun 2019, Rolando Valdez wrote:
> >>
> >>> Dear Andres,
> >>>
> >>> I could follow an example provided with the package, it was a little
> bit
> >>> simple, however, I got this message:
> >>>
> >>>> dists <- osrmTable(loc = muns13, measure = "duration")
> >>> The OSRM server returned an error:
> >>> Error: The public OSRM API does not allow results with a number of
> >>> durations
> >>> higher than 1. Ask for fewer durations or use your own server and
> set
> >>> its
> >>> --max-table-size option.
> >>>
> >>> My sample size is 2,457
> >> Were you asking for the whole nx(n-1)/2 set of durations in one run? You
> >> see that the API limits the number of interactions (possibly by time and
> >> by unique IP number). So you need to reduce the number of queries. If
> you
> >> are going to impose a distance threshold anyway, you can do that using
> the
> >> Great Circle (not Euclidean) distances between your geographical
> >> coordinates and dnearneigh(), and step through the nb list object with
> >> src= being the data frame of the observation coordinates, and dest= the
> >> data frame of the neighbours' coordinates.
> >>
> >> library(sf)
> >> nc <- st_read(system.file("shapes/sids.shp", package="spData")[1],
> >> quiet=TRUE)
> >> st_crs(nc) <- "+proj=longlat +datum=NAD27"
> >> nc1 <- st_transform(nc, 32019)
> >> nc2 <- st_centroid(nc1, of_largest_polygon=TRUE)
> >> nc3 <- st_transform(nc2, 4326)
> >> crds <- st_coordinates(st_geometry(nc3))
> >> df <- data.frame(id=nc3$FIPSNO, long=crds[,1], lat=crds[,2])
> >> library(spdep)
> >> nb <- dnearneigh(crds, 0, 50, longlat=TRUE)
> >> library(osrm)
> >> res <- vector(mode="list", length=nrow(df))
> >> for (i in seq(along=res)) res[[i]] <- osrmTable(src=df[i,],
> >>dst=df[nb[[i]],], measure = "duration")
> >> res1 <- lapply(res, function(x) 10/x$duration)
> >> lw <- nb2listw(nb, glist=res1, style="B")
> >>
> >> gives general spatial weights based on 10/# minutes travel time between
> >> county centroids (centroids calculated from projected coordinates), for
> >> county centroids closer than 50 km measured by Great Circle.
> >>
> >> In your case, you may need to split the for() loop into portions of
> >> cumsum(card(nb)) of less than the limit. If durations are symmetric,
> >> you could also halve the query count by taking only neighbour ids > i,
> >> but you'd have to fold them back afterwards. You also wanted to
> categorise
> >> the durations 

[R-sig-Geo] Error while performing Lagrange Multiplier test (bsktest)

2019-06-27 Thread Rolando Valdez
Dear all:

I am trying to compute a Lagrange Multiplier test through the function
bsktest for panel data sets.

This is what I am doing:


library(rgdal)
library(spdep)
library(sf)
library(spatialreg)

spatialreg::set.ZeroPolicyOption(TRUE)
spdep::set.ZeroPolicyOption(TRUE)

shell.exec("
https://drive.google.com/open?id=1PHm5NX9IPoeo6vgv7Zb3VolNfOoApm6c=rvalde...@uabc.edu.mx=drive_fs
")

headmuns <- readOGR(".", "head_muns_2013") #Reading shapefile with
localities
IDs <- row.names(headmuns)
wgs84 <- "+proj=longlat +ellps=WGS84"
headmunsWGS84 <- spTransform(headmuns, CRS(wgs84)) # Changing CRS
headmunsxy <-coordinates(headmunsWGS84)

#Creating a neighbor matrix with 20 km threshold distance
nb20 <- dnearneigh(headmunsxy, 0, 20, longlat = TRUE, row.names = IDs)
w20 <- nb2listw(nb20, style = "W", zero.policy = TRUE)

### The dataset

shell.exec("
https://drive.google.com/file/d/1aeeetHi1p6YbFiWRAmI7dGqDoqBnsdAx/view?usp=sharing
")

library(splm)
library(plm)
dbout <- read_dta("dbout.dta", package = "haven")
pdbout <- pdata.frame(dbout, index = c("geocode", "yr"))
spdbout <- pdbout[order(pdbout$yr),]
restmod <- ilny ~ ilnk + factor(yr)
bsktest(x = restmod, data = spdbout, listw = w20, test = "CLMlambda")

Then I get the next error:

Error in (WpsW) %*% q :
  Cholmod error 'X and/or Y have wrong dimensions' at file
../MatrixOps/cholmod_sdmult.c, line 90

-- 
Rol~

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-27 Thread Rolando Valdez
Dear Prof. Roger, many thanks for your help, I am working on.

I have a doubt: Which is the differece between Great Circle and Euclidean
Distance?

Thanks

El lun., 24 de jun. de 2019 a la(s) 00:58, Roger Bivand (roger.biv...@nhh.no)
escribió:

> On Mon, 24 Jun 2019, Rolando Valdez wrote:
>
> > Dear Andres,
> >
> > I could follow an example provided with the package, it was a little bit
> > simple, however, I got this message:
> >
> >> dists <- osrmTable(loc = muns13, measure = "duration")
> > The OSRM server returned an error:
> > Error: The public OSRM API does not allow results with a number of
> > durations
> > higher than 1. Ask for fewer durations or use your own server and set
> > its
> > --max-table-size option.
> >
> > My sample size is 2,457
>
> Were you asking for the whole nx(n-1)/2 set of durations in one run? You
> see that the API limits the number of interactions (possibly by time and
> by unique IP number). So you need to reduce the number of queries. If you
> are going to impose a distance threshold anyway, you can do that using the
> Great Circle (not Euclidean) distances between your geographical
> coordinates and dnearneigh(), and step through the nb list object with
> src= being the data frame of the observation coordinates, and dest= the
> data frame of the neighbours' coordinates.
>
> library(sf)
> nc <- st_read(system.file("shapes/sids.shp", package="spData")[1],
> quiet=TRUE)
> st_crs(nc) <- "+proj=longlat +datum=NAD27"
> nc1 <- st_transform(nc, 32019)
> nc2 <- st_centroid(nc1, of_largest_polygon=TRUE)
> nc3 <- st_transform(nc2, 4326)
> crds <- st_coordinates(st_geometry(nc3))
> df <- data.frame(id=nc3$FIPSNO, long=crds[,1], lat=crds[,2])
> library(spdep)
> nb <- dnearneigh(crds, 0, 50, longlat=TRUE)
> library(osrm)
> res <- vector(mode="list", length=nrow(df))
> for (i in seq(along=res)) res[[i]] <- osrmTable(src=df[i,],
>   dst=df[nb[[i]],], measure = "duration")
> res1 <- lapply(res, function(x) 10/x$duration)
> lw <- nb2listw(nb, glist=res1, style="B")
>
> gives general spatial weights based on 10/# minutes travel time between
> county centroids (centroids calculated from projected coordinates), for
> county centroids closer than 50 km measured by Great Circle.
>
> In your case, you may need to split the for() loop into portions of
> cumsum(card(nb)) of less than the limit. If durations are symmetric,
> you could also halve the query count by taking only neighbour ids > i,
> but you'd have to fold them back afterwards. You also wanted to categorise
> the durations into 0,1, which you could do with lapply() instead of using
> inverse durations.
>
> Hope this helps,
>
> Roger
>
> >
> > El vie., 21 de jun. de 2019 a la(s) 02:53, Andres Diaz Loaiza (
> > madi...@gmail.com) escribió:
> >
> >> Dear Rolando,
> >>
> >> The advantage of using Open Street Maps engine is that you can give the
> >> travel option. This means you can select whether are you traveling by
> bike,
> >> car or walking. The previous approach didn't consider this topic. For
> this,
> >> you should have added a vector layer depending on your position of the
> >> street you can take (or not). Open Street Maps project allow you two
> >> options: a service in which you give your current position, the position
> >> you want to reach and your transport method (giving you back the fastest
> >> route). Or the option to download the engine/algorithm compile by
> yourself
> >> (if I am not wrong is made in C or python) and then you can make your
> own
> >> calculation at your own computer. For the first option, the package
> OSRM is
> >> an interface in which send a request to the OSM web page and wait for an
> >> answer. With this method, you can send a couple of request at the same
> time
> >> but no to many (you should read the manual for this). Of course, also
> will
> >> depend on whether the OSM server is down or not (or busy).
> >>
> >> I have to say that I used some years ago this app and nowadays I know
> that
> >> for some cities OSM has more streets reported than the same google maps.
> >> Also is an open project and they let you download their data for free,
> >> contrary to what google maps do.
> >>
> >> All the best,
> >>
> >>
> >> Andres
> >>
> >> El vie., 21 jun. 2019 a las 4:30, Adrian Baddeley (<
> >> adrian.badde...@curtin.edu.au>) escribió:
> >>
> &

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

2019-06-23 Thread Rolando Valdez
Dear Andres,

I could follow an example provided with the package, it was a little bit
simple, however, I got this message:

> dists <- osrmTable(loc = muns13, measure = "duration")
The OSRM server returned an error:
Error: The public OSRM API does not allow results with a number of
durations
higher than 1. Ask for fewer durations or use your own server and set
its
--max-table-size option.

My sample size is 2,457

El vie., 21 de jun. de 2019 a la(s) 02:53, Andres Diaz Loaiza (
madi...@gmail.com) escribió:

> Dear Rolando,
>
> The advantage of using Open Street Maps engine is that you can give the
> travel option. This means you can select whether are you traveling by bike,
> car or walking. The previous approach didn't consider this topic. For this,
> you should have added a vector layer depending on your position of the
> street you can take (or not). Open Street Maps project allow you two
> options: a service in which you give your current position, the position
> you want to reach and your transport method (giving you back the fastest
> route). Or the option to download the engine/algorithm compile by yourself
> (if I am not wrong is made in C or python) and then you can make your own
> calculation at your own computer. For the first option, the package OSRM is
> an interface in which send a request to the OSM web page and wait for an
> answer. With this method, you can send a couple of request at the same time
> but no to many (you should read the manual for this). Of course, also will
> depend on whether the OSM server is down or not (or busy).
>
> I have to say that I used some years ago this app and nowadays I know that
> for some cities OSM has more streets reported than the same google maps.
> Also is an open project and they let you download their data for free,
> contrary to what google maps do.
>
> All the best,
>
>
> Andres
>
> El vie., 21 jun. 2019 a las 4:30, Adrian Baddeley (<
> adrian.badde...@curtin.edu.au>) escribió:
>
>> Rather than converting an object of class 'SpatialLines' or
>> 'SpatialLinesDataFrame' to the spatstat class 'psp' and then converting it
>> to the spatstat class 'linnet', it is safer and more efficient to convert
>> the SpatialLines* object directly to class linnet using
>> as.linnet.SpatialLinesDataFrame() from the package 'maptools'.
>>
>>
>> Prof Adrian Baddeley DSc FAA
>>
>> John Curtin Distinguished Professor
>>
>> Department of Mathematics and Statistics
>>
>> Curtin University, Perth, Western Australia
>>
>>
>> 
>> From: Rolf Turner 
>> Sent: Friday, 21 June 2019 10:08 AM
>> To: Rolando Valdez
>> Cc: r-sig-geo@r-project.org; Adrian Baddeley; Ege Rubak
>> Subject: Re: [FORGED] [R-sig-Geo] Create a Spatial Weight Matrix based on
>> road distance
>>
>>
>> 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
>>
>> [[alternative HTML version deleted]]
>>
>> ___
>> R-sig-Geo mailing list
>> R-sig-Geo@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
>
> --
> Andrés D.
>


-- 
Rol~

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-23 Thread Rolando Valdez
El dom., 23 de jun. de 2019 a la(s) 03:00, Roger Bivand (roger.biv...@nhh.no)
escribió:

> Comments inline below:
>
> On Sun, 23 Jun 2019, Rolando Valdez wrote:
>
> > I apologize for the lack of clarity.
> >
> > Let me try again:
> >
> > The SWM captures the spatial structure among territories. In the case of
> a
> > matrix based on distance, you define a distance-threshold, say 50 km, and
> > every territory under that distance is considered as neighbor, in the
> > matrix, those territories considered neighbors take the value 1, and 0
> > otherwise (territories beyond 50 km). This is what 'dnearneigh' function
> > does.
> >
> > Then, I want to define a distance-threshold, say 50 km by road (not
> > euclidean) and every territory under that distance (by road) be
> considered
> > as neighbor.
>
>
> So the main goal is to use distance by road between territories to
> construct a neighbour object, with a maximum distance threshold.
>

Yes, just like that.

>
> Firstly, why do you suppose that this will represent your a priori
> knowledge better than contiguity, which is the most obvious measure of
> neighbourhood for data with areal support?
>

I'm running the same specification with 8 distance-threshold to assess the
impact of the distance on a key dependent variable.

>
> If there are major mountain chains or water bodies impeding contact across
> a boundary between contiguous territories, could you not just edit out
> those graph edges (spdep::edit.nb() for example)? If there are many, a
> programmatic approach may be needed.
>

Yes, there are many cases like this you mentioned.

>
> The inherent difficulty is that distances to territories in practice mean
> that you have to change support from area to point, and that needs
> thinking through. A territory centroid may, for example, not lie on a
> transport link. If you have finer scale population or production data, you
> might use weighted centroids, but this involves further steps, and using
> this kind of data may add endogeneity, as the variables used to define the
> neighbour object may enter your model elsewhere.
>

I have redefine the shapefile to urban areas, these polygons are smaller
than counties, thus, their centroids would lie on the roads more
confidently.

I am not using variables to define the neighbor object.

>
> So:
>
> I) explain why you cannot simply use contiguities (using accessibility as
> a covariate if important);
>

Because the distance is an explanatory component itself.

>
> II) if some contiguities given territory boundaries should be removed
> because there are good reasons (mountain range, ...) for no contact,
> provide a reproducible example so that you can be assisted in programming
> the criteria for thinning the contiguity graph; and
>
> III) if you really want to go with road distances, provide a reproducible
> example for first finding the representative point for each territory and
> then giving the road network and territory boundaries. With the linear
> network and the change-of-support points, it is not unlikely that the
> spatstat linnet route will be easiest to implement. I have used raster
> cost distances in GRASS for things like this (see the Snow example in ch.
> 4 in ASDAR); gdistance is slower in that setting.
>

I've seen the example you suggest, I cannot figure out how to fit to my case
.

>
> Hope this helps,
>
> Roger
>
> PS. It would be really helpful to use affiliations, as gmail addresses
> tell us nothing about what might be expected of background knowledge. This
> posting feels like someone looking for a response to a reviewer of an
> article submitted to a journal, where the reviewer has little idea of the
> underlying challenges involved in making such a revision. Not knowing
> this, and the lack of a reproducible example leaves helpers pretty much in
> the dark. Using existing or toy data sets lets you post without showing
> too much of the detail in your specific problem, but in this thread there
> has been too little information for reasonable traction.
>

You are absolutely right. I am trying to follow a suggestion from a
referee, who suggests to switch from the euclidean distance to a road
distance. This is the reason I posted my doubt, I had no clue even where to
start.

Now, I have task to do.

Thanks a lot for your help.


> >
> > El sáb., 22 de jun. de 2019 a la(s) 21:15, Rolf Turner (
> > r.tur...@auckland.ac.nz) escribió:
> >
> >> On 23/06/19 3:30 PM, Rolando Valdez wrote:
> >>> Sorry again.
> >>>
> >>> A Spatial Weight Matrix (swm) is an object used in spatial econometrics
> >>> to characterize the spatial structu

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

2019-06-23 Thread Rolando Valdez
I mean the distance between centroids of polygons that represent counties.

Thank you for your time.

El dom., 23 de jun. de 2019 a la(s) 01:17, Rolf Turner (
r.tur...@auckland.ac.nz) escribió:

>
> On 23/06/19 6:01 PM, Rolando Valdez wrote:
>
> > I apologize for the lack of clarity.
> >
> > Let me try again:
> >
> > The SWM captures the spatial structure among territories. In the case of
> > a matrix based on distance, you define a distance-threshold, say 50 km,
> > and every territory under that distance is considered as neighbor, in
> > the matrix, those territories considered neighbors take the value 1, and
> > 0 otherwise (territories beyond 50 km). This is what 'dnearneigh'
> > function does.
> >
> > Then, I want to define a distance-threshold, say 50 km by road (not
> > euclidean) and every territory under that distance (by road) be
> > considered as neighbor.
>
> You still have not defined what you mean by *distance* between
> territories (regions, counties). Distance between *points* is well
> defined; distance between territories is not.  You have to specify what
> you mean by such a distance.  This could be the minimum distance between
> points in the regions (which is not of course a metric), distance
> between centroids of the territories, Hausdorff distance, or something
> else.  This applies whether you are talking about the distance between
> points being Euclidean distance or road distance or some other metric.
> Thresholding that distance (e.g. at 50 km.) is then a trivial matter.
>
> I have tried my best to get you to clarify what you mean, and my efforts
> seem to be in vain.  Since Juan Pablo thinks that I am "bullying you"
> (which mystifies me completely) I guess I'll give up.  And to respond to
> Juan Pablo's hope, nothing whatever is "bothering" me.
>
> cheers,
>
> Rolf
>
> >
> > El sáb., 22 de jun. de 2019 a la(s) 21:15, Rolf Turner
> > (r.tur...@auckland.ac.nz <mailto:r.tur...@auckland.ac.nz>) escribió:
> >
> > On 23/06/19 3:30 PM, Rolando Valdez wrote:
> >  > Sorry again.
> >  >
> >  > A Spatial Weight Matrix (swm) is an object used in spatial
> > econometrics
> >  > to characterize the spatial structure among territories. It is an
> >  > element nxn where n is the number of territorial units (counties,
> >  > districts, states, cities, regions) in the sample and it could be
> > based
> >  > on contiguity or distance. Usually, you can create a swm based on
> >  > distance using 'dnearneigh' from spdep and then convert to a listw
> >  > through 'nb2listw'. The problem is that the matrix that you
> generate
> >  > trough 'dnearneigh'computes the euclidean distance among
> > centroids of
> >  > polygons. This is where I spot my issue, I need to compute the
> > swm using
> >  > the road distance instead of euclidean distance computed through
> >  > 'dnearneigh'. I do have a shapefile with poligons (counties) and
> > another
> >  > shapefile with lines (roads).
> >
> > OK.  It's getting a *bit* clearer   You are interested in "road
> > distances" between counties.  I'm still not entirely sure what this
> > means.  Is it the *minimum* distance by road from one county to
> > another?
> > In which case, if two counties are contiguous (adjacent) and there
> is a
> > road crossing the border between the two, is the distance between the
> > counties equal to zero?  (This doesn't seem like it would be
> > satisfactory )
> >
> > Yes, actually it is possible that two counties were connected by more
> > than one road, however it's not a big deal. If I define a distance of 50
> > km, it doesn't matter how many times two counties are connected, I just
> > need that they are at 50 km trough, at least, one road.
> >
> > If this is not the case, then what *is* the case?  Perhaps you want
> > distances between the *centroids* of the counties.  What then do you
> > mean by road distance when the centroids do not lie on a road?
> >
> >
> > This is a big challenge, I'm still working on it.
> >
> >
> > You apparently need to deal with counties in which there are no
> > roads at
> > all.  To handle this you have to define what *you* mean by the
> distance
> > by road from county A to county B when there are no roads at all in
> > county B.  Perhaps infinity would be the appropriate distance, but
> *I*
> 

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

2019-06-23 Thread Rolando Valdez
I don't know how exactly works that, but I will try.

Thank you.

El sáb., 22 de jun. de 2019 a la(s) 22:17, Juan Pablo Carranza (
carranzaju...@gmail.com) escribió:

> Hi all!
> I don't have the specific answer, but I don't appreciate academic bullying
> either. So... here is a way you could take. Go to qgis, calculate road
> distances by network analysis and then add it to your dataframe. Use this
> new variable to weigth the matrix.
> I hope this serves, and I hope Rolf solves what ever is bothering *him*.
> Cheers
>
> Juan Pablo Carranza
> Mgter. en Administración Pública
> Lic. en Economía
>
> El dom., 23 de jun. de 2019 1:16 a. m., Rolf Turner <
> r.tur...@auckland.ac.nz> escribió:
>
>> On 23/06/19 3:30 PM, Rolando Valdez wrote:
>> > Sorry again.
>> >
>> > A Spatial Weight Matrix (swm) is an object used in spatial econometrics
>> > to characterize the spatial structure among territories. It is an
>> > element nxn where n is the number of territorial units (counties,
>> > districts, states, cities, regions) in the sample and it could be based
>> > on contiguity or distance. Usually, you can create a swm based on
>> > distance using 'dnearneigh' from spdep and then convert to a listw
>> > through 'nb2listw'. The problem is that the matrix that you generate
>> > trough 'dnearneigh'computes the euclidean distance among centroids of
>> > polygons. This is where I spot my issue, I need to compute the swm
>> using
>> > the road distance instead of euclidean distance computed through
>> > 'dnearneigh'. I do have a shapefile with poligons (counties) and
>> another
>> > shapefile with lines (roads).
>>
>> OK.  It's getting a *bit* clearer   You are interested in "road
>> distances" between counties.  I'm still not entirely sure what this
>> means.  Is it the *minimum* distance by road from one county to another?
>> In which case, if two counties are contiguous (adjacent) and there is a
>> road crossing the border between the two, is the distance between the
>> counties equal to zero?  (This doesn't seem like it would be
>> satisfactory )
>>
>> If this is not the case, then what *is* the case?  Perhaps you want
>> distances between the *centroids* of the counties.  What then do you
>> mean by road distance when the centroids do not lie on a road?
>>
>> You apparently need to deal with counties in which there are no roads at
>> all.  To handle this you have to define what *you* mean by the distance
>> by road from county A to county B when there are no roads at all in
>> county B.  Perhaps infinity would be the appropriate distance, but *I*
>> don't know; you have to make the call.
>>
>> Previously you indicated that you needed to know (pairwise) road
>> distances between specified points in a given set, and I showed you how
>> to obtain those using pairdist(), from spatstat.  Now it seems that you
>> want something rather different, and it's still not clear what.
>>
>> You need to get *your* thoughts clear; make some definitions and
>> specifications, and decide what you really want or need.
>>
>> It seems that you are expecting R to magically do your thinking for you;
>> it won't!
>>
>> cheers,
>>
>> Rolf
>>
>> > El sáb., 22 de jun. de 2019 a la(s) 20:00, Rolf Turner
>> > (r.tur...@auckland.ac.nz <mailto:r.tur...@auckland.ac.nz>) escribió:
>> >
>> >
>> > 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
>

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

2019-06-23 Thread Rolando Valdez
I apologize for the lack of clarity.

Let me try again:

The SWM captures the spatial structure among territories. In the case of a
matrix based on distance, you define a distance-threshold, say 50 km, and
every territory under that distance is considered as neighbor, in the
matrix, those territories considered neighbors take the value 1, and 0
otherwise (territories beyond 50 km). This is what 'dnearneigh' function
does.

Then, I want to define a distance-threshold, say 50 km by road (not
euclidean) and every territory under that distance (by road) be considered
as neighbor.

El sáb., 22 de jun. de 2019 a la(s) 21:15, Rolf Turner (
r.tur...@auckland.ac.nz) escribió:

> On 23/06/19 3:30 PM, Rolando Valdez wrote:
> > Sorry again.
> >
> > A Spatial Weight Matrix (swm) is an object used in spatial econometrics
> > to characterize the spatial structure among territories. It is an
> > element nxn where n is the number of territorial units (counties,
> > districts, states, cities, regions) in the sample and it could be based
> > on contiguity or distance. Usually, you can create a swm based on
> > distance using 'dnearneigh' from spdep and then convert to a listw
> > through 'nb2listw'. The problem is that the matrix that you generate
> > trough 'dnearneigh'computes the euclidean distance among centroids of
> > polygons. This is where I spot my issue, I need to compute the swm using
> > the road distance instead of euclidean distance computed through
> > 'dnearneigh'. I do have a shapefile with poligons (counties) and another
> > shapefile with lines (roads).
>
> OK.  It's getting a *bit* clearer   You are interested in "road
> distances" between counties.  I'm still not entirely sure what this
> means.  Is it the *minimum* distance by road from one county to another?
> In which case, if two counties are contiguous (adjacent) and there is a
> road crossing the border between the two, is the distance between the
> counties equal to zero?  (This doesn't seem like it would be
> satisfactory )
>
> Yes, actually it is possible that two counties were connected by more than
one road, however it's not a big deal. If I define a distance of 50 km, it
doesn't matter how many times two counties are connected, I just need that
they are at 50 km trough, at least, one road.

> If this is not the case, then what *is* the case?  Perhaps you want
> distances between the *centroids* of the counties.  What then do you
> mean by road distance when the centroids do not lie on a road?
>

This is a big challenge, I'm still working on it.

>
> You apparently need to deal with counties in which there are no roads at
> all.  To handle this you have to define what *you* mean by the distance
> by road from county A to county B when there are no roads at all in
> county B.  Perhaps infinity would be the appropriate distance, but *I*
> don't know; you have to make the call.
>

If two counties are not connected through a road, they could not be
neighbors. In this case, it would correspond to a value 0 in the matrix.

>
> Previously you indicated that you needed to know (pairwise) road
> distances between specified points in a given set, and I showed you how
> to obtain those using pairdist(), from spatstat.  Now it seems that you
> want something rather different, and it's still not clear what.
>
> In a sense is the same, but you said so properly, We have different
research fields.


> You need to get *your* thoughts clear; make some definitions and
> specifications, and decide what you really want or need.
>

I got it.

>
> It seems that you are expecting R to magically do your thinking for you;
> it won't!
>
> No, I'm not expecting that.

> cheers,
>
> Rolf
>
> > El sáb., 22 de jun. de 2019 a la(s) 20:00, Rolf Turner
> > (r.tur...@auckland.ac.nz <mailto:r.tur...@auckland.ac.nz>) escribió:
> >
> >
> > 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 i

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

2019-06-22 Thread Rolando Valdez
Sorry again.

A Spatial Weight Matrix (swm) is an object used in spatial econometrics to
characterize the spatial structure among territories. It is an element nxn
where n is the number of territorial units (counties, districts, states,
cities, regions) in the sample and it could be based on contiguity or
distance. Usually, you can create a swm based on distance using
'dnearneigh' from spdep and then convert to a listw through 'nb2listw'. The
problem is that the matrix that you generate trough 'dnearneigh'computes
the euclidean distance among centroids of polygons. This is where I spot my
issue, I need to compute the swm using the road distance instead of
euclidean distance computed through 'dnearneigh'. I do have a shapefile
with poligons (counties) and another shapefile with lines (roads).


El sáb., 22 de jun. de 2019 a la(s) 20:00, Rolf Turner (
r.tur...@auckland.ac.nz) escribió:

>
> 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.tur...@auckland.ac.nz <mailto:r.tur...@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.tur...@auckland.ac.nz <mailto:r.tur...@auckland.ac.nz>
> > <mailto:r.tur...@auckland.ac.nz <mailto:r.tur...@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]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-22 Thread Rolando Valdez
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.tur...@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.tur...@auckland.ac.nz <mailto:r.tur...@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]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-22 Thread Rolando Valdez
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.tur...@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]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


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

2019-06-20 Thread Rolando Valdez
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?

Thank you in advance.

Regards,

-- 
Rol~

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] How to order statistical data (spatial panel)

2017-09-15 Thread Rolando Valdez
Hello all,

I will to perform a spatial panel data, I have statistical data of 2000+
territories in 5 years ordered as typical simple panel data (Each
territoriy has a unique geocode).

In the other hand I have a shapefile with those 2000+ territories, but,
when I've opened the dbf file, the order of units seems to have not order
criteria. These ones have geocode too (same than statistical).

The question is, how should I order my data to garantee a right matching
between statistical and geographical data?

-- 
Rol~

[[alternative HTML version deleted]]

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] Merging shapefiles and csv

2014-07-31 Thread Rolando Valdez
 there was no corresponding data to 
 the
 shapefile.  I tried shape1@data - na.exclude(shape1@data) and with 
 na.omit,
 and this did reduce the number of rows to 1690, but the problem persists.
 
 Sorry if this is a really unhelpful question, I'm not sure how to do it 
 when
 data is confidential.
 
 
 
 --
 View this message in context: 
 http://r-sig-geo.2731867.n2.nabble.com/Merging-shapefiles-and-csv-tp7586839.html
 Sent from the R-sig-geo mailing list archive at Nabble.com.
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo
 
 
 -- 
 Rafael Wüest
 rafael.wue...@gmail.com
 http://www.rowueest.net
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo
 
   [[alternative HTML version deleted]]
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Assign coordinates to zip address

2014-06-30 Thread Rolando Valdez
Hi everyone,

Is possible assign coordinates to zip address? I’m not sure if it is possible 
and how could I do it. I have a lot of surveys from a specific urban area and 
the zip address by survey.

Thank you in advance

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] Assign coordinates to zip address

2014-06-30 Thread Rolando Valdez
Hi,

The zipcode package provides coordinates by zip code in the U.S. The problem 
is, the information is not from the U.S., and I don’t need the coordinates by 
zip code, I have some surveys with the same zip code but different street name 
and number, as I said, I need the coordinate by survey.

Thank you anyway,

El 30/06/2014, a las 12:20, Frede Aakmann Tøgersen fr...@vestas.com escribió:

 Perhaps Google is your friend. Google for:
 
 r zip code to location
 
 Br. Frede
 
 
 Sendt fra Samsung mobil
 
 
  Oprindelig meddelelse 
 Fra: Rolando Valdez 
 Dato:30/06/2014 19.04 (GMT+01:00) 
 Til: r-sig-geo@r-project.org 
 Emne: [R-sig-Geo] Assign coordinates to zip address 
 
 Hi everyone,
 
 Is possible assign coordinates to zip address? I’m not sure if it is possible 
 and how could I do it. I have a lot of surveys from a specific urban area and 
 the zip address by survey.
 
 Thank you in advance
 
 Rolando Valdez
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] Assign coordinates to zip address

2014-06-30 Thread Rolando Valdez
geocode() works well.

Thank you

El 30/06/2014, a las 13:19, Roland Harhoff roland.harh...@uni-muenster.de 
escribió:

 Rolando, if you do not have any concerns in using google
 you may try geocode() from the package ggmap.
 Wbr! Roland  : )
 
 
 Rolando Valdez schrieb am 2014-06-30:
 Hi,
 
 The zipcode package provides coordinates by zip code in the U.S. The
 problem is, the information is not from the U.S., and I don’t need
 the coordinates by zip code, I have some surveys with the same zip
 code but different street name and number, as I said, I need the
 coordinate by survey.
 
 Thank you anyway,
 
 El 30/06/2014, a las 12:20, Frede Aakmann Tøgersen fr...@vestas.com
 escribió:
 
 Perhaps Google is your friend. Google for:
 
 r zip code to location
 
 Br. Frede
 
 
 Sendt fra Samsung mobil
 
 
  Oprindelig meddelelse 
 Fra: Rolando Valdez
 Dato:30/06/2014 19.04 (GMT+01:00)
 Til: r-sig-geo@r-project.org
 Emne: [R-sig-Geo] Assign coordinates to zip address
 
 Hi everyone,
 
 Is possible assign coordinates to zip address? I’m not sure if it
 is possible and how could I do it. I have a lot of surveys from a
 specific urban area and the zip address by survey.
 
 Thank you in advance
 
 Rolando Valdez
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo
 
 Rolando Valdez
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Export matrix weights to excel.

2014-05-03 Thread Rolando Valdez
Hello,

I'm working with a matrix weights, I want to know if I can export the output, 
to handle with excel.

This is a part what I have:

 zm - readOGR(., zmdis”)
OGR data source with driver: ESRI Shapefile 
Source: ., layer: zmdis
with 56 features and 8 fields
Feature type: wkbPolygon with 2 dimensions
 mapaxy = coordinates(zm)
 wdist100 = dnearneigh(mapaxy, d1=0, d2=10)
 l100 = nb2listw(wdist100, style=W, zero.policy=T)
 summary(l100, zero.policy=T)
Characteristics of weights list object:
Neighbour list object:
Number of regions: 56 
Number of nonzero links: 86 
Percentage nonzero weights: 2.742347 
Average number of links: 1.535714 
21 regions with no links:
3 6 11 13 14 15 16 24 25 27 28 35 36 38 41 47 48 51 52 53 54
Link number distribution:

 0  1  2  3  4  5  8 
21 12 11  2  7  2  1 
12 least connected regions:
1 5 7 17 19 20 21 30 33 34 45 55 with 1 link
1 most connected region:
37 with 8 links

Weights style: W 
Weights constants summary:
   n   nn S0   S1S2
W 35 1225 35 39.26667 147.3

I want to get a matrix [56 x 56] to work in excel with it.

Thank you in advance.

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Error message when dissolving polygons

2014-04-01 Thread Rolando Valdez
Hi,

I’m trying to dissolve a polygon with 345 municipalities in 56 metropolitan 
areas. I’m following a tutorial found in the web, now I’m stuck in a step, I 
got an error message:

 input = readShapePoly(zm.shp, proj4string=CRS(+proj=lcc +ellps=GRS80 
 +datum=WGS84))
 projectedpolygons = spTransform(input, CRS(+proj=lcc +ellps=GRS80 
 +datum=WGS84))
 zmprojPS = SpatialPolygons2PolySet(projectedpolygons)
 plotPolys(zmprojPS, proj=TRUE, col=wheat1, xlab=longitude, 
 ylab=latitude)
 print(Calculating polygon areas...)
[1] Calculating polygon areas...
 attr(zmprojPS, projection)
[1] 1
 attr(zmprojPS, projection) - LL
 zmPolyAreas = calcArea(zmprojPS, rollup=1)
Error in calcArea(zmprojPS, rollup = 1) : 
  To calculate the areas of polygons defined by longitude-latitude
coordinates, this routine first projects them in UTM.

Attempted to automatically calculate the missing 'zone' attribute, but
that failed because the mean longitude falls outside the range
-180  x = 180.

How I can solve this issue?

Thanks in advance,

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Fwd: Spatial auto-correlation globally (sphere)

2014-03-23 Thread Rolando Valdez
Hi,

I’m not sure what kind of data you have. I work with shapes layers.

Without more information, I expose you what have I done with my data:

 library(rgdal)
 library(sp)
 library(spdep)
 library(lattice)
 library(RANN)
 library(maptools)
Checking rgeos availability: TRUE
 library(rgeos)
 map -readOGR(., zm”) #Reading the shape file.
 neigh=poly2nb(map, queen=FALSE)
 mapaxy=coordinates(map)
 k1=knn2nb(knearneigh(mapaxy, k=1)) #First order matrix weights
 dist=unlist(nbdists(k1, mapaxy))
 summary(dist)
   Min. 1st Qu.  MedianMean 3rd Qu.Max. 
   102143598492   13510   15290  273900 
 wdist20=dnearneigh(mapaxy, d1=0, d2=2) #Consider relationships within a 
 20km radio.
 l20=nb2listw(wdist20, style=W, zero.policy=TRUE) #Creating a matrix weights 
 considering 20 km radio.
 summary(l20, zero.policy=TRUE)
Characteristics of weights list object:
Neighbour list object:
Number of regions: 345 
Number of nonzero links: 3296 
Percentage nonzero weights: 2.769166 
Average number of links: 9.553623 
64 regions with no links:
1 2 3 4 25 26 27 28 29 30 31 32 33 34 35 36 37 38 42 44 45 46 47 48 49 56 57 61 
62 63 65 66 86 87 88 93 149 150 152 166 167 168 170 172 177 179 228 229 236 237 
239 241 242 243 244 284 285 291 298 309 314 315 334 335
Link number distribution:

 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 26 27 28 29 
30 31 33 
64 30 21 11 15 20 14 10  9 10 15 12  7  8 10 11 12  9  5 11  2  3  2  1  2  2  
4  1  3 
34 35 36 37 38 
 7  3  3  5  3 
30 least connected regions:
23 24 40 41 58 59 60 64 148 151 181 202 212 213 224 225 226 227 230 231 232 233 
234 235 294 308 322 325 329 333 with 1 link
3 most connected regions:
262 275 282 with 38 links

Weights style: W 
Weights constants summary:
nnn  S0   S1   S2
W 281 78961 281 126.7744 1149.688

After that, you can to do the autocorrelation test (Moran test) with your 
statistical data:

 test=moran.test(datos$ind_alim, listw=l20, randomisation=TRUE, 
 zero.policy=TRUE)
 test

Moran's I test under randomisation

data:  datos$ind_alim  
weights: l20  

Moran I statistic standard deviate = 3.762, p-value = 8.428e-05
alternative hypothesis: greater
sample estimates:
Moran I statistic   Expectation  Variance 
  0.135908714  -0.003571429   0.001374638

Other option you have, is to create the neighbor list object with GeoDa.

Hope this example helps,

Regards. 

Inicio del mensaje reenviado:

 De: Alex Mandel tech_...@wildintellect.com
 Asunto: [R-sig-Geo] Spatial auto-correlation globally (sphere)
 Fecha: 23 de marzo de 2014 14:46:19 GMT-6
 Para: Aide R SIG GEO r-sig-...@stat.math.ethz.ch
 Responder a: t...@wildintellect.com
 
 Has anyone seen a method for creating a neighbor list, for use in
 spatial auto-correlation tests, that treats the earth as a sphere so
 that relationships can go shortest distance. I'm trying to make a
 neighbor list of all countries in the world.
 
 Yes I realize that the relatedness may not be distance and I might
 weight on some other factor but I need the neighbor list to start.
 
 Example, US - Japan, China or Russia should be a line across the Pacific
 
 Perhaps I need to develop the neighbor list using some sort of social
 diagramming tool instead.
 
 Any leads would be appreciated.
 
 Thanks,
 Alex
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] Dramatically slow plotting

2014-03-20 Thread Rolando Valdez
Hi Ben,

I tried with X11(type=“Xlib”) and I had no changes in time. Then I tried with 
X11(type=“cairo”) and it reduced considerably the time, however, I got a low 
quality map.

I think, the Quartz gives a high quality plots, that’s why it takes a lot of 
time. 

Regards, 

Rolando Valdez

El 18/03/2014, a las 09:26, Ben galua...@mit.edu escribió:

 Hi Rolando,
 
 I don't use Macs but I do use Linux and have similar issues. I found it that 
 the plotting device type called by default is inordinately slow at plotting 
 spatial objects. Try opening a different type of device and run the example
 
 X11(type='Xlib')
 X11(type='cairo')
 
 also, try
 
 quartz()
 
 which is mac specific (and possibly called by default)
 
 help on X11 here:
 https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/x11.html
 
 Cheers,
 Ben
 
 
 -- Original Message --
 From: Rolando Valdez rvald...@gmail.com
 To: r-sig-geo@r-project.org
 Sent: 3/17/2014 6:23:51 PM
 Subject: [R-sig-Geo] Dramatically slow plotting
 
 Hello,
 
 Recently, I acquired a MacBook Pro, Core i7, 8 GB ram. I Installed the 
 newest R version, 3.0.3 from the web page. The problem is when I’m plotting 
 maps, because is going very, very slow, about 3 or 4 minutes just for a 
 single map, while I’ve done this in a few seconds in Windows with Core i5 
 and 4 GB ram.
 
 This is what I have:
 
 R version 3.0.3 (2014-03-06) -- Warm Puppy
 Copyright (C) 2014 The R Foundation for Statistical Computing
 Platform: x86_64-apple-darwin10.8.0 (64-bit)
 
 [R.app GUI 1.63 (6660) x86_64-apple-darwin10.8.0]
 
 I found a reproducible example in web and I took time with proc.time()
 
 ptm - proc.time()
 library(sp)
 library(lattice) # required for trellis.par.set():
 trellis.par.set(sp.theme()) # sets color ramp to bpy.colors()
 
 # prepare nc sids data set:
 library(maptools)
 nc - readShapePoly(system.file(shapes/sids.shp, package=maptools)[1], 
 proj4string=CRS(+proj=longlat +datum=NAD27))
 arrow = list(SpatialPolygonsRescale, layout.north.arrow(),
offset = c(-76,34), scale = 0.5, which = 2)
 #scale = list(SpatialPolygonsRescale, layout.scale.bar(),
 # offset = c(-77.5,34), scale = 1, fill=c(transparent,black), which = 2)
 #text1 = list(sp.text, c(-77.5,34.15), 0, which = 2)
 #text2 = list(sp.text, c(-76.5,34.15), 1 degree, which = 2)
 ## multi-panel plot with filled polygons: North Carolina SIDS
 spplot(nc, c(SID74, SID79), names.attr = c(1974,1979),
colorkey=list(space=bottom), scales = list(draw = TRUE),
main = SIDS (sudden infant death syndrome) in North Carolina,
sp.layout = list(arrow), as.table = TRUE)
 
 # sp.layout = list(arrow, scale, text1, text2), as.table = TRUE)
 proc.time() - ptm
 
 user system elapsed
  2.408 0.064 2.616
 
 It was quick.
 
 Then I did a single plot with my shape:
 
 mapa - readShapePoly(“Entidades_2013.shp”)
 ptm - proc.time()
 spplot(mapa[1]); proc.time() - ptm
 
 user system elapsed
 87.575 0.786 88.068
 
 Why it take a lot of time? I worked with same shapes in Windows and never 
 took that time.
 
 Hope you can help me,
 
 Regards,
 
 Rolando Valdez
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo
 

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] Dramatically slow plotting

2014-03-20 Thread Rolando Valdez
Hi Don,

It didn’t work, it took a lot of time too. Thanks anyways

Regards,

El 20/03/2014, a las 09:44, MacQueen, Don macque...@llnl.gov escribió:

 I'm not sure this will help, but try
   usePolypath=FALSE
 in your call to spplot().
 
 For further information, see
  help.search('polypath')
 I get:
 
 Help files with alias or concept or title matching 'polypath' using fuzzy
 matching:
   graphics::polypath Path Drawing
   sp::SpatialPolygons-class  Class SpatialPolygons
 
 -Don
 
 -- 
 Don MacQueen
 
 Lawrence Livermore National Laboratory
 7000 East Ave., L-627
 Livermore, CA 94550
 925-423-1062
 
 
 
 
 
 On 3/17/14 3:23 PM, Rolando Valdez rvald...@gmail.com wrote:
 
 Hello, 
 
 Recently, I acquired a MacBook Pro, Core i7, 8 GB ram. I Installed the
 newest R version, 3.0.3 from the web page. The problem is when I¹m
 plotting maps, because is going very, very slow, about 3 or 4 minutes
 just for a single map, while I¹ve done this in a few seconds in Windows
 with Core i5 and 4 GB ram.
 
 This is what I have:
 
 R version 3.0.3 (2014-03-06) -- Warm Puppy
 Copyright (C) 2014 The R Foundation for Statistical Computing
 Platform: x86_64-apple-darwin10.8.0 (64-bit)
 
 [R.app GUI 1.63 (6660) x86_64-apple-darwin10.8.0]
 
 I found a reproducible example in web and I took time with proc.time()
 
 ptm - proc.time()
 library(sp)
 library(lattice) # required for trellis.par.set():
 trellis.par.set(sp.theme()) # sets color ramp to bpy.colors()
 
 # prepare nc sids data set:
 library(maptools)
 nc - readShapePoly(system.file(shapes/sids.shp,
 package=maptools)[1], proj4string=CRS(+proj=longlat +datum=NAD27))
 arrow = list(SpatialPolygonsRescale, layout.north.arrow(),
   offset = c(-76,34), scale = 0.5, which = 2)
 #scale = list(SpatialPolygonsRescale, layout.scale.bar(),
 #offset = c(-77.5,34), scale = 1, fill=c(transparent,black),
 which = 2)
 #text1 = list(sp.text, c(-77.5,34.15), 0, which = 2)
 #text2 = list(sp.text, c(-76.5,34.15), 1 degree, which = 2)
 ## multi-panel plot with filled polygons: North Carolina SIDS
 spplot(nc, c(SID74, SID79), names.attr = c(1974,1979),
   colorkey=list(space=bottom), scales = list(draw = TRUE),
   main = SIDS (sudden infant death syndrome) in North Carolina,
   sp.layout = list(arrow), as.table = TRUE)
 
 #sp.layout = list(arrow, scale, text1, text2), as.table = TRUE)
 proc.time() - ptm
 
 user  system elapsed
 2.408   0.064   2.616
 
 It was quick.
 
 Then I did a single plot with my shape:
 
 mapa - readShapePoly(³Entidades_2013.shp²)
 ptm - proc.time()
 spplot(mapa[1]); proc.time() - ptm
 
 user  system elapsed
 87.575   0.786  88.068
 
 Why it take a lot of time? I worked with same shapes in Windows and never
 took that time.
 
 Hope you can help me,
 
 Regards,
 
 Rolando Valdez
 
 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Dramatically slow plotting

2014-03-17 Thread Rolando Valdez
Hello, 

Recently, I acquired a MacBook Pro, Core i7, 8 GB ram. I Installed the newest R 
version, 3.0.3 from the web page. The problem is when I’m plotting maps, 
because is going very, very slow, about 3 or 4 minutes just for a single map, 
while I’ve done this in a few seconds in Windows with Core i5 and 4 GB ram.

This is what I have:

R version 3.0.3 (2014-03-06) -- Warm Puppy
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin10.8.0 (64-bit)

[R.app GUI 1.63 (6660) x86_64-apple-darwin10.8.0]

I found a reproducible example in web and I took time with proc.time()

ptm - proc.time()
library(sp)
library(lattice) # required for trellis.par.set():
trellis.par.set(sp.theme()) # sets color ramp to bpy.colors()

# prepare nc sids data set:
library(maptools)
nc - readShapePoly(system.file(shapes/sids.shp, package=maptools)[1], 
proj4string=CRS(+proj=longlat +datum=NAD27))
arrow = list(SpatialPolygonsRescale, layout.north.arrow(),
offset = c(-76,34), scale = 0.5, which = 2)
#scale = list(SpatialPolygonsRescale, layout.scale.bar(),
#offset = c(-77.5,34), scale = 1, fill=c(transparent,black), which = 2)
#text1 = list(sp.text, c(-77.5,34.15), 0, which = 2)
#text2 = list(sp.text, c(-76.5,34.15), 1 degree, which = 2)
## multi-panel plot with filled polygons: North Carolina SIDS
spplot(nc, c(SID74, SID79), names.attr = c(1974,1979),
colorkey=list(space=bottom), scales = list(draw = TRUE),
main = SIDS (sudden infant death syndrome) in North Carolina,
sp.layout = list(arrow), as.table = TRUE)

#sp.layout = list(arrow, scale, text1, text2), as.table = TRUE)
proc.time() - ptm

user  system elapsed 
  2.408   0.064   2.616

It was quick.

Then I did a single plot with my shape:

mapa - readShapePoly(“Entidades_2013.shp”)
ptm - proc.time()
spplot(mapa[1]); proc.time() - ptm

user  system elapsed 
 87.575   0.786  88.068

Why it take a lot of time? I worked with same shapes in Windows and never took 
that time.

Hope you can help me,

Regards,

Rolando Valdez

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] +AFs-R-sig-Geo+AF0- Represent data on map

2014-01-04 Thread Rolando Valdez
It didn't work.

 names(map)
[1] CVE_EDONOMBRE_EDO
 names(unem)
[1] num_est est X2000   X2005   X2010   X2013  
 spplot(map, 'X2000')
Error en `[.data.frame`(obj@data, zcol) : undefined columns selected

Is it a problema having separate shapefile information of statistic?, because 
there are two files, the .shp and csv, although these have the same 
identificator. I mean, the CVE_EDO = num_est and NOMBRE_EDO = est are 
the same value. I'm thinking if I have to paste the csv columns to the map 
object.

Thanks,

Rol~

-Mensaje original-
De: MacQueen, Don [mailto:macque...@llnl.gov] 
Enviado el: sábado, 4 de enero de 2014 12:07 a. m.
Para: Rolando Valdez; r-sig-geo@r-project.org
Asunto: Re: [R-sig-Geo] Represent data on map

Cannot help much without more information, but try:

  names(map)

Then pick one of the column names. Apparently, 2000 is not the name of a 
column of data in the map object.
If map is like unem, then perhaps

  spplot(map, 'X2000')

is what you need.

Note, the c() in
  c(2000)
is not necessary. Simply
  2000
would be sufficient.

I am not familiar with the readShapeSpatial function; I always use
readOGR() from the sp package.

-Don

--
Don MacQueen

Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062





On 1/3/14 1:00 PM, Rolando Valdez rvald...@gmail.com wrote:

Hi,

I'm trying to represent data (unemployment rate) on a map.

This is what I have:

 library(sp)
 library(maptools)
Checking rgeos availability: TRUE
 map - readShapeSpatial(ESTADOS)
 read.csv(C:\\Users\\Rolando\\Documents\\Maestría en Economía\\3er
Semestre\\AEMT\\desempleo_est.csv)
 spplot(map, c(2000))
Error en `[.data.frame`(obj@data, zcol) : undefined columns selected

 unem - read.csv(C:\\Users\\Rolando\\Documents\\Maestría en 
Economía\\3er Semestre\\AEMT\\desempleo_est.csv)
 names(unem)
[1] num_est est X2000   X2005   X2010   X2013

I hope you can help me, this is my first time in R.

Regards,

Rol~

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Represent data on map

2014-01-03 Thread Rolando Valdez
Hi,

I'm trying to represent data (unemployment rate) on a map. 

This is what I have:

 library(sp)
 library(maptools)
Checking rgeos availability: TRUE
 map - readShapeSpatial(ESTADOS)
 read.csv(C:\\Users\\Rolando\\Documents\\Maestría en Economía\\3er 
 Semestre\\AEMT\\desempleo_est.csv)
 spplot(map, c(2000))
Error en `[.data.frame`(obj@data, zcol) : undefined columns selected

 unem - read.csv(C:\\Users\\Rolando\\Documents\\Maestría en Economía\\3er 
 Semestre\\AEMT\\desempleo_est.csv)
 names(unem)
[1] num_est est X2000   X2005   X2010   X2013

I hope you can help me, this is my first time in R.

Regards,

Rol~

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


Re: [R-sig-Geo] +AFs-R-sig-Geo+AF0- Creating a map with metropolitan areas

2013-12-27 Thread Rolando Valdez
I have no tried anything, that's why I'm looking for help.

Maybe this list is too advanced for my skills in R environment, because I need 
to start from the begining.

My idea basicly is to merge both maps, and go painting the data by metropolitan 
area excluding the municipalities left.

Perhaps you can guide me with some manuals for beginners about the maptools and 
sp. Some examples may help also.

Thanks,

Rol~

-Mensaje original-
De: Greg Snow [mailto:538...@gmail.com] 
Enviado el: jueves, 26 de diciembre de 2013 11:03 p. m.
Para: Rolando Valdez
CC: r-sig-geo@r-project.org
Asunto: Re: [R-sig-Geo] Creating a map with metropolitan areas

What have you tried so far?

Do you want base graphics? lattice graphics? gglot2 graphics? or any of them?

I would probably start with the sp and maptools packages, but there are other 
tools listed in the spatial task view that may help as well.

You are more likely to receive useful help if you show what you have tried (in 
a way that others can copy and paste to try themselves) and explain what you 
would like to be different.


On Sun, Dec 22, 2013 at 3:41 PM, Rolando Valdez rvald...@gmail.com wrote:
 Hi,

 I'm new in this list, and new in the R environment. I'm trying to plot 
 a map with the index localization by metropolitan area.

 I have a .shp with states (32 obs);

 https://skydrive.live.com/redir?resid=C319779BEF3A0241!1369authkey=!A
 Gj5MTC
 l0waT_w0v=3ithint=photo%2c.png

 then, I have a .shp with municipalities (2454 obs);

 https://skydrive.live.com/redir?resid=C319779BEF3A0241!1370authkey=!A
 FhsFOZ
 _kERbGKAv=3ithint=photo%2c.png

 then, I have the index localization by municipalities (345 
 municipalities) grouped in metropolitan areas and I need to plot something 
 like this map:

 https://skydrive.live.com/redir?resid=C319779BEF3A0241!1364authkey=!A
 Eki9Sa
 DxCfPmy8v=3ithint=photo%2c.jpg

 I hope you can help me.

 Regards,

 Rolando

 ___
 R-sig-Geo mailing list
 R-sig-Geo@r-project.org
 https://stat.ethz.ch/mailman/listinfo/r-sig-geo



--
Gregory (Greg) L. Snow Ph.D.
538...@gmail.com

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


[R-sig-Geo] Creating a map with metropolitan areas

2013-12-22 Thread Rolando Valdez
Hi,

I'm new in this list, and new in the R environment. I'm trying to plot a map
with the index localization by metropolitan area.

I have a .shp with states (32 obs); 

https://skydrive.live.com/redir?resid=C319779BEF3A0241!1369authkey=!AGj5MTC
l0waT_w0v=3ithint=photo%2c.png

then, I have a .shp with municipalities (2454 obs);

https://skydrive.live.com/redir?resid=C319779BEF3A0241!1370authkey=!AFhsFOZ
_kERbGKAv=3ithint=photo%2c.png

then, I have the index localization by municipalities (345 municipalities)
grouped in metropolitan areas and I need to plot something like this map:

https://skydrive.live.com/redir?resid=C319779BEF3A0241!1364authkey=!AEki9Sa
DxCfPmy8v=3ithint=photo%2c.jpg

I hope you can help me.

Regards,

Rolando

___
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo