Ho una tabella in postgresql con una colonna PostGIS geometria (punto, 4326) (posizione, usando SRID 4326) e ho un'applicazione Python che usando SQL Alchemy aggiorna la tabella (il resto delle colonne) senza alcun problema.Conversione della geometria Post lunga a geometria PostGIS senza interrogare il database
Ora, ho bisogno di aggiornare la colonna di posizione e so che posso usare la corretta rappresentazione di testo di una data posizione per aggiornare la colonna usando SQL Alchemy senza la necessità di usare GEOAlchemy, ad esempio posso aggiornare la colonna con il valore: '0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040'
che corrisponde alla lat: 33,9346,343 mila lungo: -118,0488106
La domanda è: esiste un modo per calcolare in Python questo '0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040' avendo questo (33,9346,343 mila, -118,0488106) come input senza interrogare il database? o un modo per aggiornare la colonna usando un corretto input di testo?
So che posso usare SQLAlchemy per eseguire questa query:
select st_setsrid(st_makepoint(-118.0488106, 33.9346343),4326)
e ottenere il valore per aggiornare la colonna, ma voglio evitare questo.
Grazie in anticipo!
Perché non 'UPDATE your_table SET your_field = st_setsrid (st_makepoint (-118.0488106, 33.9346343), 4326) DOVE your_filter'? –
Poiché sto usando un layer ORM che non mi permette di eseguire quel tipo di aggiornamento, invece posso passare su un oggetto per memorizzarlo nel database, ea questo punto dovrei avere (in python) il valore di la colonna. –
PostGIS è open source. Puoi semplicemente scaricare il codice sorgente, cercarlo per quella funzione e riscriverlo su python. –