elimina geometrie duplicate (LZ50)
dataset: db sqlite con spatialindex tabella vertici_g_dump
QGIS 2.18.24
Questo geoalgoritmo è inefficiente e il tempo è troppo lungo, quindi prova non eseguita.
–>torna su
QGIS 3.2.3
Creando un layer temporaneo in memoria o
Salvando in un file shp:
Questo geoalgoritmo è inefficiente e il tempo è troppo lungo, quindi prova non eseguita. Bug RISOLTO nella prossima verisone 3.4
–>torna su
QGIS 3.3 master
NB: Il debug rallenta le prestazioni!!!
Creando un layer temporaneo in memoria:
Salvando in un file shp:
Numero vertici puliti: 432.355
–>torna su
SpatiaLite GUI 2.10
Creo tabella:
-- creo geotabella evitando le geometrie duplicate
CREATE TABLE vertici_g_ok AS
SELECT out_pk, geom
FROM vertici_g_dump
WHERE out_pk IN (SELECT min(out_pk) FROM vertici_g_dump GROUP BY geom);
SELECT RecoverGeometryColumn('vertici_g_ok','geom',32632,'POINT','XY');
-- creo SpatialIndex SpatiaLite
SELECT CreateSpatialIndex ('vertici_g_ok','geom');
Creo query in memoria:
-- creo query in memoria
SELECT out_pk, geom
FROM vertici_g_dump
WHERE out_pk IN (SELECT min(out_pk) FROM vertici_g_dump GROUP BY geom);
Numero vertici puliti: 432.355
–>torna su
PostgreSQL 9.3 / PostGIS 2.2.3 / pgAdmin 3
Creo tabella:
-- creo geotabella con geometrie non duplicate
CREATE TABLE vertici_g_ok AS
SELECT DISTINCT ON (ST_AsBinary(geom)) geom
FROM vertici_g_dump;
Creo query in memoria:
-- Creo query in memoria
SELECT DISTINCT ON (ST_AsBinary(geom)) geom
FROM vertici_g_dump;
Numero vertici puliti: 432.355
–>torna su
mapshaper
Non esiste una funzione che faccia al caso nostro, quello che segue è una forzatura e quindi i tempi sono più lunghi!
time node --max-old-space-size=4192 `which mapshaper` encoding=utf-8 vertici_g.shp -explode -each 'key = this.x + "," + this.y' -uniq key -o vertici_g_ok_mapsh.shp
Numero vertici puliti: 432.355
–>torna su
R + RStudio
da fare
RISULTATI (LZ50) - elimina geometrie duplicate
file/table [sec] | memoria [sec] | software GIS | puliti |
---|---|---|---|
- |
- |
QGIS 2.18.24 | - |
- |
- |
QGIS 3.2.3 | - |
462 | 387 | QGIS 3.3 master con debug | 432.355 |
100 | 19 | SpatiaLite_GUI 2.10 | 432.355 |
13 | 26 | pgAdmin 3 con spatialIndex | 432.355 |
58 | - |
mapshaper | 432.355 |
?? | ?? | R + RStudio | ?? |
-
prova non possibile o bug! ??
da fare
Osservazioni finali:
In QGIS l’uso dei file temporanei (in memoria) velocizza di parecchio la generazione dell’output di alcuni processing, in questo caso il bug non permette la realizzazione dei test; al contrario in PostGIS, la creazione della tabella è molto più rapida; in Spatialite restituisce velocemente i primi 500 risultati; in RStudio la creazione di un file di output implica sempre più tempo.