对Postgis进行测试
项目描述
摘要
为在Postgis数据库(即启用了Postgis扩展的PostgreSQL数据库)中存储的几何属性添加类型和函数(即存储在Postgis数据库中的几何属性)。
当前立方体只支持Postgis的2.0和更高版本。
在定义数据模型模式中的属性时引入了一个新类型
一个Geometry类型。此外,您还应该提供以下元素以及一个Geometry属性
geom_type。此属性将接受的几何类型,例如POINT、MULTILINESTRING或POLYGON,
srid。几何坐标将生活的空间参考系统。这是一个整数,是外键,必须与spatial_ref_sys表中的srid键相匹配。大多数情况下,它将与空间系统EPSG代码相同,
coord_dimension。几何使用的维度数。默认为2。
一个Geography类型(请参阅描述)。
然后您还可以使用如ST_INTERSECTS、ST_WITHIN或ST_UNION之类的几何函数来处理此新类型。
有关Postgis的参考文档,请参阅Postgis手册。
示例
在schema.py中,可以声明一个类似于以下所示的City实体。
class City(EntityType):
name = String(required=True)
geometry = Geometry(geom_type='POLYGON', srid=4326)
然后您可以进行如下查询
# get all cities in a given bounding box
rql('City C WHERE C geometry G HAVING(ST_WITHIN(G, ST_MAKEENVELOPE('
'%(left)s, %(bottom)s, %(right)s, %(top)s, 4326)) = TRUE)',
{'left': 2.2,
'right': 2.6,
'top': 49,
'bottom': 48})
# get all cities at a given distance from a point, sorted by distance
rql('Any C, ST_DISTANCE(G, ST_SETSRID(ST_MAKEPOINT(2.2, 48.4), 4326)) '
'ORDERBY 5 WHERE '
'C geometry G HAVING ('
' ST_DWITHIN(G, ST_SETSRID(ST_MAKEPOINT(2.2, 48.4), 4326), 0.1) = TRUE)')
项目详情
关闭
cubicweb-postgis-1.0.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 72d13c433500cbda1b3ba608e7c17371fb95c2a220afcd69d44311e94e998863 |
|
MD5 | e8dbffdd78069efeb86cef0396a233fc |
|
BLAKE2b-256 | 9d5e57758dfb451cd73874341dab68e0ab17c217be196fcea0672875489e8c85 |
关闭
cubicweb_postgis-1.0.0-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8b3a43af3831fb1b8efd9bb0b147d2d0ee32b9c5aeb242244fc9f7a487780fd6 |
|
MD5 | f6ace58494be701eafe8ed0207e8ecfe |
|
BLAKE2b-256 | 169f36e1bf39f44dbb03add439d19266fcef3c0d712cb1e782bc61fca526be31 |