gvSIG bugs #3112

Union geoprocess lasts a lot

Added by Mario Carrera over 9 years ago. Updated about 9 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:Francisco Díaz Carsí
Category:Geoprocess
Target version:2.2.0-2303 (rev. org.gvsig.desktop-2.0.90)
Severity:Minor Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2262 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

The Union geoprocess (gvSIG vector geoprocesses) takes a lot of time in finishing. It finishes the two processes quickly, but at the second one, when the time bar is completed it takes several minutes at the same point without finishing the geoprocess.

At the end the results are correct but it takes a lot.

I attach the log file.

gvSIG-union.log (329 KB) Mario Carrera, 01/16/2015 01:52 PM

Associated revisions

Revision 658
Added by Francisco Díaz Carsí about 9 years ago

refs #3112 Aceleracion del geoproceso unión

History

#1 Updated by Álvaro Anguix about 9 years ago

  • Assignee set to Francisco Díaz Carsí

#2 Updated by Álvaro Anguix about 9 years ago

  • Target version set to 2.2.0-2311-rc2

#3 Updated by Francisco Díaz Carsí about 9 years ago

  • Status changed from New to Fixed

Este geoproceso se divide en tres subprocesos:
#El cálculo de la intersección de las dos capas
#El cálculo de la diferencia entre la primera capa y la segunda
#El cálculo de la diferencia entre la segunda capa y la primera

En los cálculos de la diferencia entre capas había un gran cuello de botella porque para hacerlo generaba una geometría temporal con la unión de todas las geometrías de la capa que llega como primer argumento y para ello se la recorría añadía una a una las geometrías de dicha capa en la geometría temporal pasando cada vez por un proceso de la librería de JTS que, conforme la geometría temporal iba creciendo le costaba más.
Además, como este proceso no esta contabilizado en la barra de progreso podía darle la impresión al usuario de que gvSIG se había quedado colgado.
Esto lo he sustituido por un recorrido por las geometrías de dicha capa, guardándolas en un array y llamando una única vez al proceso de JTS.
He hecho alguna prueba y, como ejemplo, se puede ver que antes con la capa de parcelas de Valencia el proceso de generación de la geometría duraba horas y, ahora, dura apenas 3 segundos.
El resto de subprocesos no he visto manera de acelerarlos pues inevitablemente tienen que recorrerse las capas para operar con las geometrías.

#4 Updated by Francisco Díaz Carsí about 9 years ago

El arreglo será efectivo cuando se genere un nuevo build de geoprocesos.

#5 Updated by Joaquín del Cerro Murciano about 9 years ago

  • Target version changed from 2.2.0-2311-rc2 to 2.2.0-2303 (rev. org.gvsig.desktop-2.0.90)

#6 Updated by Álvaro Anguix about 9 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF