[GRASS-user] snap point to line/break line at given points
Johannes Radinger
JRadinger at gmx.at
Mon Apr 25 12:37:09 EDT 2011
Am 25.04.2011 um 15:51 schrieb Moritz Lennert:
> On 25/04/11 12:04, Micha Silver wrote:
>> On 04/24/2011 03:36 PM, Johannes Radinger wrote:
>>> Hi Micha,
>>> Hi other GRASS users!
>>>
>>> Am 23.04.2011 um 18:01 schrieb Micha Silver:
>>>
>>>
>>>
>>> So if I understand you correctly, it is not really possible to
>>> split a
>>> river network at one point into to parts. I attached a picture to
>>> illustrate what I want (e.g. two break points in a rivernet). I
>>> think
>>> that this kind of breaking I want to do is quite common, so there's
>>> probably another solution in grass gis...
>>>
>>
>> Well, in QGIS you can merge all the line segments of the original
>> shapefile into one, using the "Vector->Geometry Tools->Singleparts to
>> Multipart" tool. This will leave you with a single "MULTILINE"
>> feature.
>>
>> However when importing to GRASS all the lines will be "re-broken" at
>> each intersection and new nodes created in order to enforce topology.
>> Referring to the attached image (I altered yours) the stars represent
>> topological "errors" and as far as I know GRASS will not allow you to
>> ignore these intersections when you import. (The only vector feature
>> that can be imported without topology is points).
>>
>> So to recap:
>> * You can split line features at arbitrary points using v.edit
>> tool=break
>> * You cannot, AFAIK, cause GRASS to merge line segments where
>> topological rules require there to be a node.
>
> You can, however, attribute the same category number (or the same
> other arbitrary attribute) to those segments which belong to the
> same subnetwork.
>
For sure that would be a solution to have the same category number
for all single segments in a subnetwork. But how to define the
subnetwork between the breakpoints, or how can I tell grass which
segments belong to a subnetwork, so far I don't know any tool in
GRASS which I can use in a python script.
> Your "physical" (i.e. on disk in GRASS format) representation of
> the network(s) does not necessarily have to be the same as the
> semantical (content-oriented) representation. So you can represent
> the subnetworks through attribute info. Or you can play with
> layers: the entire river network with the same cat value in layer
> 1, different cat values for subnetworks in layer 2.
Either with layers or with additonal attributes both can be solutions
but the problem is still the "how", the problem to define this
subnetworks (see picture in former posts)
/johannes
>
> If you need to extract only parts of the network, almost all of the
> modules allow you to either use cat values or a where clause on
> your attribute as a filter.
>
> Moritz
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
More information about the grass-user
mailing list