Skip to the content.

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

issues - grazie Andrea

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

torna su

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.