百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 博客教程 > 正文

PostGIS的空间函数之扩展函数 post gis空间查询

connygpt 2024-10-16 08:45 6 浏览

管理函数:

删除一个空间表(包括geometry_columns中的记录) DropGeometryTable([], )

更新空间表的空间参考 UpdateGeometrySRID([], , , )

更新空间表的统计信息 update_geometry_stats([, ])

参考语义:

Geos:GEOS库

Jts:JTS库

Proj:PROJ4库 postgis_version()

postgis_lib_version()

postgis_lib_build_date()

postgis_script_build_date()

postgis_scripts_installed()

postgis_scripts_released()

postgis_geos_version()

postgis_jts_version()

postgis_proj_version()

postgis_uses_stats()

postgis_full_version()

几何操作符:

A范围=B范围 A = B

A范围覆盖B范围或A范围在B范围左侧 A &<> B

A范围在B范围左侧 A <<>> B

A范围覆盖B范围或A范围在B范围下方 A &<| B A范围覆盖B范围或A范围在B范围上方 A |&> B

A范围在B范围下方 A <<| B A范围在B范围上方 A |>> B

A=B A ~= B

A范围被B范围包含 A @ B

A范围包含B范围 A ~ B

A范围覆盖B范围 A && B

几何量测函数:

量测面积 ST_Area(geometry)

根据经纬度点计算在地球曲面上的距离,单位米,地球半径取值6370986米 ST_distance_sphere(point, point)

类似上,使用指定的地球椭球参数 ST_distance_spheroid(point, point, spheroid)

量测2D对象长度 ST_length2d(geometry)

量测3D对象长度 ST_length3d(geometry)

根据经纬度对象计算在地球曲面上的长度 ST_length_spheroid(geometry,spheroid)

ST_length3d_spheroid(geometry,spheroid)

量测两个对象间距离 ST_distance(geometry, geometry)

量测两条线之间的最大距离 ST_max_distance(linestring,linestring)

量测2D对象的周长 ST_perimeter(geometry)

ST_perimeter2d(geometry)

量测3D对象的周长 ST_perimeter3d(geometry)

量测两点构成的方位角,单位弧度 ST_azimuth(geometry, geometry)

几何对象输出:

参考语义:

NDR:Little Endian

XDR:big-endian

HEXEWKB:Canonical

SVG:SVG 格式

GML:GML 格式

KML:KML 格式

GeoJson:GeoJson 格式

ST_AsBinary(geometry,{‘NDR’|’XDR’})

ST_AsEWKT(geometry)

ST_AsEWKB(geometry, {‘NDR’|’XDR’})

ST_AsHEXEWKB(geometry, {‘NDR’|’XDR’})

ST_AsSVG(geometry, [rel], [precision])

ST_AsGML([version], geometry, [precision])

ST_AsKML([version], geometry, [precision])

ST_AsGeoJson([version], geometry, [precision], [options])

几何对象创建:

参考语义:

Dump:转储 ST_GeomFromEWKT(text)

ST_GeomFromEWKB(bytea)

ST_MakePoint(, , [], [])

ST_MakePointM(, , )

ST_MakeBox2D(, )

ST_MakeBox3D(, )

ST_MakeLine(geometry set)

ST_MakeLine(geometry, geometry)

ST_LineFromMultiPoint(multipoint)

ST_MakePolygon(linestring, [linestring[]])

ST_BuildArea(geometry)

ST_Polygonize(geometry set)

ST_Collect(geometry set)

ST_Collect(geometry, geometry)

ST_Dump(geometry)

ST_DumpRings(geometry)

几何对象编辑:

给几何对象添加一个边界,会使查询速度加快 ST_AddBBOX(geometry)

删除几何对象的边界 ST_DropBBOX(geometry)

添加、删除、设置点 ST_AddPoint(linestring, point, [])

ST_RemovePoint(linestring, offset)

ST_SetPoint(linestring, N, point)

几何对象类型转换 ST_Force_collection(geometry)

ST_Force_2d(geometry)

ST_Force_3dz(geometry), ST_Force_3d(geometry),

ST_Force_3dm(geometry)

ST_Force_4d(geometry)

ST_Multi(geometry)

将几何对象转化到指定空间参考 ST_Transform(geometry,integer)

对3D几何对象作仿射变化 ST_Affine(geometry, float8, float8, float8, float8, float8, float8, float8, float8, float8, float8, float8, float8)

对2D几何对象作仿射变化 ST_Affine(geometry, float8, float8, float8, float8, float8, float8)

对几何对象作偏移 ST_Translate(geometry, float8, float8, float8)

对几何对象作缩放 ST_Scale(geometry, float8, float8, float8)

对3D几何对象作旋转 ST_RotateZ(geometry, float8)

ST_RotateX(geometry, float8)

ST_RotateY(geometry, float8)

对2D对象作偏移和缩放 ST_TransScale(geometry, float8, float8, float8, float8)

反转 ST_Reverse(geometry)

转化到右手定则 ST_ForceRHR(geometry)

参考IsSimple函数

使用Douglas-Peuker算法 ST_Simplify(geometry, tolerance)

ST_SimplifyPreserveTopology(geometry, tolerance)

讲几何对象顶点捕捉到网格 ST_SnapToGrid(geometry, originX, originY, sizeX, sizeY)

ST_SnapToGrid(geometry, sizeX, sizeY), ST_SnapToGrid(geometry, size)

第二个参数为点,指定原点坐标 ST_SnapToGrid(geometry, geometry, sizeX, sizeY, sizeZ, sizeM)

分段 ST_Segmentize(geometry, maxlength)

合并为线 ST_LineMerge(geometry)

线性参考:

根据location(0-1)获得该位置的点 ST_line_interpolate_point(linestring, location)

获取一段线 ST_line_substring(linestring, start, end)

根据点获取location(0-1) ST_line_locate_point(LineString, Point)

根据量测值获得几何对象 ST_locate_along_measure(geometry, float8)

根据量测值区间获得几何对象集合 ST_locate_between_measures(geometry, float8, float8)

杂项功能函数:

几何对象的摘要 ST_Summary(geometry)

几何对象的边界 ST_box2d(geometry)

ST_box3d(geometry)

多个几何对象的边界 ST_extent(geometry set)

0=2d, 1=3dm, 2=3dz, 3=4d ST_zmflag(geometry)

是否包含Bounding Box ST_HasBBOX(geometry)

几何对象的维数:2、3、4 ST_ndims(geometry)

子对象的个数 ST_nrings(geometry)

ST_npoints(geometry)

对象是否验证成功 ST_isvalid(geometry)

扩大几何对象 ST_expand(geometry, float)

计算一个空间表的边界范围 ST_estimated_extent([schema], table, geocolumn)

获得空间参考 ST_find_srid(, , )

几何对象使用的内存大小,单位byte ST_mem_size(geometry)

点是否在圆上 ST_point_inside_circle(,,,)

获取边界的X、Y、Z ST_XMin(box3d)

ST_YMin(box3d)

ST_ZMin(box3d)

ST_XMax(box3d)

ST_YMax(box3d)

ST_ZMax(box3d)

构造一个几何对象的数组 ST_Accum(geometry set)

长事务支持:

启用/关闭长事务支持,重复调用无副作用 EnableLongTransactions()

DisableLongTransactions()

检查对行的update和delete操作是否已授权 CheckAuth([],

, )

锁定行 LockRow([], , , , [])

解锁行 UnlockRows()

在当前事务中添加授权ID AddAuth()

相关推荐

自学Python,写一个挨打的游戏代码来初识While循环

自学Python的第11天。旋转~跳跃~,我~闭着眼!学完循环,沐浴着while的光芒,闲来无事和同事一起扯皮,我说:“编程语言好神奇,一个小小的循环,竟然在生活中也可以找到原理和例子”,同事也...

常用的 Python 工具与资源,你知道几个?

最近几年你会发现,越来越多的人开始学习Python,工欲善其事必先利其器,今天纬软小编就跟大家分享一些常用的Python工具与资源,记得收藏哦!不然下次就找不到我了。1、PycharmPychar...

一张思维导图概括Python的基本语法, 一周的学习成果都在里面了

一周总结不知不觉已经自学Python一周的时间了,这一周,从认识Python到安装Python,再到基本语法和基本数据类型,对于小白的我来说无比艰辛的,充满坎坷。最主要的是每天学习时间有限。只...

三日速成python?打工人,小心钱包,别当韭菜

随着人工智能的热度越来越高,许多非计算机专业的同学们也都纷纷投入到学习编程的道路上来。而Python,作为一种相对比较容易上手的语言,也越来越受欢迎。网络上各类网课层出不穷,各式广告令人眼花缭乱。某些...

Python自动化软件测试怎么学?路线和方法都在这里了

Python自动化测试是指使用Python编程语言和相关工具,对软件系统进行自动化测试的过程。学习Python自动化测试需要掌握以下技术:Python编程语言:学习Python自动化测试需要先掌握Py...

Python从放弃到入门:公众号历史文章爬取为例谈快速学习技能

这篇文章不谈江流所专研的营销与运营,而聊一聊技能学习之路,聊一聊Python这门最简单的编程语言该如何学习,我完成的第一个Python项目,将任意公众号的所有历史文章导出成PDF电子书。或许我这个Py...

【黑客必会】python学习计划

阅读Python文档从Python官方网站上下载并阅读Python最新版本的文档(中文版),这是学习Python的最好方式。对于每个新概念和想法,请尝试运行一些代码片段,并检查生成的输出。这将帮助您更...

公布了!2025CDA考试安排

CDA数据分析师报考流程数据分析师是指在不同行业中专门从事行业数据搜集、整理、分析依据数据作出行业研究评估的专业人员CDA证书分为1-3级,中英文双证就业面广,含金量高!!?报考条件:满18...

一文搞懂全排列、组合、子集问题(经典回溯递归)

原创公众号:【bigsai】头条号:程序员bigsai前言Hello,大家好,我是bigsai,longtimenosee!在刷题和面试过程中,我们经常遇到一些排列组合类的问题,而全排列、组合...

「西法带你学算法」一次搞定前缀和

我花了几天时间,从力扣中精选了五道相同思想的题目,来帮助大家解套,如果觉得文章对你有用,记得点赞分享,让我看到你的认可,有动力继续做下去。467.环绕字符串中唯一的子字符串[1](中等)795.区...

平均数的5种方法,你用过几种方法?

平均数,看似很简单的东西,其实里面包含着很多学问。今天,分享5种经常会用到的平均数方法。1.算术平均法用到最多的莫过于算术平均法,考试平均分、平均工资等等,都是用到这个。=AVERAGE(B2:B11...

【干货收藏】如何最简单、通俗地理解决策树分类算法?

决策树(Decisiontree)是基于已知各种情况(特征取值)的基础上,通过构建树型决策结构来进行分析的一种方式,是常用的有监督的分类算法。决策树算法是机器学习中的一种经典算法,它通过一系列的规则...

面试必备:回溯算法详解

我们刷leetcode的时候,经常会遇到回溯算法类型题目。回溯算法是五大基本算法之一,一般大厂也喜欢问。今天跟大家一起来学习回溯算法的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~什么是回溯...

「机器学习」决策树——ID3、C4.5、CART(非常详细)

决策树是一个非常常见并且优秀的机器学习算法,它易于理解、可解释性强,其可作为分类算法,也可用于回归模型。本文将分三篇介绍决策树,第一篇介绍基本树(包括ID3、C4.5、CART),第二篇介绍Ran...

大话AI算法: 决策树

所谓的决策树算法,通俗的说就是建立一个树形的结构,通过这个结构去一层一层的筛选判断问题是否好坏的算法。比如判断一个西瓜是否好瓜,有20条西瓜的样本提供给你,让你根据这20条(通过机器学习)建立起...