Hi,<br><br><br>Thanks a lot for taking my problem into account.<br><br>I've put a data subset as attached file. It contains two files: roads.shp and cities.shp.<br><br>routes is the result of an intersection between initial complete roads file and cities. Features in actual roads have been split up, therefore gContains test can directly be executed.<br>
<br>In roads, a column named "contained" indicates whether the road is considered contained or not after my gContains test<br><br><br>Mathieu<br><br><div class="gmail_quote">2011/6/8 Roger Bivand <span dir="ltr"><<a href="mailto:Roger.Bivand@nhh.no">Roger.Bivand@nhh.no</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Wed, 8 Jun 2011, Mathieu Rajerison wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
<br>
First, thanks to all. It's the first time I use rgeos.<br>
<br>
I finally managed to get a layer of roads (routes.bdc object) that are the<br>
result of the intersection between roads and cities (bdc object).<br>
<br>
But the problem now is that some intersected roads are not considered being<br>
contained in any of the cities, although they should be, as the result of an<br>
intersection. I put two images of them as attached files (city contours in<br>
light orange, roads in blue, and some selected roads in yellow)<br>
<br>
<a href="http://hpics.li/750b6bf" target="_blank">http://hpics.li/750b6bf</a><br>
<a href="http://hpics.li/578ab3d" target="_blank">http://hpics.li/578ab3d</a><br>
</blockquote>
<br></div>
What is needed is a reproducible example, so that the classes of the output objects become evident. Can you provide such an example with publically available data, or put a relevant data subset on a link?<br><font color="#888888">
<br>
Roger</font><div><div></div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Here is the code, for the moment:<br>
####<br>
library(rgeos)<br>
<br>
pls <- slot(bdc, "polygons")<br>
pls1 <- lapply(pls, checkPolygonsHoles)<br>
slot(bdc, "polygons") <- pls1<br>
<br>
routes.bdc = gIntersection(routes, bdc)<br>
<br>
routes.bdc = slot(routes.bdc, "lineobj")<br>
<br>
bdc.contains = gContains(bdc, routes.bdc, byid=TRUE)<br>
<br>
nbdc = apply(bdc.contains, 1, function(x) as.numeric(which(x)))<br>
<br>
apply(bdc.contains, 1, function(x) any(x))<br>
###<br>
<br>
apply(bdc.contains, 1, function(x) any(x))<br>
mentions many FALSE values which indicate that some roads are not contained<br>
in any city...(?)<br>
<br>
<br>
Any help would be greatly appreciated!<br>
<br>
Thanks again<br>
<br>
2011/6/7 Roger Bivand <<a href="mailto:Roger.Bivand@nhh.no" target="_blank">Roger.Bivand@nhh.no</a>><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Tue, 7 Jun 2011, Mathieu Rajerison wrote:<br>
<br>
 Thanks for the answer!<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
I think I surely have to use gIntersection then gLength for this purpose<br>
<br>
I've tried gIntersection like this:<br>
routes2 = gIntersection(routes, bdc)<br>
<br>
But I get the following message:<br>
Erreur dans createPolygonsComment(p) :<br>
 rgeos_PolyCreateComment: orphaned hole, cannot find containing polygon<br>
for<br>
hole at index 1<br>
<br>
Do you have an idea why I get this message and how to correct it?<br>
<br>
</blockquote>
<br>
The polygon object is malformed, and at least one polygon claims only to be<br>
an interior ring, which is impossible. You need to look at how you are<br>
creating your SpatialPolygons object, and possibly use checkPolygonsHoles()<br>
in maptools to repair damaged objects. Typically running:<br>
<br>
library(maptools)<br>
pls <- slot(bdc, "polygons")<br>
pls1 <- lapply(pls, checkPolygonsHoles)<br>
slot(bdc, "polygons") <- pls1<br>
<br>
may help. As Colin says, posting a link to the polygons object, and to code<br>
used to create it, may be helpful.<br>
<br>
Roger<br>
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
2011/6/7 Roman Lu??trik <<a href="mailto:roman.lustrik@gmail.com" target="_blank">roman.lustrik@gmail.com</a>><br>
<br>
 Package rgeos has all sorts of functions that might come handy.<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Cheers,<br>
Roman<br>
<br>
<br>
<br>
On Tue, Jun 7, 2011 at 6:13 PM, Mathieu Rajerison <<br>
<a href="mailto:mathieu.rajerison@gmail.com" target="_blank">mathieu.rajerison@gmail.com</a>> wrote:<br>
<br>
 Hi,<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
I have a SpatialLines object representing roads and a SpatialPolygons<br>
object<br>
containing cities.<br>
<br>
I'd like to know how to overlay a SpatialLines object by<br>
aSpatialPolygons<br>
object.<br>
<br>
I'd like to know the total distance of roads that cover each of my<br>
cities.<br>
<br>
Is it possible?<br>
<br>
<br>
Thanks,<br>
<br>
Mathieu<br>
<br>
      [[alternative HTML version deleted]]<br>
<br>
_______________________________________________<br>
R-sig-Geo mailing list<br>
<a href="mailto:R-sig-Geo@r-project.org" target="_blank">R-sig-Geo@r-project.org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-sig-geo" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-sig-geo</a><br>
<br>
<br>
</blockquote>
<br>
<br>
--<br>
In God we trust, all others bring data.<br>
<br>
<br>
</blockquote>
       [[alternative HTML version deleted]]<br>
<br>
<br>
<br>
</blockquote>
--<br>
Roger Bivand<br>
Economic Geography Section, Department of Economics, Norwegian School of<br>
Economics and Business Administration, Helleveien 30, N-5045 Bergen,<br>
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43<br>
e-mail: <a href="mailto:Roger.Bivand@nhh.no" target="_blank">Roger.Bivand@nhh.no</a><br>
<br>
<br>
</blockquote>
<br>
        [[alternative HTML version deleted]]<br>
<br>
_______________________________________________<br>
R-sig-Geo mailing list<br>
<a href="mailto:R-sig-Geo@r-project.org" target="_blank">R-sig-Geo@r-project.org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-sig-geo" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-sig-geo</a><br>
<br>
</blockquote>
<br>
-- <br>
Roger Bivand<br>
Economic Geography Section, Department of Economics, Norwegian School of<br>
Economics and Business Administration, Helleveien 30, N-5045 Bergen,<br>
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43<br>
e-mail: <a href="mailto:Roger.Bivand@nhh.no" target="_blank">Roger.Bivand@nhh.no</a><br>
<br>
</div></div></blockquote></div><br>