Hi Alban, I hope you don't mind that I have cc'd the list in my reply, there may be more help from out there. I don't think these functions will quite get you there. These functions assume that you already have nb.obj created and are wanting to preform set operations on the neighbors. Ideally you would want to look at knearneigh, and do something like > k1<-knn2nb(knearneigh(x, k=1)) > k2<-knn2nb(knearneigh(x, k=2))
> 2nd.ord.neigh<-setdiff.nb(k2,k1) However these functions are for points not polygons. If your polygons are well behaved, ie nicely convex than using the centroids of the polygons this would give you a good approximation. poly2nb will give you first order neighbors for polygons, but you would have to do a lot of work to get the second order ones. Also I am thinking that unless you have a very well behaved set of polygons, defining second order neighbors could be a topological nightmare. There may be some better approaches using GRASS or postgis. Hope this helps, Nicholas On Thu, 29 Nov 2007 13:42:05 +0100, "alban thomas" <[EMAIL PROTECTED]> said: > Good morning Mr Lewin-Koh, > > I'm trying to use your functions on neighbors list objects (in spdep > package). Do you have a more detailed description or references about > setdiff.nb(nb.obj1,nb.obj2) and complement.nb (nb.obj) functions ? > > My objective is to get first and 2nd order neighborhood of spatial > polygons. > I want to use topology and not a distance criterion. > > I hope to be comprehensible, sorry for my rusty english. > > Alban Thomas > -- > ____________________________ > Alban Thomas > http://alban-thomas.exen.fr/ _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo