Re: [QGIS-it-user] cambio valori coordinate in tabella attributi

2018-06-06 Per discussione sarag
Dal calcolatore campi dovresti spuntare "Aggiorna un campo esistente",
selezionare il campo che vuoi modificare e reinserire l'espressione (es. per
modificare la coordinata x -> espressione: $x)



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


[QGIS-it-user] velocità esecuzione algoritmi pyqgis

2018-06-04 Per discussione sarag
Buongiorno a tutti,

non comprendo il motivo per cui se eseguo "manualmente" alcuni algoritmi
ottengo dei risultati in modo nettamente più veloce rispetto a quando
inserisco gli stessi in un codice pyqgis (con lo stesso input).
E' ciò che accade, per esempio, con l'algoritmo "estrai nodi". 
Ho scritto un codice in cui richiamo l'algoritmo come segue:

p=processing.runalg('qgis:extractnodes', polylayer, None)
points = processing.getObject(p['OUTPUT'])

L'intero processo rallenta notevolmente proprio durante l'esecuzione di
questo algoritmo (che appare sulla barra in alto, quindi sono certa che il
problema sia proprio sull'"estrai nodi"), impiegando circa un'ora per
fornire un risultato che normalmente riuscirei ad ottenere in pochi secondi.

Qualcuno sa darmi qualche suggerimento?

Grazie mille e buona giornata,
Sara



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] Join tabellare con due campi di unione

2018-05-17 Per discussione sarag
Grazie mille, ma alla fine ho risolto con la concatenazione delle coordinate
del baricentro in un'unica colonna (sia su csv che sugli attributi dello
shp), facendo attenzione però alla precisione delle cifre decimali (questo
mi ha impiegato un po' di tempo). 
Ho usato quindi come campo di unione univoco la colonna così creata.
Resta comunque la curiosità di capire se sia possibile realizzare un join
con due campi di unione invece che uno solo.

Grazie ugualmente per il suggerimento,
Sara



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


[QGIS-it-user] Join tabellare con due campi di unione

2018-05-16 Per discussione sarag
Buongiorno a tutti,

vorrei realizzare un join tabellare tra un layer edifici e un file csv di
dati. 
Non ho, però, la colonna univoca di unione relativa agli ID e quindi avevo
pensato di procedere calcolando le coordinate del centroide (info che ho
anche sulla tabella csv). E' possibile realizzare un join impostando due
campi di unione (sia la x che la y del centroide)?
Avevo in alternativa pensato di realizzare sia sul csv che sullo shp una
colonna contenente le due coordinate separate da una virgola: l'unico modo
che mi era venuto in mente era realizzare una terza colonna di attributi su
QGIS operando con la concatenazione dei due campi (x_c e y_c) ma con il
calcolatore di campi non riesco ad ottenere il risultato sperato.

Sarò grata a chiunque riesca ad essermi di aiuto.
Buona giornata! :)



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


[QGIS-it-user] Calcolare la larghezza minima di un poligono irregolare (pyqgis)

2018-04-26 Per discussione sarag
Salve a tutti,

vorrei calcolare la larghezza minima di un poligono irregolare (es. vedi
linee rosse nell'immagine) con pyqgis.
Qualcuno ha qualche consiglio da darmi?

Grazie mille,
Sara

 



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] Confronto tra due geometrie successive appartenenti allo stesso layer (pyqgis)

2018-04-06 Per discussione sarag
Sono riuscita a risolvere solo creando un'ulteriore lista anche per gli
attributi.

lista_lati = []
attributi = []

id_lati=lati.fieldNameIndex("id")

for f in linee.getFeatures():
lista_lati.append(f)
id_att=f[id_lati]
attributi.append(id_att)

nel successivo for scorro poi contemporaneamente la lista con gli elementi e
quella con gli attributi, così da poter effettuare controlli sia sulle
proprietà geometriche (es. lunghezza dei lati) che, per esempio, sugli ID
degli elementi del layer

n=len(lista_lati)
for i in range(0, n):
l1=lista_lati[i].geometry().length()
if (i==n-1):
l2=lista_lati[i].geometry().length()
else:
   l2=lista_lati[i+1].geometry().length() 
  
if(attributi[i] != attributi[i+1]):
...

Grazie mille ancora per l'aiuto.



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] Confronto tra due geometrie successive appartenenti allo stesso layer (pyqgis)

2018-04-06 Per discussione sarag
Grazie mille per i consigli! E' stato prezioso. Il problema del confronto tra
lunghezze è risolto. 

Ora però dovrei effettuare dei confronti su altri attributi del layer
"lati". Lavorando con la lista questo continua ad essere possibile?
Ad esempio per il controllo sull'ID, prima scrivevo:

id_pol=lati.fieldNameIndex("id")

inserendo poi nel for l'istruzione condizionale:

if (i[id_pol]==j[id_pol])
...

Come faccio ora ad accedere agli attributi degli elementi contenuti nella
lista? 
Grazie ancora davvero.



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] Confronto tra due geometrie successive appartenenti allo stesso layer (pyqgis)

2018-04-05 Per discussione sarag
Purtroppo non riesco a venirne a capo ugualmente.

Facendo una cosa del genere

feat=lati.getFeatures()
for i in range(1, n-1):
l1=feat[i].geometry().length()
l2=feat[i+1].geometry().length()

il nuovo errore è: TypeError: 'QgsFeatureIterator' object does not support
indexing

Mi scuso se sto commettendo errori banali ma è la prima volta che mi
approccio a PyQGis.
Grazie davvero per la comprensione e la disponibilità.

Sara



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


[QGIS-it-user] Confronto tra due geometrie successive appartenenti allo stesso layer (pyqgis)

2018-04-05 Per discussione sarag
Buongiorno a tutti,

devo confrontare le lunghezze di due lati appartenenti allo stesso poligono.
Ho creato tramite un algoritmo un nuovo layer "lati" di linee coincidenti
con i lati del poligono (l'appartenenza al poligono è mantenuta dall'ID
presente nella tabella degli attributi! es. se elemento linea1 ed elemento
linea2 appartengono al poligono n.1, avranno entrambi un attributo "ID" pari
a 1).
Creando un ciclo for per iterare le geometrie del layer "lati", vorrei
confrontare la lunghezza dell'elemento linea i-esimo con il successivo
(j-esimo=i-esimo+1). Il problema è che non riconoscendo pyqgis i come numero
intero, non mi permette di incrementarlo (quindi di creare j=i+1). 

for i in lati.getFeatures():
j=i+1
l1=i.geometry().length()
l2=j.geometry().length()
if(j<=n):
if(i[idlin]=j[idlin]):
etc. etc.

TypeError: unsupported operand type(s) for +: 'QgsFeature' and 'int'


Riuscirei anche ad ovviare a questo problema creando un'altra variabile h
come riportato di seguito...

h=0
for i in lati.getFeatures():
if (i==1):
h=1
else:
h=h+1
j=h+1
l1=i.geometry().length()
l2=j.geometry().length()
if(j<=n):
if(i[idlin]=j[idlin]):
etc. etc.

...Ma poi il problema persiste perchè questa volta j, essendo un int, non mi
permette di scorrere le geometrie del layer.

Spero di essere stata sufficientemente chiara e di aver esposto bene il
problema.
Sarò grata a chiunque riesca ad aiutarmi.

Sara





--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user