[Gfoss] ST_Union e PostGIS

Marco Li Volsi marco.livolsi a gmail.com
Mer 13 Dic 2017 12:43:35 CET


Ciao.

Chiedo alcune informazioni sui dati

Tu vuoi dissolvere una serie di geometrie in base ad un campo con valore 
comune (cd_diparti), ma i valori degli altri campi sono diversi?
intendo dire: hai una situazione del genere?

cd_diparti 	ogc_fid
	dipartimen
Pippo
	1
	Qui
Pippo 	2
	Qui
Pippo 	3
	Qui
Pluto
	4
	Quo
Pluto 	5
	Quo
Paperino
	6
	Qua

il campo ogc_fid contiene la chiave primaria della tabella con la geometria?


Il 13/12/2017 12:13, Massimiliano Moraca ha scritto:
> Buongiorno,
> in QGIS con un virtual layer scrivendo questa query:
>
>>
>>
>>
>>
>>
>> *SELECT ST_Union(geom) AS geometry, ogc_fid, cd_diparti, dipartimenFROM
>> dipartimentiGROUP BY cd_diparti;*
> Ottengo l'effetto dissolve che mi interessa(anche in SpatiaLite.
>
> La stessa query in PostGIS mi genera invece questo errore:
>
>>
>>
>>
>>
>> *ERROR: ERRORE: la colonna "dipartimenti.ogc_fid" deve comparire nella
>> clausola GROUP BY o essere usata in una funzione di aggregazioneLINE 3:
>> ogc_fid, ^SQL state: 42803Character: 39*
>
> Se assecondo il messaggio mi chiede successivamente di inserire anche
> *dipartimen
> *ed il risultato non è il *DISSOLVE *ma la replica di ogni tupla della
> tabella selezionata.
>
> Eliminando *ogc_fid *e *dipartimen *e rieseguendo la query in PostGis
> ottengo il risultato atteso.
>
> Il tutto confluirà in una *VIEW*. Ho la necessità che nella view siano
> presenti anche le due colonne in questione per motivi di etichettatura
> *dipartimen
> *(ma questo è il male minore visto che potrei risolvere con un *JOIN *in
> QGIS sfruttando *cd_diparti*) e *ogc_fid *perchè dovrò poi esportare questo
> database in SpatiaLite. SpatiaLite per le view "geometriche" chiede l'id
> della tabella associata alla view quanto si va ad usare:
>
>>
>> * INSERT INTO views_geometry_columns (view_name, view_geometry,
>> view_rowid, f_table_name, f_geometry_column, read_only) VALUES ('geometria
>> creata', 'geom', 'chiave geometria sorgente', 'geometria sorgente',
>> 'geom',1)*
>
> Temo che nell'esportazione la view non venga attivata per questo vorrei che
> ci fosse *ogc_fid*.
>
> Forse concettualmente sbaglio qualcosa?
>
> La versione di PgAdmin che uso è la 4, quella di PostgreSQL è la 10 mentre
> PostGIS è 2.4. Il file se può servire è scaricabile da questo link:
> https://drive.google.com/open?id=14RX4k7oXO6zxrzgjBVuIYKVE6AVCaaxk
> _______________________________________________
> 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.
> 801 iscritti al 19/07/2017



Maggiori informazioni sulla lista Gfoss