12.4.postGIS
12.4.PostGIS
一 概述
1 简介
空间数据库
3 常识
3.1
geometry:几何 geography:地理
3.2 各种规范
OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text)。
WKT:WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。 几何物体的坐标可以是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性参照系统的m值
WKB的全称是The Well-known Binary,也简称WKB,OGC与ISO/TC211都做出了同样的规范,它是用来几何体的表达。即用连续的二进制流来表达几何体,这样在GIS互操作方面也有好处。现代GIS软件的底层模块中可以说都有关于WKB解析代码。在二进制存储中有大尾端和小尾端之分,通常在二进制流的第一个字节就指定,这样在这个字节之后的字节流就可以按照相应的大小尾端模式进行解析。分大小尾端是为了适应不同平台环境。在一些开源和商业GIS软件中都支持几何体的WKB表示,这样做也是为了异构平台之间互操作。
3.3 空间数据类型
polygon:多边形 LINESTRING:线
三 基础
1 函数
ST_MakePoint():根据经纬度生成几何点
geometry ST_MakeLine;根据点,多点或线几何创建线串
ST_AsText():返回没有SRID元数据的几何/地理的知名文本(WKT)表示.(Return the Well-Known Text (WKT) representation of the geometry/geography without SRID metadata)
boolean ST_Contains(geometry geomA, geometry geomB):当且仅当B的点没有位于A的外部并且B的内部至少有一个点位于A的内部时,才返回true
geometry ST_Boundary(geometry geomA)
:返回此几何的组合边界的闭合
geometry ST_Centroid()
:返回几何体的几何中心
boolean ST_IsClosed(geometry g)
:
geometry ST_GeomFromText(text WKT)
:Return a specified ST_Geometry value from Well-Known Text representation (WKT)
geometry ST_MakePolygon(geometry linestring)
:创建由给定外壳形成的多边形。输入几何必须是封闭的LINESTRINGS.(Creates a Polygon formed by the given shell. Input geometries must be closed LINESTRINGS.)
计算两点间的距离:
六 问题
SRID
七 未整理
数组的两个构造:PostgreSQL ARRAY []和ARRAY()
ST_GeomFromText('LINESTRING(115.97166453999147 28.716493914230423,106.00231199774656 29.719258550486572)')与
ST_MakeLine(
ST_MakePoint(115.97166453999147,28.716493914230423),
ST_MakePoint(106.00231199774656,29.719258550486572)
)等价
ST_GeomFromText('LINESTRING(115.97166453999147 28.716493914230423,106.00231199774656 29.719258550486572)')与 ST_MakeLine( ST_MakePoint(115.97166453999147,28.716493914230423), ST_MakePoint(106.00231199774656,29.719258550486572) )等价
ST_GeomFromText('POINT(115.97166453999147 28.716493914230423)',4326)与 ST_SetSRID(ST_MakePoint(115.97166453999147,28.716493914230423),4326)等价
ST_SetSRID(ST_MakePoint(115.97166453999147,28.716493914230423),4326)::geography与 Geography(ST_SetSRID(ST_MakePoint(115.97166453999147,28.716493914230423),4326))、 ST_GeographyFromText('SRID=4326;POINT(115.97166453999147 28.716493914230423)')等价 (::geography是postgis中的转换类型语法,把geometry转成geography)
Last updated
Was this helpful?