[GRASS-user] How to find intersection of two lines

Moritz Lennert mlennert at club.worldonline.be
Thu Mar 20 13:28:52 EDT 2008


On 20/03/08 17:15, Jarek Jasiewicz wrote:
> Moritz Lennert wrote:
>> On 20/03/08 11:17, Jarosław Jasiewicz wrote:
>>> Hi I have lots of raster, thinned lines and second raster with with 
>>> one line. I must find all points where second line intersect with 
>>> lines on first raster
>>> it is very simple:
>>>
>>> r.mapcalc points=if(raster_two==1&&raster_one==1,1,null())
>>>
>>> but there is one exception:
>>>
>>> AB
>>> BA
>>>
>>> when lines intersect with 45 grades. There is intersection but 
>>> without common point. Naither buffor nor grow is not a solution 
>>> because I need exactly one point lying exactly on line from raster one
>>>
>>> Any Ideas
>>
>> Either ressample your rasters to coarser resolution to make them 
>> coincide, or convert to vector and use a combination of v.patch + 
>> v.clean (e.g. v.clean input=lines1 output=lines2 err=points tool=break)
>>
>> Moritz
> thanks for ansfer
> I tried it with similar way (v.patch +v.clean + topology report) but it 
> is not it. I need EXACT coordinates of pixels on intersection do to 
> transfer it to another program

The map points (created with the parameter err=points) should contain 
exactly these points. Obviously this only works if you can create 
correct vector lines from your raster.

See example here:
http://geog-pc40.ulb.ac.be/grass/misc/intersections.html

Moritz


More information about the grass-user mailing list