postgis 随记
目录
1.ST_BdPolyFromText 从一组文本数据中 得到一个多边形
2.ST_BdMPolyFromText 给定一组闭合线集合 得到多边形
3. ST_GeogFromText 、 ST_GeographyFromText 、, ST_AsText 把wkt文件转化为特定的地理数据
4.ST_GeogFromWKB 创建一个地理实例从著名的二进制几何表示法(WKB)或扩展二进制(EWKB)。
5。ST_GeomCollFromText 从已经给定SRID的wkt建立一个几何库 没有 SRID则返回-1
PostGIS函数的分类
PostGIS函数大致可以分为以下四类
1) 字段处理函数
这类函数当前一共有 3个,分别是:
AddGeometryColumn(var1,var2,var3,var4,var5,var6):为已有的数据表增加一个地理几何
数据字段。Var1 代表数据表的模式(schema)的名字,一般是public,也可以省略,则使用当
前的缺省模式;var2 是已有的数据表的名字;var3是新的地理数据字段的名字;var4 是
SRID 值,不确定的话就取-1 吧;var5是地理数据的类型,可以是POINT 等;var6是指该几
何数据是二维还是三维数据。
前面的 SQL语句 create table test1 (myID int4, pt geometry, myName varchar )更规范的写
法为:
create table test1 (myID int4, myName varchar );
select AddGeometryColumn(‘test1′,’pt’,-1,’GEOMETRY’,2);
DropGeometryColumn函数显然是删除一个地理数据字段的;
SetSRID 函数显然是设置SRID 值的。
2) 几何关系函数
这类函数目前共有 10个,分别是:
Distance 、Equals 、Disjoint 、Intersects 、Touches、 Crosses 、Within 、Overlaps 、Contains 、Relate
3) 几何分析函数
这类函数目前共有 12个,分别是:Centroid Area、 Lenth、 PointOnSurface 、Boundary、 Buffer、
ConvexHull、 Intersection、 SymDifference、 Difference 、GeomUnion、 MemGeomUnion
4) 读写函数
这类函数很多,主要是用于在各种数据类型之间的转换,尤其是在于Geometry 数据类
型与其他如字符型等数据类型之间的转换,函数名如AsText、GeomFromText等,其作用是
显然的。
关于ST_A 函数的分类记忆,从教程可以看出他是经过分类之后进行记忆的
稍作参考吧:
Geometry Constructors:几何构造函数
构造函数可根据熟知的文本描述或另一数据格式(如熟知的二进制格式或 shapefile)创建几何。
几何可以有零个或更多个点。如果几何有零个点,则其被视为空几何。点子类型是唯一的一种限制为零个点或一个点的几何;其他所有子类型都可有零个或更多个点。
以下各部分将介绍几何超类和子类几何,还列出了可以构造每种几何的函数。
几何超类
ST_Geometry 超类不能实例化;尽管您可以定义一个类型为 ST_Geometry 的列,但插入的实际数据将被定义为点、线串、面、多线串或多面实体。
可以使用以下函数来创建超类,用于保存前面提到的任何实体类型。
- ST_Geometry
-
ST_GeomFromShape(仅
PostgreSQL) -
ST_GeomFromText(仅
Oracle) - ST_GeomFromWKB
子类
您可以将一个要素定义为具体子类,在这种情况下,只能插入该子类允许的实体类型。例如,ST_PointFromWKB 只能构造点实体。
ST_Point
ST_Point 是零维度几何,它在坐标空间中占据单个位置。ST_Point 具有单个 x,y 坐标值(始终是简单的),并且边界为空。ST_Point 可以用来定义诸如油井、地标和水样采集点等要素。
创建点的函数如下所示:
- ST_Point
-
ST_PointFromShape(仅
PostgreSQL) -
ST_PointFromText(仅
Oracle) - ST_PointFromWKB
ST_MultiPoint
ST_MultiPoint 是 ST_Point 的集合;ST_MultiPoint 的维度为 0,与其元素相同。如果 ST_MultiPoint 中的元素均没有占据相同的坐标空间,则它是简单的。ST_MultiPoint 的边界为空。ST_MultiPoint 可以定义诸如天线广播模式和疾病爆发事件等。
创建多点几何的函数如下所示:
- ST_MultiPoint
-
ST_MPointFromShape(仅
PostgreSQL) -
ST_MPointFromText(仅
Oracle) - ST_MPointFromWKB
ST_LineString
ST_LineString 是一维对象,它以用于定义线性插值路径的点序列的形式进行存储。如果 ST_LineString 不与其内部相交,则 ST_LineString 很简单。闭合的 ST_LineString 的端点(边界)占据空间中的相同点。如果 ST_LineString 是闭合的并且是简单的,那么它是一个环。与从超类 ST_Geometry 继承的其他属性一样,ST_LineString 具有长度。ST_LineString 通常用于定义线状要素,如道路、河流和电力线。
端点通常形成 ST_LineString 的边界,除非 ST_LineString 是闭合的(在这种情况下边界为空)。ST_LineString 的内部是端点之间的连通路径,除非它是闭合的(在这种情况下内部是连续的)。
创建线串的函数包括:
- ST_LineString
-
ST_LineFromShape(仅
PostgreSQL) -
ST_LineFromText(仅
Oracle) - ST_LineFromWKB
-
ST_Curve(仅
Oracle)
ST_MultiLineString
ST_MultiLineString 是若干 ST_LineString 的集合。
ST_MultiLineString 的边界是 ST_LineString 元素的非相交端点。如果 ST_MultiLineString 的所有元素的所有端点都相交,则它的边界为空。ST_MultiLineString 不仅具有从超类 ST_Geometry 继承的其他属性,还具有长度。ST_MultiLineString 用于定义不毗连的线状要素,如河流或道路网络。
构造多线串的函数如下所示:
- ST_MultiLineString
-
ST_MLineFromShape(仅
PostgreSQL) -
ST_MLineFromText(仅
Oracle) - ST_MLineFromWKB
-
ST_MultiCurve(仅
Oracle)
ST_Polygon
ST_Polygon 是二维表面,它以点序列的形式存储,用于定义其外接环以及 0 个或更多内部环。ST_Polygon 始终是简单的。ST_Polygon 用于定义具有空间范围的要素,例如地块、水体以及管辖区。
下图显示 ST_Polygon 对象的示例:(1) 是边界由外部环定义的 ST_Polygon。(2) 是边界由外部环和两个内部环定义的 ST_Polygon。内部环内的区域是 ST_Polygon 外部环的一部分。(3) 是有效 ST_Polygon,因为环在一个切点处相交。
![]() |
外部环和任意内部环确定了 ST_Polygon 的边界,环之间的封闭空间确定了 ST_Polygon 的内部。ST_Polygon 的环可以在切点相交,但绝不可以交叉。ST_Polygon 不仅具有从超类 ST_Geometry 继承的其他属性,还具有面积。
创建面的函数包括:
- ST_Polygon
-
ST_PolyFromShape(仅
PostgreSQL) -
ST_PolyFromText(仅
Oracle) - ST_PolyFromWKB
-
ST_Surface(仅
Oracle)
ST_MultiPolygon
ST_MultiPolygon 的边界是其元素外部环和内部环的累积长度。ST_MultiPolygon 的内部被定义为其 ST_Polygon 元素的累积内部。ST_MultiPolygon 的元素的边界只能在切点相交。ST_MultiPolygon 不仅具有从超类 ST_Geometry 继承的其他属性,还具有面积。ST_MultiPolygon 用于定义诸如森林地层或不毗连的地块(如太平洋岛链)等要素。
下图提供 ST_MultiPolygon 的示例:(1) 是具有两个 ST_Polygon 元素的 ST_MultiPolygon。边界由两个外部环和三个内部环定义。(2) 是具有两个 ST_Polygon 元素的 ST_MultiPolygon。边界由两个外部环和两个内部环定义。两个 ST_Polygon 元素在切点相交。
![]() |
创建多面的函数如下所示:
- ST_MultiPolygon
-
ST_MPolyFromShape(仅
PostgreSQL) -
ST_MPolyFromText(仅
Oracle) - ST_MPolyFromWKB
-
ST_MultiSurface(仅
Oracle)
Geometry Accessors :几何访问器
Geometry Editors :几何编辑
Geometry Output :几何输出
Spatial Relationships and Measure :空间关系和测量
Geometry Processing :几何处理
Linear Referencing :线性参考或 线性参照
Long Transactions Support:长事务支持
Miscellaneous Functions :杂项功能
详细参照ArcGIS Resource Center中的Desktop中的帮助文档http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#//006z00000052000000
//Exceptional Function :特殊功能
一个画外题:
select * from A order by id desc limit 1 这个1的意义 你知道吗?
order by id desc是按id进行降序排列
limit 0,1 是只取记录中的第一条.
所以这条语句只能得到一条记录
如想取前10条则 limit 0,10或limit 10
如想取第10至20条则 limit 10,2
突然想起来几个jquery的必须要学习的东西http://api.jqueryui.com/tabs/
转载自:https://blog.csdn.net/supernever/article/details/14222325