python - 带有 GeoAlchemy 示例代码的 Flask

标签 python flask

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




8年前关闭。




任何人都可以为带有 GeoAlchemy 的 Flask 提供任何示例代码吗?

最佳答案

使用 SQLAlchemy 0.8、Flask-SQLAlchemy 和 Geoalchemy 2:

from app import db
from geoalchemy2.types import Geometry

class Point(db.Model):

    """represents an x/y coordinate location."""

    __tablename__ = 'point'

    id = db.Column(db.Integer, primary_key=True)
    geom = db.Column(Geometry(geometry_type='POINT', srid=4326))

示例查询:
from geoalchemy2.elements import WKTElement
from app import models

def get_nearest(lat, lon):
    # find the nearest point to the input coordinates
    # convert the input coordinates to a WKT point and query for nearest point
    pt = WKTElement('POINT({0} {1})'.format(lon, lat), srid=4326)
    return models.Point.query.order_by(models.Point.geom.distance_box(pt)).first()

将结果转换为 x 和 y 坐标的一种方法(转换为 GeoJSON 并提取坐标):
import geoalchemy2.functions as func
import json
from app import db

def point_geom_to_xy(pt):
    # extract x and y coordinates from a point geometry
    geom_json = json.loads(db.session.scalar(func.ST_AsGeoJSON(pt.geom)))
    return geom_json['coordinates']

关于python - 带有 GeoAlchemy 示例代码的 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069595/

相关文章:

python - 在另一个数组中查找一个数组的匹配索引

python - 如何使用groupby获取与列的最大值对应的所有行

python - 使用 python selenium xpath 抓取脚本标签

没有 Selenium 的网页上的 Python 单击按钮

python - gcloud 应用部署 : This deployment has too many files

python - 两个独立的 Flask 应用程序在 Docker 容器中进行通信

javascript - Flask jinja2 不刷新页面更新div内容

python - 如何在pythonanywhere中给MySQL添加SUPER权限?

python - 什么是 Ruby 等价于 Python 的 `s= "你好,%s。 %s 在哪里 ?"% ("John","Mary")`

python - Flask API 错误 JSONDecodeError ("Expecting value", s, err.value) None json.decoder.JSONDecodeError : Expecting value: line 1 column 1 (char 0)