繁体   English   中英

如何将地理列转换为纬度和经度?

[英]How do I convert a geography column to latitude and longitude?

我正在使用PostgreSQLSQLAlchemyGeoAlchemy2库在数据库中存储一些地理空间坐标。

我使用 Python 在我的数据库中定义数据库列如下:

import sqlalchemy as sa
import geoalchemy2 as ga
geo = sa.Column(ga.Geography('POINT', srid=4326))  # 4326 = WGS84 Lat Long

我可以通过如下转换来添加地理坐标:

self.geo = 'POINT({} {})'.format(latitude, longitude)

这将其编码为一个字符串,如: 0100002076ED....

我的问题是:如何从 python 中将此字符串转换回纬度和经度?

选择时,您将其转换为选择表达式的一部分,例如:

select ST_X(some_loc_col::geometry), ST_Y(some_loc_col::geometry) from mytable

使用 SQLAlchemy,您可以直接执行这样的语句,从文本中准备它(参见sqlalchemy.sql.text() ),或者使用 SQLAlchemy 和 GeoAlchemy2 中的函数构建表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM