向Flask AppBuilder添加对GeoAlchemy2几何字段的支持

fab-addon-geoalchem的Python项目详细描述


Fab_addon_地理炼金术

Build status

Flask AppBuilder地理炼金术字段的实现。

它自动将点几何列转换为具有纬度和经度字段的小部件 还有传单地图。地图上有一个指向位置的指针,在拖动的地方有双向绑定 指针更改输入字段中的值,反之亦然。 稍后,还可以添加对直线列和多边形列的支持(欢迎拉取请求)。

安装

运行pip install fab-addon-geoalchemy

用法

您可以在tests文件夹的unittests中找到示例。 但简而言之,这就是您需要做的:

在config.py中添加以下内容:

ADDON_MANAGERS = ['fab_addon_geoalchemy.manager.GeoAlchemyManager']

然后将其用于您的模型和视图:

from sqlalchemy import Column, String
from fab_addon_geoalchemy.views import GeoModelView
from fab_addon_geoalchemy.models import GeoSQLAInterface, Geometry

class Observation(Model):
    id = Column(Integer, primary_key=True)
    name = Column(String)
    location = Column(Geometry(geometry_type='POINT', srid=4326))

    def __repr__(self):
        if self.name:
            return self.name
        else:
            return 'Person Type %s' % self.id


class ObservationView(GeoModelView):
    datamodel = GeoSQLAInterface(Observation)
    add_columns = ['name', 'location']

这将自动创建表单中的latlonwidget,并处理数据以将纬度和经度值转换为数据库中的点几何图形。srid表单该列由字段用于将文本坐标转换为几何图形。如果输入的坐标对指定的srid实际有效,则不进行验证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF