[Gfoss] Riparare geometria???

Andrea Peri aperi2007 a gmail.com
Sab 2 Mar 2013 11:15:12 CET


ricevuto e controllato.

Sembra essere imputabile a una differenza di precisione nel calcolo
della posizione del vertice.

Sulle prime pensavo che la differenza di precisione potesse essere
imputata alla differente versione della libreria geos.
Anche perche' la console spatialite4.0 che ho usato io impiegava
geos-3.4.0-dev, mentre la tua versione di postgis impiegava la
geos-3.3.3.

Pero' guardando il risultato delle due geometrie a video , si vede
chiaramente che il risultato piu' corretto è quello di postgis, mentre
spatialite4.0 ha spostato il vertice di qualche micron.
Per cui riterrei piu' probabile che sia una perdita di precisione che
avviene a livello di spatialite4.0.

Ipotesi: spatialite4.0 invoca la st_makevalid() nella libwgeom, la
quale esegue e ritorna il risultato, nel prendere e trattare il
risultato la spatialite4.0 perde qualche bit di precisione e questo
probvoca quel leggerissimo spostamento.

Sarà certamente interessante vedere i risultati di Furieri.
Infatti questo leggerissimo spostamento che apparentemente potrebbe
non essere signifi cativo in realta' lo è.
Perche' in casi molto sfortunati , ma tutt'altro che improbabili
potrebbe a sua volta generare una altra invalidita'.

Altresi' sara' interessante verificare lo stesso risultanto anche in
qgis quando nella libreria sextante sar'a stato implementato la
medesima funzione ST_MakeValid di libwgeom. Anche li' è importante che
il risultato finale sia esattamente il medesimo di postgis.

Grazie per la segnalazione,

Andrea.

Il 02 marzo 2013 10:23, Salvatore Larosa <lrssvtml a gmail.com> ha scritto:
> Ciao,
>
> Il giorno 02 marzo 2013 09:51, aperi2007 <aperi2007 a gmail.com> ha scritto:
>
>> Nello zip makeValidPostGIS.zip manca "valid_banana.shx"
>> Puoi aggiungercelo ?
>>
>
> E lo sapevo, questo è uno dei motivi per cui odio tale formato ! :-)
>
> Inserito ! (dovresti riscaricare l'archivio)
>
> Saluti!
>
> -SL
>
>
>
>>
>>
>> On 02/03/2013 02:44, Salvatore Larosa wrote:
>>
>> Piatto ricco mi ci ficco ! :-) (tra banane e ciambelle)
>>
>> Interessantissima discussione! (quasi quanto quella sui metadati ;-))
>>
>> Mi piacerebbe contribuire con la mia esperienza che ha prodotto il
>> seguente test.
>> A differenza di Andrea, il quale ha utilizzato Spatialite, io ho testato
>> il tutto con PostGIS.
>> Devo dire che il risultato finale mi ha sorpreso !!
>>
>> Per prima cosa ho importato sia lo SHP di Andrea (corretto) che quello di
>> Novarese in PostGIS.
>> Da quello di Novarese ho creato una nuova tabella avente come geometria il
>> risultato
>> di ST_MakeValid, con la seguente query:
>>
>> CREATE TABLE valid_banana (id serial);
>> SELECT AddGeometryColumn('','valid_banana','geom',32632,'MULTIPOLYGON',2);
>> INSERT INTO valid_banana VALUES (
>>     1,
>>     ST_MakeValid((select geom from buco_tangente_contorno))
>>     )
>>
>> Il mio DB adesso contiene tre tabelle:
>> 1. buco_tangente_contorno (SHP Novarese)
>> 2. nuovo_buco_tangente_contorno (SHP corretto di Andrea)
>> 3. valid_banana (Tabella creata da ST_MakeValid con PostGIS, scusate non
>> ho resistito per il nome)
>>
>> Lanciando ST_isValid() per il 2 e il 3 ovviamente il risultato è un bel
>> True, mentre la 1 da False.
>>
>> Dopodichè importo tutto in QGIS (e qui viene il bello) e noto una
>> discrepanza tra la geometria ottenuta da Andrea
>> e la mia che potete vedere nell'immagini allegate (in [a] differenza tra 2
>> e 3, in [b] confronto tra 1 e 3)
>>
>> Da cosa dipende ? Entrambe sono OGC-Compilant ma perchè così diverse ?
>>
>> Inoltre lanciando il tool "Check geometry validity" ottengo una differenza
>> di errori tra la 2 e la 3, che
>> potete vedere nell'altre immagini allegate ([c], [d], [e] rispettivamente
>> per lo SHP 1, 2, 3), ma credo dipenda dalla non corrispondenza tra le due
>> geometrie.
>>
>> Allego inoltre, lo SHP esportato da PostGIS da me validato [f], in più
>> altri due SHP (puntuali) esportati
>> dal tool Check geometry validity rispettivamente per la tabella 2 e 3 con
>> gli errori trovati. ((lo SHP [g] riguarda la tabella
>> 2 mentre lo SHP [h] la tabella 3)
>>
>> Infine, FYI in QGIS e molto probabilmente nella prossima versione,
>> dovrebbe essere integrato
>> un tool per il controllo della Topologia, che oltre a mostrare gli errori
>> (le rules sono pari o superiori a quelli di ArcGIS),
>> permetterà la correzzione automatica delle geometrie. Allego un'immagine
>> [i] solo per mostrare come sia lo SHP da me
>> creato (PostGIS) che quello di Andrea (Spatialite) presentano ulteriori
>> incongruenze geometriche.
>>
>> Spero di non essere stato tropp dispersivo !
>>
>> Grazie ancora per lo stimolo !
>>
>> Saluti,
>>
>> -SL
>>
>> Test eseguito con le seguenti librerie:
>> GEOS: 3.3.3
>> PostGIS 2.1.0 (trunk)
>> QGIS (trunk)
>>
>> [a] - http://lrssvt.ns0.it/img/makevalid/2vs3.png
>> [b] - http://lrssvt.ns0.it/img/makevalid/1vs3.png
>> [c] - http://lrssvt.ns0.it/img/makevalid/geomValidityQGIS1.png
>> [d] - http://lrssvt.ns0.it/img/makevalid/geomValidityQGIS2.png
>> [e] - http://lrssvt.ns0.it/img/makevalid/geomValidityQGIS3.png
>> [f] - http://lrssvt.ns0.it/img/makevalid/makeValidPostGIS.zip
>> [g] - http://lrssvt.ns0.it/img/makevalid/invalid_nuovo_buco_tangente.zip
>> [h] - http://lrssvt.ns0.it/img/makevalid/invalid_valid_banana.zip
>> [i] - http://lrssvt.ns0.it/img/makevalid/topologyChecker.png
>>
>> Il giorno 01 marzo 2013 22:06, Andrea Peri <aperi2007 a gmail.com> ha
>> scritto:
>>>
>>> Ecco lo shapefile corretto.
>>>
>>> http://tinyurl.com/acjkk55
>>>
>>> Saluti,
>>>
>>> --
>>> -----------------
>>> Andrea Peri
>>> . . . . . . . . .
>>> qwerty àèìòù
>>> -----------------
>>> _______________________________________________
>>> Gfoss a lists.gfoss.it
>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>>> dell'Associazione GFOSS.it.
>>> 638 iscritti al 28.2.2013
>>
>>
>>
>>
>> --
>> Salvatore Larosa
>> linkedIn: http://linkedin.com/in/larosasalvatore
>> twitter: @lrssvt
>> skype: s.larosa
>> IRC: lrssvt on freenode
>>
>>
>> --
>> Salvatore Larosa
>> linkedIn: http://linkedin.com/in/larosasalvatore
>> twitter: @lrssvt
>> skype: s.larosa
>> IRC: lrssvt on freenode
>>
>>
>
>
>
> --
> Salvatore Larosa
> linkedIn: http://linkedin.com/in/larosasalvatore
> twitter: @lrssvt
> skype: s.larosa
> IRC: lrssvt on freenode



-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------


Maggiori informazioni sulla lista Gfoss