[GRASS-user] v.generalize: does it take forever?
Fábio Dias
fabio.dias at gmail.com
Tue Jan 6 09:48:31 PST 2015
Original:
GRASS 7.1.svn (brasil):~ > v.info map=tc10
+----------------------------------------------------------------------------+
| Name: tc10 |
| Mapset: terraclass |
| Location: brasil |
| Database: /home/externo/fabioasd/grass |
| Title: |
| Map scale: 1:1 |
| Name of creator: fabioasd |
| Organization: |
| Source date: Sat Jan 3 23:38:40 2015 |
| Timestamp (first layer): none |
|----------------------------------------------------------------------------|
| Map format: native |
|----------------------------------------------------------------------------|
| Type of map: vector (level: 2) |
| |
| Number of points: 0 Number of centroids: 5323741 |
| Number of lines: 0 Number of boundaries: 12889264 |
| Number of areas: 5573197 Number of islands: 1332382 |
| |
| Map is 3D: No |
| Number of dblinks: 1 |
| |
| Projection: Latitude-Longitude |
| |
| N: 5:16:18.443667N S: 18:02:29.687783S |
| E: 43:59:58.760386W W: 73:59:29.009623W |
| |
| Digitization threshold: 0 |
| Comment: |
| |
+----------------------------------------------------------------------------+
After dissolve:
+----------------------------------------------------------------------------+
| Name: tc10d |
| Mapset: terraclass |
| Location: brasil |
| Database: /home/externo/fabioasd/grass |
| Title: |
| Map scale: 1:1 |
| Name of creator: fabioasd |
| Organization: |
| Source date: Sat Jan 3 23:38:40 2015 |
| Timestamp (first layer): none |
|----------------------------------------------------------------------------|
| Map format: native |
|----------------------------------------------------------------------------|
| Type of map: vector (level: 2) |
| |
| Number of points: 0 Number of centroids: 5120039 |
| Number of lines: 0 Number of boundaries: 12641473 |
| Number of areas: 5369494 Number of islands: 1366321 |
| |
| Map is 3D: No |
| Number of dblinks: 1 |
| |
| Projection: Latitude-Longitude |
| |
| N: 5:16:18.443667N S: 18:02:29.687783S |
| E: 43:59:58.760386W W: 73:59:29.009623W |
| |
| Digitization threshold: 0 |
| Comment: |
| |
+----------------------------------------------------------------------------+
-=--=-=-
Fábio Augusto Salve Dias
http://sites.google.com/site/fabiodias/
On Mon, Jan 5, 2015 at 5:49 PM, Fábio Dias <fabio.dias at gmail.com> wrote:
> Just for further reference, the v.dissolve takes around 24h in this
> dataset. I'll post the v.info of both as soon as it is finished.
>
> Any other ideas? I have a fairly powerful server at my disposal, but
> I'm out of ideas...
> -=--=-=-
> Fábio Augusto Salve Dias
> http://sites.google.com/site/fabiodias/
>
>
> On Sun, Jan 4, 2015 at 7:45 PM, Fábio Dias <fabio.dias at gmail.com> wrote:
>> As promised, profile of v.generalize, as of r63952.
>> (The data might not be exactly the same, I might have run v.clean somewhere).
>>
>> I still have the raw profiles, if anyone wants them.
>>
>> F
>> -=--=-=-
>> Fábio Augusto Salve Dias
>> http://sites.google.com/site/fabiodias/
>>
>>
>> On Sun, Jan 4, 2015 at 6:01 PM, Fábio Dias <fabio.dias at gmail.com> wrote:
>>> Attached is pdf generated with google-perf of v.generalize, using
>>> g7b4. I'm running it again for trunk.
>>> -=--=-=-
>>> Fábio Augusto Salve Dias
>>> http://sites.google.com/site/fabiodias/
>>>
>>>
>>> On Sun, Jan 4, 2015 at 5:54 PM, Markus Metz
>>> <markus.metz.giswork at gmail.com> wrote:
>>>> On Wed, Dec 31, 2014 at 5:20 PM, Fábio Dias <fabio.dias at gmail.com> wrote:
>>>>>
>>>>> I fussed about the v.generalize code, thinking about pthread
>>>>> parallelization. The geometry part of the code is *really* fast and
>>>>> can be easily parallelized so it can run even faster. But, according
>>>>> to the profile google-perf gave me, the real bottleneck is inside the
>>>>> check_topo function (which uses static vars and inserts a new line
>>>>> into the vector, not only checks if it breaks topo - got stuck a while
>>>>> in there due to the misnomer). More specifically in the Rtree function
>>>>> used to check if one line intersects other lines.
>>>>>
>>>>
>>>> The function used in check_topo is Vect_line_intersection() which does
>>>> much more than just testing for intersections. The process could be
>>>> made much faster if Vect_line_check_intersection() would be modified
>>>> such that connections by end points are ignored. But I don't know if
>>>> this would break other modules or other functionality.
>>>>
>>>> Markus M
More information about the grass-user
mailing list