美文网首页
使用geoalchemy2进行空间表的建立和空间数据的录入

使用geoalchemy2进行空间表的建立和空间数据的录入

作者: 铭净止水 | 来源:发表于2019-02-03 09:43 被阅读0次

编程语言是python,使用的是flask框架

我之前进行postgis数据库增删改查的时候一直是自己手动在pg里面创建空间数据表,然后用sql语句进行操作,觉得也没什么,刚开始知道orm的时候觉得这玩意好麻烦,sql语句又不是不能用,还灵活,真正用一下才发现真香。基础的orm我就不多讲了,在这说一下GIS相关的空间表,在这里我们用的类库是geoalchemy2

一、建表:

通过代码就可以创建空间表,不用费劲的手动创建,首先创建db:


from flask_sqlalchemy import SQLAlchemy

db=SQLAlchemy()


from geoalchemy2 import Geometry #需要引入这个

#geo模型

class Polygon(db.Model):

    id=db.Column(db.Integer,primary_key=True)

    name=db.Column(db.String(128))

    geo=db.Column(Geometry('POLYGON'))#空间字段

class Point(db.Model):

    id=db.Column(db.Integer,primary_key=True)

    name=db.Column(db.String(128))

    geo=db.Column(Geometry('POINT'))

class Line(db.Model):

    id=db.Column(db.Integer,primary_key=True)

    name=db.Column(db.String(128))

    geo=db.Column(Geometry('LINESTRING'))


然后执行:

db.create_all()

运行完之后就会发现数据库中表已经创建完毕啦

二、录入数据

貌似目前geoalchemy2不支持geojson直接转换成geo,所以我们在这先用已有的wkt,下面是shp转换为wkt的代码:

https://gitee.com/mingjingzhishui/codes/5rjdzot8hluna1e4wgv7k36

有了wkt之后:


pt=Point(name='1111',geo=wkt)

db.session.add(pt)

db.session.commit()


即可

贴上geoalchemy2官网,读者们可以去继续发掘其他操作

https://geoalchemy-2.readthedocs.io/en/latest/

相关文章

  • 使用geoalchemy2进行空间表的建立和空间数据的录入

    编程语言是python,使用的是flask框架 我之前进行postgis数据库增删改查的时候一直是自己手动在pg里...

  • Oracle 表空间

    1、查看表空间总大小、使用率、剩余空间 2、查看表空间数据文件 3、给表空间添加数据文件 补充:如果表空间使用率已...

  • Oracle Spatial Java API 简介

    本文简要介绍如何使用 Spring JDBC 进行基本的空间查询。 数据的准备   将空间数据存入 Oracle ...

  • DBA日常运维

    表空间: 1、查询表属于哪个表空间: 2、给表空间添加数据文件: 3、增加表空间数据文件的大小(之前初始化大小2G...

  • postgis常用操作

    postgis 标签(空格分隔): 数据库 [toc] 1. 空间数据库建表 1. 首先建立一个常规的表格存储有关...

  • Cesium 地形数据的加载

    一、下载所需地区的高程DEM数据 一般在地理空间数据云上进行数据下载。地理空间数据云[http://www.gsc...

  • GIS空间数据结构类型

    空间数据结构是指空间数据以什么形式在计算机中的存储和管理。在地理信息系统中,常用的空间数据结构有矢量数据结构和...

  • 基于PostGIS的高级应用(4)-- 空间查询

    一 空间关系   数据库中判定数据之间的关系,使用的是比较操作符,如下:   但是在空间数据库中,由于空间数据的多...

  • 2021-11-11 空间索引

    回想一下,空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引...

  • GeoServer安装部署并发布图层

    概况 GeoServer是基于Java的软件服务器,允许用户查看和编辑地理空间数据。 使用开放地理空间联盟(OGC...

网友评论

      本文标题:使用geoalchemy2进行空间表的建立和空间数据的录入

      本文链接:https://www.haomeiwen.com/subject/zskysqtx.html