Ciao,
innanzi tutto un saluti a tutti voi; sto cercando aiuto per una questione probabilmente banale ma non per me. Ho creato una tabella in postgresql 8.4 (postgis 1.5), di seguito la query CREATE TABLE indagini."Sito_Puntuale" ( the_geom geometry, "OBJECTID" integer, pkey_spu serial NOT NULL, ubicazione_prov character(3) NOT NULL, ubicazione_com character(3) NOT NULL, "ID_SPU" character(15), indirizzo character varying(255), "coord_X" integer, "coord_Y" integer, mod_identcoord character varying(6), desc_modcoord character varying(30), quota_sml smallint NOT NULL, modo_quota character varying(6), data_sito date DEFAULT ('now'::text)::date, note_sito character varying(255), CONSTRAINT "Sito_Puntuale_pkey" PRIMARY KEY (pkey_spu), CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2), CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOINT'::text OR the_geom IS NULL), CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 32633) ) vorrei popolare i campi coord_X e coord_Y in automatico ad ogni inserimento con le coordinate del punto generato. Pensavo di utilizzare un Trigger con le funzioni: round(ST_XMIN(the_geom)) FROM indagini."Sito_Puntuale" ma non sono riuscito a far funzionare la cosa. Qualche dritta in proposito? Grazie a chiunque possa aiutarmi. |
Ciao.
Forse dovresti utilizzare le funzioni ST_X ed ST_Y Il 08/07/2015 15:23, aciali ha scritto: > Ciao, > innanzi tutto un saluti a tutti voi; sto cercando aiuto per una questione > probabilmente banale ma non per me. > Ho creato una tabella in postgresql 8.4 (postgis 1.5), di seguito la query > > CREATE TABLE indagini."Sito_Puntuale" > ( > the_geom geometry, > "OBJECTID" integer, > pkey_spu serial NOT NULL, > ubicazione_prov character(3) NOT NULL, > ubicazione_com character(3) NOT NULL, > "ID_SPU" character(15), > indirizzo character varying(255), > "coord_X" integer, > "coord_Y" integer, > mod_identcoord character varying(6), > desc_modcoord character varying(30), > quota_sml smallint NOT NULL, > modo_quota character varying(6), > data_sito date DEFAULT ('now'::text)::date, > note_sito character varying(255), > CONSTRAINT "Sito_Puntuale_pkey" PRIMARY KEY (pkey_spu), > CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2), > CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = > 'MULTIPOINT'::text OR the_geom IS NULL), > CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 32633) > ) > > vorrei popolare i campi coord_X e coord_Y in automatico ad ogni inserimento > con le coordinate del punto generato. Pensavo di utilizzare un Trigger con > le funzioni: > > round(ST_XMIN(the_geom)) FROM indagini."Sito_Puntuale" > > ma non sono riuscito a far funzionare la cosa. Qualche dritta in proposito? > Grazie a chiunque possa aiutarmi. > > > > -- > View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Calcolo-coordinate-in-una-tabella-Pgsql-tp7593079.html > Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] > 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. > 750 iscritti al 18.3.2015 _______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
in realtà devo usare la “forzatura” della funzione ST_XMIN e ST_YMIN perché la geometria è multipoint anche se di fatto inserisco solo punti singoli, sono costretto ad usare una geometria MULTIPOINT perché da QGIS se inserisco un nuovo punto in editing questo è di tipo MULTIPOINT. Ad ogni modo il problema è nel catturare la geometria del record inserito prima del salvataggio, quindi prima che venga inserito in tabella. La funzione trigger che cerco di usare è:
CREATE OR REPLACE FUNCTION indagini."cal_coord_X"() RETURNS trigger AS $BODY$DECLARE new_x integer; BEGIN new_x = round(ST_XMIN(the_geom)) FROM indagini."Sito_Puntuale" WHERE pkey_spu = NEW.pkey_spu; NEW."coord_X" = new_x; RETURN NEW; END; $BODY$ …… che quando viene eseguita non da errori, semplicemente restituisce NULL. Credo che l’errore sia nel catturare il record NEW……ma non so come fare Alessandro Ciali |
http://www.postgresql.org/docs/8.1/static/plpgsql-trigger.html
puoi usare la variabile NEW per beccare il nuovo valore Il 08/07/2015 16:02, aciali ha scritto: > in realtà devo usare la “forzatura” della funzione ST_XMIN e ST_YMIN perché > la geometria è multipoint anche se di fatto inserisco solo punti singoli, > sono costretto ad usare una geometria MULTIPOINT perché da QGIS se > inserisco un nuovo punto in editing questo è di tipo MULTIPOINT. Ad ogni > modo il problema è nel catturare la geometria del record inserito prima del > salvataggio, quindi prima che venga inserito in tabella. La funzione trigger > che cerco di usare è: > CREATE OR REPLACE FUNCTION indagini."cal_coord_X"() > RETURNS trigger AS > $BODY$DECLARE > new_x integer; > BEGIN > new_x = round(ST_XMIN(the_geom)) FROM indagini."Sito_Puntuale" > WHERE pkey_spu = NEW.pkey_spu; > NEW."coord_X" = new_x; > RETURN NEW; > END; > $BODY$ > …… > > che quando viene eseguita non da errori, semplicemente restituisce NULL. > Credo che l’errore sia nel catturare il record NEW……ma non so come fare > > > > Alessandro Ciali > > > > -- > View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Calcolo-coordinate-in-una-tabella-Pgsql-tp7593079p7593083.html > Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] > 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. > 750 iscritti al 18.3.2015 _______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
In reply to this post by aciali
In un caso identico, la function l'ho definita così:
CREATE OR REPLACE FUNCTION valorizza_x() RETURNS trigger AS $BODY$BEGIN NEW.x := st_x(NEW.geometria); RETURN NEW; END$BODY$ Poi l'ho richiamata in un trigger della tabella dove devo valorizzare il campo x (o analogo y) ad ogni nuovo inserimento: CREATE TRIGGER t_geo_cippi_x BEFORE INSERT OR UPDATE ON t_geo_cippi FOR EACH ROW EXECUTE PROCEDURE valorizza_x(); Saluti |
Funziona! Grazie ancora, mi stavo incasinando la vita inutilmente...
sto preparando un Db per l'archiviazione dei dati base in linea con le specifiche nazionali e regionali per la Microzonazione Sismica, utilizzabile tramite QGIS. Quando lo concluderò posterò il tutto, se qualcuno ne avesse bisogno mi farebbe piacere condividerlo. Saluti |
Sul sito di arpa Piemonte trovi tutto gia belle che pronto! Il 08/Lug/2015 16:56, "aciali" <[hidden email]> ha scritto:
Funziona! Grazie ancora, mi stavo incasinando la vita inutilmente... _______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
In reply to this post by aciali
Il giorno 10 luglio 2015 23:03, Alessandro Ciali <[hidden email]> ha scritto:
Allora meglio che non ti non ti mandi il link ! ;-) scherzi a parte, invece di reinventare la ruota, perché non contribuire ad un progetto già avviato, sarebbe sicuramente più proficuo per tutti. Sono già state fatte le strutture dati in sqlite e postgres, la simbologia, gli allestimenti cartografici ed i form di inserimento dei dati utilizzando QGIS. Il tutto però è ancora ampliamente migliorabile. Se sei interessato contattami pure quando vuoi. Luca p.s. facciamo così, invece di mandarti il link agli strumenti ti mando quello al post di alcuni mesi fa dove era stata comunicata la disponibilità degli strumenti per la MZS. Trovi anche altre cose interessanti se lavori nel campo della geologia. Ad esempio sulla parte di simbologia ci sarebbe parecchio da fare per creare librerie di simboli condivise, cosa su cui se non sbaglio anche Regione Toscana ha lavorato.
_______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
Il 11/07/2015 10:18, Luca Lanteri ha scritto:
> > > Il giorno 10 luglio 2015 23:03, Alessandro Ciali > <[hidden email] <mailto:[hidden email]>> ha scritto: > > Noooo......ma cosi è finito il divertimento!!! > > Allora meglio che non ti non ti mandi il link ! > ;-) > > scherzi a parte, invece di reinventare la ruota, perché non contribuire > ad un progetto già avviato, sarebbe sicuramente più proficuo per tutti. > Sono già state fatte le strutture dati in sqlite e postgres, la > simbologia, gli allestimenti cartografici ed i form di inserimento dei > dati utilizzando QGIS. Il tutto però è ancora ampliamente migliorabile. infatti! collaborare sempre, questo e' uno dei punti di forza maggiori del software libero. Luca: avete messo il codice in un sistema di controllo di versione? Credo sia fondamentale per facilitare la cooperazione, ed invogliare altri a contribuire. Saluti. -- Paolo Cavallini - www.faunalia.eu QGIS & PostGIS courses: http://www.faunalia.eu/training.html _______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
Per la MZS al momento no. Per la simbologia, su consiglio della lista, tempo fa avevo migrato la pagina [0] fatta con Andrea Antonello su gitub [1], anche se non sono molto smaliziato con questi strumenti. Se c'è interesse a contribuire posso caricare su github anche gli altri progetti. Luca Il giorno 11 luglio 2015 10:23, Paolo Cavallini <[hidden email]> ha scritto: Il 11/07/2015 10:18, Luca Lanteri ha scritto: _______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
In reply to this post by aciali
Sarei ben lieto di partecipare al miglioramento, a che non sono un genio della programmazione .a piuttosto un autodidatta coatto. Intanto scarichero' il tutto dal sito dell'ARPA per vedere se e come il mio lavoro possa integrare ciò che è stato fatto. Lavorando in parte nel campo della geologia per la pianificazione territoriale, ma lavorando prev. In toscana, ho sviluppato librerie di simboli che si attengono alle specifiche di questa regione; non mi sembra di aver trovato sul sito della RT librerie specifiche per QGIS, io le condividerei volentieri; anzi visto che alcuni membri di RT partecipa a questa lista, potrebbero, se sono interessati, a darmi informazioni in merito. Per adesso grazie per le dritte, spero di poter contribuire. Saluti a tutti Inviato da Samsung Mobile. -------- Messaggio originale -------- Da: Luca Lanteri Data:11/07/2015 10:18 (GMT+01:00) A: Alessandro Ciali Cc: "GFOSS.it" Oggetto: Re: Re: [Gfoss] Calcolo coordinate in una tabella Pgsql Il giorno 10 luglio 2015 23:03, Alessandro Ciali <[hidden email]> ha scritto:
Allora meglio che non ti non ti mandi il link ! ;-) scherzi a parte, invece di reinventare la ruota, perché non contribuire ad un progetto già avviato, sarebbe sicuramente più proficuo per tutti. Sono già state fatte le strutture dati in sqlite e postgres, la simbologia, gli allestimenti cartografici ed i form di inserimento dei dati utilizzando QGIS. Il tutto però è ancora ampliamente migliorabile. Se sei interessato contattami pure quando vuoi. Luca p.s. facciamo così, invece di mandarti il link agli strumenti ti mando quello al post di alcuni mesi fa dove era stata comunicata la disponibilità degli strumenti per la MZS. Trovi anche altre cose interessanti se lavori nel campo della geologia. Ad esempio sulla parte di simbologia ci sarebbe parecchio da fare per creare librerie di simboli condivise, cosa su cui se non sbaglio anche Regione Toscana ha lavorato.
_______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
CIao Alessandro, Non ti preoccupare, tutto quello che vedi è stato fatto da autodidatti con conoscenze minime di programmazione, e proprio per questo che è ancora più importante unire forze e le competenze.grazie mille per la disponibilità. A disposizione per qualsiasi chiarimento. a presto Luca Il giorno 11 luglio 2015 17:46, Alessandro Ciali <[hidden email]> ha scritto:
_______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
In reply to this post by aciali
Ciao, non ho capito se ti riferisci a libreria di simboli per la Geologia. Se e' cosi, le trovi con tanto di simboli SVG. Scaricando da cartoteca il pacchetto relativo al DBGeologico. http://www502.regione.toscana.it/geoscopio/cartoteca.html -> download -> geologia -> Database Geologico Regionale. O in alternativa lo cerchi attraverso il portale opendata di RT. Una volta scaricato lo esplodi in una cartella , ma prima di lanciare il progetto qgis, devi assicurarti leggendo il pdf con le istruzioni di configurazione di aver settato correttamente i percorsi verso gli svg. Se , come fanno tutti, lo apri senza aver configurato i percorsi correttamente. Non solo non vedrai i simboli , ma tanti caratteri ? al loro posto , ma se poi dai retta a qgis e salvi il progetto in uscita, te lo rovina irrimediabilmente . A. Il 11/07/2015 17:46, Alessandro Ciali
ha scritto:
_______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
In reply to this post by aciali
Bhe in realta non l'avevo visti.. Grazie ci do un occhio Inviato da Samsung Mobile. -------- Messaggio originale -------- Da: aperi2007 Data:19/07/2015 18:44 (GMT+01:00) A: Alessandro Ciali , Luca Lanteri Cc: "GFOSS.it" Oggetto: Re: [Gfoss] Calcolo coordinate in una tabella Pgsql Ciao, non ho capito se ti riferisci a libreria di simboli per la Geologia. Se e' cosi, le trovi con tanto di simboli SVG. Scaricando da cartoteca il pacchetto relativo al DBGeologico. http://www502.regione.toscana.it/geoscopio/cartoteca.html -> download -> geologia -> Database Geologico Regionale. O in alternativa lo cerchi attraverso il portale opendata di RT. Una volta scaricato lo esplodi in una cartella , ma prima di lanciare il progetto qgis, devi assicurarti leggendo il pdf con le istruzioni di configurazione di aver settato correttamente i percorsi verso gli svg. Se , come fanno tutti, lo apri senza aver configurato i percorsi correttamente. Non solo non vedrai i simboli , ma tanti caratteri ? al loro posto , ma se poi dai retta a qgis e salvi il progetto in uscita, te lo rovina irrimediabilmente . A. Il 11/07/2015 17:46, Alessandro Ciali
ha scritto:
_______________________________________________ [hidden email] 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. 750 iscritti al 18.3.2015 |
Free forum by Nabble | Edit this page |