Mam tabelę w postgresql z kolumną PostGIS geometry (point, 4326) (lokalizacja, przy użyciu SRID 4326) i mam aplikację Python, która za pomocą SQL Alchemy aktualizuje tabelę (reszta kolumn) bez problemu.Konwertowanie geometrii do geometrii PostGIS bez sprawdzania bazy danych
Teraz muszę zaktualizować kolumnę położenia i wiem, że mogę użyć odpowiedniej reprezentacji tekstowej danej lokalizacji, aby zaktualizować kolumnę za pomocą SQL Alchemy bez potrzeby korzystania z GEOAlchemy, na przykład mogę zaktualizować kolumnę za pomocą wartości '0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040'
co odpowiada ac: 33,9346343 długi: -118,0488106
pytanie, czy jest sposób obliczyć w Pythonie to '0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040' ma to (33.9346343, -118.0488106) jako wejścia bez sprawdzania bazy danych? lub w dowolny sposób zaktualizować kolumnę za pomocą właściwego wprowadzania tekstu?
wiem, że mogę używać SQLAlchemy wykonać to zapytanie:
select st_setsrid(st_makepoint(-118.0488106, 33.9346343),4326)
i uzyskać wartość, aby zaktualizować kolumny, ale chcę uniknąć.
Z góry dziękuję!
Dlaczego nie 'UPDATE twoja_tabela SET your_field = st_setsrid (st_makepoint (-118,0488106, 33,9346343), 4326) GDZIE twój_filtr? –
Ponieważ używam warstwy ORM, która nie pozwala mi uruchomić tego rodzaju aktualizacji, zamiast tego mogę przekazać obiekt do przechowywania go w bazie danych, aw tym momencie powinienem (w python) wartość kolumna. –
PostGIS jest open source. Możesz po prostu pobrać kod źródłowy, wyszukać go dla tej funkcji i przepisać go na pythona. –