[QGIS-it-user] editing delle linestringZM in QGIS + Postgis

Salvatore Larosa lrssvtml a gmail.com
Mar 31 Maggio 2016 11:15:36 PDT


Ciao,

2016-05-31 15:38 GMT+02:00 Amedeo Fadini <amefad a gmail.com>:
> Salve a tutti,
> devo gestire un grafo stradale in Postgis le geometrie sono Linestring
> a 4 dimensioni (XYZM).
>
> nel momento in cui devo spezzare una linea con lo strumento di editing
> di QGIS viene tagliata correttamente ma non è posisbile fare il commit
> in quanto viene sollevato l'errore:
>
> ERROR: Column has M dimension but geometry does not
>
> Segno che la "nuova" geometria creata non ha la dimensione M.

incuriosito e non avendo a disposizione geometrie di quel tipo ho
fatto una prova fai da te.
Riesco ad inserire ed a spezzare le geometrie senza alcun errore.
Sarebbe interessante fare una prova con i tuoi dati.

il mio testcase:

CREATE TABLE test.my_table (gid serial NOT NULL);
SELECT AddGeometryColumn('test', 'my_table', 'geom', 4326, 'LINESTRING', 4 );
INSERT INTO test.my_table VALUES(1, ST_GeomFromText('LINESTRING(0 0 0
1,0 5 0 2,5 0 0 3,0 0 0 4)', 4326));

Dalla python console (come controprova):

>>> vl = iface.activeLayer()
>>> for f in vl.getFeatures():
...       geom = f.geometry()
...       geom.geometry().wkbType() == QgsWKBTypes.LineStringZM
True

Il test l'ho fatto con la versione di sviluppo però, tu?

> Lo stesso accade quando cerco di aggiungere un vertice nuovo, che
> assume M=0 e tale valore è incoerente con i vertici vicini. I n questo
> caso la geometrie scompare del tutto.
> Avete qualche idea di come si può risolvere? Esiste nel calcolatore di
> campi una funzione che consente di aggiungere la misura alla geometria
> prima del commit?

Dovresti riuscire ad editare la tabella presente nell'editor dei
vertici una volta cliccato sulla geometria con il Node Tool.
Da li puoi editare sia la Z che la M e poi salvare il tutto.


-- 
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatore
twitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode


Maggiori informazioni sulla lista QGIS-it-user