postgis 地理化函数

95 篇文章 1 订阅
70 篇文章 0 订阅

5.3 几何构造
ST_Collect —从一组几何创建一个GeometryCollection或Multi *几何。
ST_LineFromMultiPoint —从MultiPoint几何图形创建LineString。
ST_MakeEnvelope —从最小和最大坐标创建一个矩形Polygon。
ST_MakeLine —从Point,MultiPoint或LineString几何形状创建线串。
ST_MakePoint —创建2D,3DZ或4D点。
ST_MakePointM —从X,Y和M值创建一个点。
ST_MakePolygon —从壳和孔的可选列表创建多边形。
ST_Point —使用给定的坐标值创建一个Point。 ST_MakePoint的别名。
ST_Polygon —从具有指定SRID的LineString创建多边形。
ST_TileEnvelope —使用XYZ拼贴系统在Web Mercator(SRID:3857)中创建一个矩形多边形。
ST_HexagonGrid —返回一组完全覆盖几何参数范围的六边形和单元格索引。
ST_SquareGrid —返回一组完全覆盖几何参数范围的网格正方形和单元格索引。
ST_Hexagon —使用六边形网格空间内提供的边缘大小和像元坐标,返回单个六边形。
ST_Square —使用六角形网格空间内提供的边缘大小和像元坐标,返回单个正方形。

5.4 几何访问
GeometryType —以文本形式返回几何的类型。
ST_Boundary —返回几何的边界。
ST_CoordDim —返回几何的坐标尺寸。
ST_Dimension —返回几何的拓扑尺寸。
ST_Dump —返回用于几何图形组件的一组geometry_dump行。
ST_DumpPoints —返回几何中的点的一组geometry_dump行。
ST_DumpRings —返回多边形的外环和内环的一组geometry_dump行。
ST_EndPoint —返回LineString或CircularLineString的最后一点。
ST_Envelope —返回表示几何图形边界框的几何图形。
ST_BoundingDiagonal —返回几何边界框的对角线。
ST_ExteriorRing —返回代表Polygon外环的LineString。
ST_GeometryN —返回几何集合的第N个几何元素。
ST_GeometryType —以文本形式返回几何的SQL-MM类型。
ST_HasArc —测试几何图形是否包含圆弧
ST_InteriorRingN —返回多边形的第N个内环(孔)。
ST_IsPolygonCCW —测试多边形是否具有沿逆时针方向定位的外环和沿顺时针方向定位的内环。
ST_IsPolygonCW —测试多边形是否具有顺时针方向的外环和逆时针方向的内环。
ST_IsClosed —测试LineStrings的起点和终点是否重合。对于PolyhedralSurface测试,是否封闭(体积)。
ST_IsCollection —测试几何是否为几何集合类型。
ST_IsEmpty —测试几何是否为空。
ST_IsRing —测试LineString是否闭合且简单。
ST_IsSimple —测试几何图形是否没有自相交或自相切的点。
ST_M —返回点的M坐标。
ST_MemSize —返回几何占用的内存空间量。
ST_NDims —返回几何的坐标尺寸。
ST_NPoints —返回几何中的点(顶点)数。
ST_NRings —返回多边形几何中的环数。
ST_NumGeometries —返回几何集合中的元素数。
ST_NumInteriorRings —返回多边形的内部环数(孔)。
ST_NumInteriorRing —返回多边形的内部环数(孔)。 ST_NumInteriorRings的Aias
ST_NumPatches —返回多面曲面上的面数。对于非多面体几何形状,将返回null。
ST_NumPoints —返回LineString或CircularString中的点数。
ST_PatchN —返回多面曲面的第N个几何(面)。
ST_PointN —返回几何图形中第一个LineString或圆形LineString中的第N个点。
ST_Points —返回包含几何图形所有坐标的MultiPoint。
ST_StartPoint —返回LineString的第一个点。
ST_Summary —返回几何内容的文本摘要。
ST_X —返回点的X坐标。
ST_Y —返回点的Y坐标。
ST_Z —返回点的Z坐标。
ST_Zmflag —返回指示几何图形的ZM坐标尺寸的代码。

5.5 几何编辑
这些函数通过改变类型、结构或顶点来创建修改过的几何图形。
ST_AddPoint—将点添加到LineString。
ST_CollectionExtract —给定(多)几何,返回仅由指定类型的元素组成的(多)几何。
ST_CollectionHomogenize —给定几何集合,返回内容的“最简单”表示形式。
ST_CurveToLine —将包含曲线的几何转换为线性几何。
ST_FlipCoordinates —返回X和Y轴已翻转的几何版本。
ST_Force2D —将几何强制为“二维模式”。
ST_Force3D —将几何强制为XYZ模式。这是ST_Force3DZ的别名。
ST_Force3DZ —将几何强制为XYZ模式。
ST_Force3DM —将几何强制为XYM模式。
ST_Force4D —将几何强制为XYZM模式。
ST_ForcePolygonCCW —逆时针旋转所有外部环,顺时针旋转所有内部环。
ST_ForceCollection —将几何转换为GEOMETRYCOLLECTION。
ST_ForcePolygonCW —顺时针定向所有外环,逆时针定向所有内环。
ST_ForceSFS —强制几何仅使用SFS 1.1几何类型。
ST_ForceRHR —强制多边形中顶点的方向遵循右手规则。
ST_ForceCurve —将几何体转换为其弯曲类型(如果适用)。
ST_LineMerge —返回通过将MULTILINESTRING缝合在一起而形成的(一组)LineString。
ST_LineToCurve —将线性几何转换为弯曲几何。
ST_Multi —将几何返回为MULTI *几何。
ST_Normalize —以规范形式返回几何。
ST_QuantizeCoordinates —将坐标的最低有效位设置为零
ST_RemovePoint —从线串中删除点。
ST_RemoveRepeatedPoints —返回给定几何的版本,其中删除了重复的点。
ST_Reverse —返回顶点顺序相反的几何。
ST_Segmentize —返回修改后的几何/地理,其线段的长度不超过给定距离。
ST_SetPoint —用给定的点替换线串的点。
ST_ShiftLongitude —在-180…180和0…360之间移动地理坐标的几何。
ST_WrapX —将几何图形环绕X值。
ST_SnapToGrid —将输入几何图形的所有点捕捉到常规网格。
ST_Snap —将输入几何的线段和顶点与参考几何的顶点对齐。
ST_SwapOrdinates —返回交换给定纵坐标值的给定几何的版本。

5.6 几何验证
这些函数根据OGC SFS标准测试几何图形是否有效。它们还提供有关残疾的性质和地点的信息。还有一个函数可以从一个无效的几何图形中创建一个有效的几何图形。
ST_IsValid —测试几何是否在2D中格式正确。
ST_IsValidDetail—返回valid_detail行,该行说明几何是否有效,如果不是,则说明原因和位置。
ST_IsValidReason —返回说明几何是否有效或无效原因的文本。
ST_MakeValid —尝试使无效的几何图形有效而不丢失顶点。

5.7 空间参考系统功能
这些功能与几何的空间参考系统一起工作。
ST_SetSRID —将几何图形上的SRID设置为特定的整数值。
ST_SRID —返回空间索引表中定义的ST_Geometry的空间参考标识符。
ST_Transform —返回一个新几何,其坐标已转换为其他空间参考系统。

5.8 几何输入
这些函数从各种文本或二进制格式创建几何体对象。

5.8.1. Well-Known Text (WKT)
ST_BdPolyFromText — 构造一个多边形给定一个封闭的字符串作为一个多行众所周知的文本表示的任意集合。
ST_BdMPolyFromText — 构造一个多多边形,给定一个封闭的字符串的任意集合,作为一个多字符串文本表示法众所周知的文本表示法。
ST_GeogFromText — 从已知的文本表示或扩展(WKT)返回指定的地理值。
ST_GeographyFromText — 从已知的文本表示或扩展(WKT)返回指定的地理值。
ST_GeomCollFromText — 使用给定的SRID从集合WKT生成集合几何体。如果未给定SRID,则默认为0。
ST_GeomFromEWKT — 从扩展的已知文本表示法(EWKT)返回指定的ST_Geometry。
ST_GeometryFromText — 从已知文本表示法(WKT)返回指定的ST_Geometry。这是ST_GeomFromText的别名
ST_GeomFromText — 从已知文本表示法(WKT)返回指定的ST_Geometry。
ST_LineFromText — 使用给定的SRID从WKT表示生成几何体。如果未给定SRID,则默认为0。
ST_MLineFromText — 从WKT表示返回指定的stu MultiLineString值。
ST_MPointFromText — 使用给定的SRID从WKT生成几何体。如果未给定SRID,则默认为0。
ST_MPolyFromText — 使用给定的SRID从WKT生成多多边形几何体。如果未给定SRID,则默认为0。
ST_PointFromText — 使用给定的SRID从WKT生成点几何体。如果未给定SRID,则默认为未知。
ST_PolygonFromText — 使用给定的SRID从WKT生成几何体。如果未给定SRID,则默认为0。
ST_WKTToSQL — 从已知文本表示法(WKT)返回指定的ST_Geometry。这是ST_GeomFromText的别名

5.8.2. Well-Known Binary (WKB)
ST_GeogFromWKB — 从已知的二进制几何表示(WKB)或扩展的已知二进制(EWKB)创建地理实例。
ST_GeomFromEWKB — 从扩展的已知二进制表示法(EWKB)返回指定的ST\几何值。
ST_GeomFromWKB — 从已知的二进制几何体表示(WKB)和可选SRID创建几何体实例。
ST_LineFromWKB — 使用给定的SRID从WKB生成一个LINESTRING
ST_LinestringFromWKB — 使用给定的SRID从WKB生成几何体。
ST_PointFromWKB — 使用给定的SRID从WKB生成几何体
ST_WKBToSQL — 从已知的二进制表示法(WKB)返回指定的ST_Geometry值。这是不需要srid的ST_GeomFromWKB的别名

5.8.3. Other Formats
ST_Box2dFromGeoHash — 从GeoHash字符串返回BOX2D。
ST_GeomFromGeoHash — 从GeoHash字符串返回几何体。
ST_GeomFromGML — 以几何图形的GML表示形式作为输入,并输出PostGIS几何对象
ST_GeomFromGeoJSON — 将几何体的geojson表示形式作为输入,并输出PostGIS几何体对象
ST_GeomFromKML — 将几何体的KML表示形式作为输入,并输出PostGIS几何体对象
ST_GeomFromTWKB — 从TWKB(“Tiny Well-Known Binary”)几何体表示创建几何体实例。
ST_GMLToSQL — 从GML表示返回指定的ST\U几何体值。这是ST_GeomFromGML的别名
ST_LineFromEncodedPolyline — 从编码的多段线创建线字符串。
ST_PointFromGeoHash — 从GeoHash字符串返回一个点。

5.9 几何输出
这些函数将几何体对象转换为各种文本或二进制格式。

5.9.1. Well-Known Text (WKT)
ST_AsEWKT — 返回带有SRID元数据的几何体的已知文本(WKT)表示。
ST_AsText — 返回不带SRID元数据的几何图形/地理图形的已知文本(WKT)表示形式。

5.9.2. Well-Known Binary (WKB)
ST_AsBinary — 返回不带SRID元数据的几何/地理的已知二进制(WKB)表示。
ST_AsEWKB — 返回带有SRID元数据的几何体的已知二进制(WKB)表示。
ST_AsHEXEWKB — 使用小端(NDR)或大端(XDR)编码返回HEXEWKB格式的几何体(作为文本)。

5.9.3. 其他格式
ST_AsEncodedPolyline — 从LineString几何图形返回编码的多段线。
ST_AsGeobuf — 返回一组行的Geobuf表示形式。
ST_AsGeoJSON — 将几何体作为GeoJSON元素返回。
ST_AsGML — 将几何体作为GML版本2或3元素返回。
ST_AsKML — 将几何体作为KML元素返回。几个变种。默认版本=2,默认maxdecimaldigits=15
ST_AsLatLonText — 返回给定点的度、分、秒表示。
ST_AsMVTGeom — 将几何图形转换为Mapbox矢量图块的坐标空间。
ST_AsMVT — 返回一组行的Mapbox向量平铺表示的聚合函数。
ST_AsSVG — 返回几何体的SVG路径数据。
ST_AsTWKB — 将几何体返回为TWKB,也称为 “Tiny Well-Known Binary”
ST_AsX3D — 返回X3D xml节点元素格式的几何体: ISO-IEC-19776-1.2-X3DEncodings-XML
ST_GeoHash — 返回几何体的GeoHash表示形式。

5.11 空间关系
这些函数决定几何图形之间的空间关系。

5.11.1 拓扑关系
ST_3DIntersects —如果两个几何在3D中在空间上相交,则返回true-仅用于点,线串,多边形,多面曲面(区域)。
ST_Contains —当且仅当B的点不位于A的外部且B的内部的至少一个点位于A的内部时,才返回true。
ST_ContainsProperly —如果B与A的内部而不是边界(或外部)相交,则返回true。 A本身不包含自身,但是包含自身。
ST_Covers —如果B中没有点在A之外,则返回true
ST_CoveredBy —如果Geometry / Geography A中没有点在Geometry / Geography B之外,则返回true
ST_Crosses —如果两个几何具有一些但不是全部内部相同的点,则返回true。
ST_LineCrossingDirection —返回一个数字,指示两个LineString的交叉行为。
ST_Disjoint —如果两个几何在空间上不相交(它们没有共同点),则返回true。
ST_Equals —如果两个几何在空间中包含相同的点集,则返回true。
ST_Intersects —如果两个“几何” /“地理”在2D空间上相交(至少有一个共同点),则返回true。
ST_OrderingEquals —如果两个几何表示相同的几何并且具有相同的方向顺序的点,则返回true。
ST_Overlaps —如果两个几何相交且具有相同的尺寸,但彼此之间不完全包含,则返回true。
ST_Relate —测试两个几何是否具有与给定“交集矩阵”模式匹配的拓扑关系,或计算它们的“交集矩阵”
ST_RelateMatch —测试DE-9IM交集矩阵是否与交集矩阵模式匹配
ST_Touches —如果两个几何至少有一个共同点,但它们的内部不相交,则返回true。
ST_Within —如果几何A完全在几何B内,则返回true

5.11.2 距离关系
ST_3DDWithin —如果两个3D几何形状在给定的3D距离内,则返回true
ST_3DDFullyWithin —如果两个3D几何完全在给定的3D距离内,则返回true
ST_DFullyWithin —如果两个几何完全在给定距离内,则返回true
ST_DWithin —如果两个几何在给定距离内,则返回true
ST_PointInsideCircle —测试点几何是否在由中心和半径定义的圆内。

5.12 测量功能
ST_Area —返回多边形几何的面积。
ST_Azimuth —返回以北为基准的方位角,以弧度为单位,从点A的垂直方向到点B的角度以弧度为单位。
ST_Angle —返回3个点之间或2个向量之间的角度(4个点或2条线)。
ST_ClosestPoint —返回g1上最接近g2的2D点。这是最短线的第一点。
ST_3DClosestPoint —返回g1上最接近g2的3D点。这是3D最短线的第一点。
ST_Distance —返回两个几何或地理值之间的距离。
ST_3DDistance —以投影单位返回两个几何之间的3D笛卡尔最小距离(基于空间参考)。
ST_DistanceSphere —使用球形地球模型返回两个lon / lat几何之间的最小距离(以米为单位)。
ST_DistanceSpheroid —使用球形地球模型返回两个lon / lat几何之间的最小距离。
ST_FrechetDistance —返回两个几何之间的Fréchet距离。
ST_HausdorffDistance —返回两个几何之间的Hausdorff距离。
ST_Length —返回线性几何的2D长度。
ST_Length2D —返回线性几何的2D长度。 ST_Length的别名
ST_3DLength —返回线性几何的3D长度。
ST_LengthSpheroid —返回球体上lon / lat几何图形的2D或3D长度/周长。
ST_LongestLine —返回两个几何之间的2D最长线。
ST_3DLongestLine —返回两个几何之间的3D最长线
ST_MaxDistance —以投影单位返回两个几何之间的最大二维距离。
ST_3DMaxDistance —以投影单位返回两个几何之间的3D笛卡尔最大距离(基于空间参考)。
ST_MinimumClearance —返回几何图形的最小间隙,度量几何图形的鲁棒性。
ST_MinimumClearanceLine —返回跨越几何最小间隙的两点LineString。
ST_Perimeter —返回多边形几何或地理边界的长度。
ST_Perimeter2D —返回多边形几何的2D周长。 ST_Perimeter的别名。
ST_3DPerimeter —返回多边形几何的3D周长。
ST_Project —返回从起点投影一个距离和方位角(方位角)的点。
ST_ShortestLine —返回两个几何之间的2D最短线
ST_3DShortestLine —返回两个几何之间的3D最短线

5.13 叠加功能
这些函数计算两个几何图形叠加产生的结果。这些也被称为点集理论布尔运算。还提供了一些相关的功能。
ST_ClipByBox2D —返回属于矩形的几何图形的一部分。
ST_Difference —返回表示几何A的不与几何B相交的部分的几何。
ST_Intersection —返回代表几何A和B共享部分的几何。
ST_MemUnion —聚合函数,以内存有效但较慢的方式合并几何
ST_Node —结点线的集合。
ST_Split —返回通过将一个几何图形拆分为另一个几何图形而创建的几何图形的集合。
ST_Subdivide —计算几何的直线细分。
ST_SymDifference —返回一个几何,表示不相交的几何A和B的部分。
ST_Union —返回代表输入几何图形的点集并集的几何图形。
ST_UnaryUnion —计算单个几何图形的组件的并集。

5.14 几何处理
这些函数计算几何结构,或改变几何尺寸或形状
ST_Buffer —返回一个几何图形,该几何图形覆盖距几何图形给定距离内的所有点。ST_BuildArea —创建由几何的线条构成的多边形几何。
ST_Centroid —返回几何的几何中心。ST_ConcaveHull —计算可能包含所有输入几何顶点的凹形几何
ST_ConvexHull —计算几何的凸包。ST_DelaunayTriangles —返回几何顶点的Delaunay三角剖分。
ST_FilterByM —根据顶点的M值移除顶点
ST_GeneratePoints —生成多边形或多多边形中包含的随机点。
ST_GeometricMedian —返回MultiPoint的几何中间值。
ST_MaximumInscribedCircle —计算完全包含在几何图形内的最大圆。
ST_MinimumBoundingCircle —返回包含几何的最小圆形多边形。
ST_MinimumBoundingRadius —返回包含几何的最小圆的中心点和半径。
ST_OrientedEnvelope —返回包含几何的最小面积的矩形。
ST_OffsetCurve —返回距输入线给定距离和边距的偏移线。
ST_PointOnSurface —返回保证位于多边形或几何图形上的点。
ST_Polygonize —计算由一组几何图形的线条形成的多边形的集合。
ST_ReducePrecision —返回一个有效的几何图形,所有点均四舍五入到提供的网格公差。
ST_SharedPaths —返回包含两个输入线串/多线串共享的路径的集合。
ST_Simplify —使用Douglas-Peucker算法返回几何的简化版本。
ST_SimplifyPreserveTopology —使用Douglas-Peucker算法返回几何的简化和有效版本。
ST_SimplifyVW —使用Visvalingam-Whyatt算法返回几何的简化版本
ST_ChaikinSmoothing —使用Chaikin算法返回几何的平滑版本
ST_SetEffectiveArea —使用Visvalingam-Whyatt算法设置每个顶点的有效面积。
ST_VoronoiLines —返回几何顶点的Voronoi图的边界。
ST_VoronoiPolygons —返回几何顶点的Voronoi图的像元。

5.15 仿射变换
这些函数使用仿射变换改变几何图形的位置和形状.
ST_Affine —将3D仿射变换应用于几何图形。
ST_Rotate —围绕原点旋转几何。
ST_RotateX —绕X轴旋转几何。
ST_RotateY —围绕Y轴旋转几何。
ST_RotateZ —绕Z轴旋转几何。
ST_Scale —按给定因子缩放几何。
ST_Translate —按给定的偏移量转换几何图形。
ST_TransScale —按给定的偏移量和系数平移和缩放几何。

5.16 聚合功能
这些函数实现了几何集合的聚类算法。
ST_ClusterDBSCAN —窗口函数,使用DBSCAN算法为每个输入几何返回聚类ID。
ST_ClusterIntersecting —聚合函数,用于将输入几何形状聚类为连接的集合。
ST_ClusterKMeans —窗口函数,使用K-means算法为每个输入几何返回聚类ID。
ST_ClusterWithin —聚合函数,用于按分隔距离对输入几何图形进行聚类。

5.17 边框功能
这些函数产生或操作边界框。通过使用自动或显式类型转换,它们还可以提供和接受几何值。
Box2D —返回代表几何2D范围的BOX2D。
Box3D —返回代表几何图形3D范围的BOX3D。
ST_EstimatedExtent —返回空间表的“估计”范围。
ST_Expand —返回从另一个边界框或几何图形扩展的边界框。
ST_Extent —一个聚合函数,该函数返回包围几何行的边界框。
ST_3DExtent —一个聚合函数,该函数返回3D边界框,该边界框限制几何图形的行。
ST_MakeBox2D —创建由两个2D点几何定义的BOX2D。
ST_3DMakeBox —创建由两个3D点几何定义的BOX3D。
ST_XMax —返回2D或3D边界框或几何图形的X最大值。
ST_XMin —返回2D或3D边界框或几何的X最小值。
ST_YMax —返回2D或3D边界框或几何的Y最大值。
ST_YMin —返回2D或3D边界框或几何的Y最小值。
ST_ZMax —返回2D或3D边界框或几何的Z最大值。
ST_ZMin —返回2D或3D边界框或几何的Z最小值。

5.18 线性参考
ST_LineInterpolatePoint —返回沿直线插补的点。第二个参数是一个介于0和1之间的float8,代表必须定位该点的线串总长度的一部分。
ST_3DLineInterpolatePoint —返回沿3D线插入的点。第二个参数是一个介于0和1之间的float8,代表必须定位该点的线串总长度的一部分。
ST_LineInterpolatePoints —返回沿一条线插补的一个或多个点。
ST_LineLocatePoint —返回0到1之间的浮点数,表示LineString上与给定Point点最近的点的位置,以总2d线长的一部分表示。
ST_LineSubstring —返回一个线串,该线串是输入的子串,从总2d长度的给定分数开始和结束。第二个和第三个参数是介于0和1之间的float8值。
ST_LocateAlong —返回具有与指定度量匹配的元素的派生几何集合值。不支持多边形元素。
ST_LocateBetween —返回派生的几何集合值,其元素与指定的范围(包括范围在内)相匹配。
ST_LocateBetweenElevations —返回派生的几何(集合)值,其元素与指定的高程范围相交。
ST_InterpolatePoint —返回在与提供的点接近的点处的几何的度量尺寸的值。
ST_AddMeasure —返回带有在起点和终点之间线性插值的测量元素的派生几何。

5.19 轨迹函数
这些函数支持使用轨迹。轨迹是在每个坐标上都有一个度量(M值)的线性几何图形。测量值必须沿直线增加。时空数据可以通过使用相对时间(如epoch)作为度量值来建模。
ST_IsValidTrajectory —如果几何是有效轨迹,则返回true。
ST_ClosestPointOfApproach —返回沿两个轨迹插补的点最接近的度量。
ST_DistanceCPA —返回两个轨迹的最接近点之间的距离。
ST_CPAWithin —如果两个轨迹的最接近点在指定距离内,则返回true。

5.20 SFCGAL函数
SFCGAL是一个围绕CGAL的c++包装库,提供了高级的2D和3D空间函数。为了鲁棒性,几何坐标具有精确的有理数表示。
这个库的安装说明可以在SFCGAL主页(http://www.sfcgal.org)上找到。要启用这些函数,请使用create extension postgis_sfcgal。
postgis_sfcgal_version —返回正在使用的SFCGAL的版本
ST_Extrude —将曲面拉伸到相关体积
ST_StraightSkeleton —从几何图形计算直线骨架
ST_CloseMedialAxis —计算平面几何体的近似中间轴。
ST_IsPlanar —检查曲面是否为平面
ST_Orientation —确定表面方向
ST_ForceLHR —强制LHR方向
ST_MinkowskiSum —执行Minkowski和
ST_ConstrainedDelaunayTriangles —返回围绕给定输入几何形状的约束Delaunay三角剖分。
ST_3DIntersection —执行3D相交
ST_3DDifference —执行3D差异
ST_3DUnion —执行3D合并
ST_3DArea —计算3D表面几何形状的面积。对于实体将返回0。
ST_Tesselate —对多边形或多面体表面执行表面镶嵌处理,并以TIN或TINS集合的形式返回
ST_Volume —计算3D实体的体积。如果应用于表面(甚至闭合)几何,则将返回0。
ST_MakeSolid —将几何体转换为实体。不执行检查。为了获得有效的实体,输入几何必须是封闭的多面曲面或封闭的TIN。
ST_IsSolid —测试几何图形是否为实体。不执行有效性检查。

格式转换
ST_Force2D(geom) postgres里不能预览三维数据
ST_AsText(geom) wkb转wkt
ST_AsGeoJSON(geom) wkb转geojson

几何处理
ST_LineMerge(ST_Union(geoms)) 线段连接合并,效率较低,但适合大部分场景
ST_MakeLine(geoms) 线段连接合并效率高,但严格要求方向一致
ST_SimplifyPreserveTopology(geometry ,<阈值>) 几何抽稀

几何查询
ST_Numgeometries(geom) 计算mulit类型包含几何的数量
ST_GeometryN(geom,index) 获取mulit类型中的第几个单体几何
ST_Lenght(geom) 计算长度

拓扑关系
ST_Intersects 相交关系,两个图形之间存在公共部分,比如公共点,公共线,公共面
ST_Disjoint 相离关系,两个图形无丝毫公共部分,与ST_Intersects完全相反
ST_Contains 包含关系,图形A包含图形B:ST_Contains(A,B),如点在面内,线在面内。
ST_Within 被包含关系,图形A被B包含:ST_Within(A,B),与ST_Contains完全相反。
ST_Covers 覆盖关系,图形A完全覆盖住了图形B:ST_Covers (A,B),部分关系与ST_Contains 重叠,但不是完全一样。
ST_Crosses 穿越关系,图形A与图形B有一部分公共内点,但不是全部。
ST_Equals 相等关系,两个图形完全相等。
ST_Overlaps 压盖关系
ST_Touches 相连关系,两个图形只有边界存在公共连接关系。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Python中读取postGIS数据库中的地理数据,您需要使用Python中的Geopandas库。Geopandas是一个基于Pandas的Python库,它提供了一种方便的方法来处理地理数据。 下面是一个简单的示例代码,演示如何连接到postGIS数据库并读取地理数据: ```python import geopandas as gpd # Connect to postGIS database dbname = 'your_dbname' user = 'your_username' password = 'your_password' host = 'your_host' port = 'your_port' conn_str = f"postgresql://{user}:{password}@{host}:{port}/{dbname}" conn = gpd.io.sql.connect(conn_str) # Read data from database table_name = 'your_table_name' sql = f"SELECT * FROM {table_name}" gdf = gpd.read_postgis(sql, conn) # Print the loaded data print(gdf.head()) ``` 在这里,您需要将`dbname`,`user`,`password`,`host`和`port`替换为您的postGIS数据库的相关信息。然后,您可以使用`gpd.read_postgis()`函数从数据库中读取地理数据。该函数的第一个参数是SQL查询,第二个参数是数据库连接对象。最后,您可以使用`print()`函数打印读取的数据。 希望这个示例能帮助您开始在Python中读取postGIS数据库中的地理数据。 ### 回答2: Python读取postGIS数据库中的地理数据可以使用开源的psycopg2和geopandas库来实现。 首先,需要先安装psycopg2和geopandas库。可以使用以下命令来安装: ``` pip install psycopg2 pip install geopandas ``` 接下来,需要先连接到postGIS数据库。可以使用psycopg2库来实现。首先导入psycopg2库,然后使用connect()方法连接到数据库。示例如下: ```python import psycopg2 conn = psycopg2.connect(database="your_database_name", user="your_username", password="your_password", host="your_host", port="your_port") ``` 连接成功后,就可以执行SQL语句来读取地理数据。可以使用psycopg2库的cursor()方法来创建一个游标对象,并使用execute()方法来执行SQL查询。示例如下: ```python cur = conn.cursor() # 查询所有地理数据 cur.execute("SELECT * FROM your_table_name") # 如果只想查询特定的列,可以使用以下方式 cur.execute("SELECT column1, column2 FROM your_table_name") # 获取查询结果 rows = cur.fetchall() # 打印查询结果 for row in rows: print(row) ``` 如果要将查询结果以地理数据的形式进行操作,可以使用geopandas库。首先导入geopandas库,然后使用read_postgis()方法来读取地理数据。示例如下: ```python import geopandas as gpd # 读取地理数据 gdf = gpd.read_postgis("SELECT * FROM your_table_name", conn) # 打印地理数据 print(gdf) ``` 以上就是使用Python读取postGIS数据库中地理数据的简单示例。可以根据具体的需求进行进一步的操作和处理。 ### 回答3: Python可以使用PostGIS库来读取PostGIS数据库中的地理数据。PostGIS是一个在PostgreSQL关系型数据库中存储地理空间信息的扩展,可以处理包括点、线、面等地理对象的存储和查询。 首先,需要安装PostGIS扩展和Python的相关库。可以通过以下命令来安装: ``` sudo apt-get install postgis pip install psycopg2 ``` 接下来,需要连接到PostGIS数据库。可以使用psycopg2库来建立与数据库的连接。示例代码如下: ```python import psycopg2 # 建立与数据库的连接 conn = psycopg2.connect(database="your_database", user="your_user", password="your_password", host="your_host", port="your_port") # 创建游标 cursor = conn.cursor() # 查询语句 query = "SELECT * FROM your_table" # 执行查询 cursor.execute(query) # 获取查询结果 rows = cursor.fetchall() # 关闭游标和连接 cursor.close() conn.close() ``` 在连接到数据库后,可以使用SQL查询语句从表中获取地理数据。根据需要,可以使用不同的SQL语句来查询点、线、面等不同类型的地理对象。 获取查询结果后,可以对结果进行进一步处理,例如将地理数据转换为标准的GeoJSON格式,以便在地图上进行可视。可以使用GeoJSON库来进行转换,示例代码如下: ```python import json # 将查询结果转换为GeoJSON格式 geojson = { "type": "FeatureCollection", "features": [] } for row in rows: feature = { "type": "Feature", "geometry": json.loads(row[0]) } geojson["features"].append(feature) # 将GeoJSON保存到文件 with open("output.geojson", "w") as f: json.dump(geojson, f) ``` 以上就是使用Python读取PostGIS数据库中地理数据的简单示例。根据具体需求,可以进一步扩展代码以满足不同的功能要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值