solo un'ipotesi, ma in QGIS il progetto è impostato sul sistema di riferimento del dato ovvero 3857?
Il 27/dic/2019 15:48 Massimiliano Moraca <info@massimilianomoraca.it> ha scritto:
Salve a tutti e buon Natale passato.
Sto sperimentando i TRIGGER usando PostGIS ed ho creato un semplice vettore
poligonale in cui è presente una colonna area che deve riempirsi
automaticamente dopo la creazione del poligono. L'area deve essere in
ettari.Ho quindi creato il mio vettore:
> CREATE TABLE buffer
> (
> id INTEGER PRIMARY KEY,
> area_ha DECIMAL
> );
> SELECT AddGeometryColumn(
> 'buffer',
> 'geom',
> 3857,
> 'POLYGON',
> 2
> );Ed i TRIGGER associati:
> CREATE FUNCTION areabuffer_trigger_function() RETURNS trigger AS $$
> BEGIN
> NEW.area_ha = ST_AREA(NEW.geom)/10000;
> RETURN NEW;
> END;
> $$ language plpgsql;
>
> CREATE TRIGGER areabuffer_trigger
> BEFORE INSERT OR UPDATE
> ON buffer
> FOR EACH ROW
> EXECUTE PROCEDURE areabuffer_trigger_function();Creando il poligono o i poligoni in QGIS e salvando l'editing, il campo
*area_ha* viene effettivamente riempito con un valore. Come test ho creato
un field virtuale nel calcolatore di campi usando la funzione `*$area/10000*`
ma noto che i valori di area calcolati in QGIS sono diversi da quelli che
calcola PostGIS usando il TRIGGER.
Ad esempo il poligono 1 ha un valore di area da TRIGGER pari a 36,6917
mentre il corrispettivo da QGIS è 20,9879.Come mai?
*ing.Massimiliano Moraca*
*Analisi, progettazione e sviluppo di soluzioni GIS e WebGIS*
*P.IVA*: 08700081212
*CELL*: 333 59 49 583 (*lun - ven 9.00 - 18.00*)
*WEB*: www.massimilianomoraca.it
* Attività svolta ai sensi della Legge 4 del 14 gennaio 2013, art.1*
_______________________________________________
Gfoss@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.
764 iscritti al 23/08/2019