[QGIS-it-user] R: Assegnare geometria a tabella dati esistenti

Alberto Poggi albpoggi a gmail.com
Lun 4 Ott 2021 06:18:09 PDT


Ho fatto tutte le prove che avete suggerito ma non funzionano.
Ho però trovato la soluzione facendo passare l'inserimento del punto di
scarico da una funzione con un trigger direttamente da postgres seguendo
l'indicazione trovata in rete qui
<https://gist.github.com/mmohiudd/066cca59eafedf850bfb>
Ho utilizzato due campi  float con le coordinate (che avevo già) per creare
la geometria puntuale aggiuntiva dal trigger in postgres in inserimento (o
cancellazione) di nuova entità geometrica
Salvando i dati di x e y dello scarico da qgis si ha l'immediata
visualizzazione del punto di scarico aggiunto

Da qgis sembra che non sia possibile inserire il doppio campo geometrico
sulla stessa riga di tabella mentre è possibile poi gestirlo (spostarlo)
una volta inserito.

grazie a tutti per i suggerimenti

Il giorno sab 2 ott 2021 alle ore 18:50 Luca Lanteri <lklanteri a gmail.com>
ha scritto:

> Puoi provare ad aggiungere la geometria selezionando il record e
> utilizzando lo strumento aggiungi parte (add part).
>
> Luca
>
>
> Il giorno ven 1 ott 2021 alle ore 10:11 Alberto Poggi <albpoggi a gmail.com>
> ha scritto:
>
>> Ciao Francesco,
>> hai sicuramente ragione sul fatto che dovendo considerare dati di tipo
>> diverso le tabelle debbano essere due per la corretta gestione dei dati
>> Comunque, parlando in generale e non del caso specifico, postgres ti
>> consente di avere due o più campi geometrici nella stessa tabella
>>
>> Dal lato Qgis se tu fai due connessioni distinte sulla stessa tabella in
>> fase di connessione puoi indicare qual è il campo geometrico da considerare
>> nei due differenti casi.
>> Ho provato e qgis accetta senza problemi la cosa rappresentando con due
>> punti ovviamente differenti per posizione sia la imhoff che lo scarico (nel
>> mio caso) con due campi geometrici differenti (geom per la imhoff e
>> geom_sca per lo scarico)
>>
>> Di conseguenza la cosa sembra possibile.
>>
>> Il problema stà nella gestione dei dati
>>
>> Se, ad esempio, io inserisco una nuova imhoff, non c'è problema, aggiungo
>> i dati che mi interessano, ho una nuova riga di dati in tabella e sono a
>> posto.
>> Subito dopo aver registrato il punto imhoff devo inserire anche il punto
>> di scarico.
>> Apro in editing la seconda connessione (lo scarico che punta al campo
>> geometrico dedicato) ma in questo caso devo assegnare la geometria ad una
>> riga già esistente (quella della imhoff creata prima) e non creare una
>> nuova riga della tabella.
>> Quindi mi ritrovo a dover assegnare la nuova geometria ad una riga di
>> tabella già esistente.
>>
>> So che è possibile assegnare una geometria ad una tabella dati già
>> esistente con il comando "fondi attributi degli elementi selezionati"
>>
>> in questo caso però non riesco a farlo perchè qgis considera tabelle
>> differenti le due connessioni e dalla connessione dello scarico non vede la
>> riga della imhoff appena creata perchè il campo geom_sca è vuoto.
>>
>> Forse, visto che in tabella ho due campi float per le coordinate x e y,
>> si può risolvere il problema con un trigger su postgres che una volta
>> inseriti i dati delle coordinate nei due campi vada ad aggiornare il campo
>> geom_sca.
>>
>>
>>
>> > ciao,
>> > concettualmente io credo che l'unica soluzione sia quella di gestire i
>> > due oggetti in due layer (tabelle) distinti: nel caso di una geometria
>> > multipoint non hai la possibilità di caratterizzare il punto (se
>> > imhoff o scarico), mentre nella soluzione che stai provando in QGIS
>> > (due campi geometry nella stessa tabella) non è possibile aggiungere
>> > una geometria (lo scarico) ad un record esistente (imhoff) e comunque
>> > si tratta di due oggetti distinti e ti troverai sicuramente ad avere
>> > dei dati riferiti ad uno e dati all'altro, violando quindi la più
>> > basilare norma dei database (normalizzazione).
>> > in generale in un GIS l'elemento geografico non è un attributo in più
>> > di un altro elemento, ma è una primitiva che contiene degli attributi
>> > (che tu stai rappresentando).
>>
>> > saluti,
>> > francesco
>>
>>
>> > Da: QGIS-it-user <qgis-it-user-bounces a lists.osgeo.org> Per conto di
>> Alberto Poggi
>> > Inviato: giovedì 30 settembre 2021 10:00
>> > A: QGIS-it-user a lists.osgeo.org
>> > Oggetto: [QGIS-it-user] Assegnare geometria a tabella dati esistenti
>> >
>> >
>> >
>> > Buongiorno a tutti, ho un problema che non riesco a risolvere con una
>> tabella dati in postgis.
>> >
>> > La tabella contiene i dati di fosse imhoff esistenti. Ho la necessità
>> di registrare anche il punto di scarico di queste imhoff e il modo più
>> "semplice" mi è sembrato quello di aggiungere un altro campo geometrico nel
>> quale registrare il punto di scarico.
>> >
>> > Ho quindi sulla stessa riga due campi geometrici, uno per la imhoff e
>> uno per lo scarico.
>> >
>> > Ho collegato due volte la stessa tabella in qgis, vestendola in modo
>> diverso, utilizzando il primo campo geometrico per rappresentare la fossa
>> imhoff  e il secondo per lo scarico.
>> >
>> >
>> >
>> > Il problema è: come faccio ad assegnare la geometria dello scarico alla
>> singola riga della tabella già esistente?
>> >
>> >
>> >
>> > Ho cercato in rete e ho visto che la procedura in qgis dovrebbe
>> utilizzare la funzionalità "fondi attributi degli elementi selezionati" ma
>> non sono riuscito ad ottenere nulla.
>> >
>> > Qualcuno mi può aiutare?
>> >
>> > grazie in anticipo
>> >
>> _______________________________________________
>> QGIS-it-user mailing list
>> QGIS-it-user a lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20211004/8f888a61/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user