加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL+PostGIS的使用 4

发布时间:2020-12-13 17:58:34 所属栏目:百科 来源:网络整理
导读:2. PostGIS扩展函数 管理函数: 删除一个空间表(包括geometry_columns中的记录) DropGeometryTable([],) 更新空间表的空间参考 UpdateGeometrySRID([],) 更新空间表的统计信息 update_geometry_stats([,]) 参考语义: Geos:GEOS库 Jts:JTS库 Proj:PROJ4

2. PostGIS扩展函数

管理函数:

删除一个空间表(包括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],[precision])
ST_AsGeoJson([version],[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,[])
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)
对2D几何对象作仿射变化 ST_Affine(geometry,float8)
对几何对象作偏移 ST_Translate(geometry,float8)
对几何对象作缩放 ST_Scale(geometry,float8)
对3D几何对象作旋转 ST_RotateZ(geometry,float8)
ST_RotateX(geometry,float8)
ST_RotateY(geometry,float8)
对2D对象作偏移和缩放 ST_TransScale(geometry,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,sizeY),ST_SnapToGrid(geometry,size)
第二个参数为点,指定原点坐标 ST_SnapToGrid(geometry,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)

杂项功能函数:
几何对象的摘要 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() 其它还有SQL-MM和ArcSDE样式的函数支持,可以参考http://postgis.refractions.net/documentation/manual-1.3/ch06.html#id2750611,这里就不详细列了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读