首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用SQL 空间函数,如何构造表示两个(或更多)POINT实例之间的行的LINESTRING?

在 SQL 中,空间函数可以用来处理地理空间数据,包括点、线、面等。要构造表示两个(或更多)POINT实例之间的行的LINESTRING,可以使用以下方法:

  1. 使用 ST_MakeLine 函数:

ST_MakeLine 函数可以将两个或多个点连接成一个线。例如,如果有两个点 POINT(0 0)POINT(1 1),可以使用以下查询构造一个 LINESTRING:

代码语言:sql
复制

SELECT ST_AsText(ST_MakeLine(ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(1 1)')));

代码语言:txt
复制

这将返回以下 LINESTRING:

代码语言:txt
复制

LINESTRING(0 0, 1 1)

代码语言:txt
复制
  1. 使用 ST_MakeLine 函数连接多个点:

如果有多个点,可以使用 ST_MakeLine 函数将它们连接成一个线。例如,如果有三个点 POINT(0 0)POINT(1 1)POINT(2 2),可以使用以下查询构造一个 LINESTRING:

代码语言:sql
复制

SELECT ST_AsText(ST_MakeLine(ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(1 1)'), ST_GeomFromText('POINT(2 2)')));

代码语言:txt
复制

这将返回以下 LINESTRING:

代码语言:txt
复制

LINESTRING(0 0, 1 1, 2 2)

代码语言:txt
复制
  1. 使用 ST_MakeLine 函数连接表中的点:

如果点存储在表中,可以使用 ST_MakeLine 函数将它们连接成一个线。例如,如果有一个名为 points 的表,其中包含两个点 POINT(0 0)POINT(1 1),可以使用以下查询构造一个 LINESTRING:

代码语言:sql
复制

SELECT ST_AsText(ST_MakeLine(geom)) FROM points;

代码语言:txt
复制

这将返回以下 LINESTRING:

代码语言:txt
复制

LINESTRING(0 0, 1 1)

代码语言:txt
复制

总之,使用 SQL 空间函数,可以轻松地构造表示两个(或更多)POINT实例之间的行的LINESTRING。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL Server 2008 geometry 数据类型

摘自SQL Server 2008帮助 平面空间数据类型 geometry 是作为 SQL Server 中公共语言进行时 (CLR) 数据类型实现。此类型表示欧几里得(平面)坐标系中数据。...您可以创建 geometry 类型表列并对 geometry 数据进行操作,就像使用其他 CLR 类型一样。 示例 以下两个示例显示了如何添加和查询几何图形数据。...接下来将插入两:一包含 geometry 类型 LineString 实例,一包含 Polygon 实例。 ALTER PROCEDURE [dbo]....geometry 数据类型提供了许多内置方法,您可以使用这些方法确定两个 geometry 实例之间关系。...可通过以熟知文本(Well-Known Text,WKT)熟知二进制(Well-Known Binary,WKB)格式输入数据来构造 geometry 空间数据类型实例

1.2K60
  • Geospatial Data 在 Nebula Graph 中实践

    Geospatial functions -- 地理空间函数 Nebula 支持地理空间函数可以分为以下几大类: 构造函数 - ST\_Point(longitude, latitude),根据一对经纬度构造一个...,计算两个 geography 对象之间距离 这些函数接口遵循 OpenGIS Simple Feature Access 以及 ISO SQL/MM 标准,具体用法参见Nebula 文档 Geospatial...地理空间索引用于基于空间谓词函数地理形状快速过滤,如:ST_Intersects、ST_Covers 等。 Nebula 使用Google S2库做空间索引。...基于空间谓词函数索引查询通过查找覆盖所查询对象 S2 单元格集合与覆盖被索引对象 S2 单元格之间交集,来快速过滤掉大量不相关地理对象。...S2 单元格来表示它,因此一个 point 对应一个索引条目;对于形状为 linestring 和 polygon 地理数据,我们使用多个不同 level S2 单元格来覆盖,因此会对应多个索引条目

    79470

    MySQL空间函数汇总

    空间函数参考 - 空间分析功能 MySQL中空间扩展:第19章:MySQL中空间扩展_MySQL 中文文档 ArcMap ST_Geometry :与 ST_Geometry 配合使用 SQL...函数—帮助 | 文档 MySQL Geometry函数:MySQL: Geometry Class Reference 二、空间实现 -- 面包含点:1:包含 0:不包含 SELECT ST_Contains...1 1)')); -- 两点之间距离 SELECT ST_DISTANCE(POINT(1,1),POINT(0,0)); -- 以坐标点画圆和港口坐标是否包含和距离 SET @point1=POINT...外环 45 ST_Area() 返回PolygonMultiPolygon面积 46 ST_Union() 返回点集两个几何并集 47 ST_SymDifference() 返回点设置两个几何对称差异...() 两个几何形状之间最小地球距离 72 MBRTouches() 两种几何形状MBR是否接触 73 ST_Buffer_Strategy() 为ST_Buffer()生成策略选项 74 MBRCoveredBy

    2.5K20

    超融合时序数据库YMatrixDB与PostGIS案例

    提供简单空间分析函数,同时也提供其他一些具有复杂分析功能函数。支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。...能通过 SQL 调用 KML、GML、GeoJSON、GeoHash、WKT 等标准文本类型矢量数据函数。矢量栅格操作函数,包括按区域伸缩栅格像元值、局域统计、按矢量图形裁剪栅格、矢量化栅格等。...2、其中f_table_schema字段表示空间表所在模式,f_table_name字段表示空间表名,f_geometry_column字段表示是该空间表中几何字段名称,srid字段表示是该空间空间参考...计算两点之间距离-- 两个之间距离,距离单位是mselect ST_Distance(ST_GeographyFromText('SRID=4326;POINT(114.01729922.537126...::geography,'point(-21.9664.15)'::geography);-- 计算点线之间距离select st_distance('linestring(-122.33 47.606

    1.8K30

    一篇文章带你玩转PostGIS空间数据库

    以点(Point)数据类型为例,一个点可以由它在某一坐标参考系下X、Y坐标值来表示,如“POINT(116.4074 39.9042)”表示了一个位于北京市中心点。...表示真实世界对象 Simple Features for SQL(SFSQL)规范是PostGIS开发原始指导标准,它定义了如何表示真实世界对象。...(geometry A, geometry B)计算两个几何图形之间最短距离 空间连接 空间连接(spatial joins)是空间数据库主要组成部分,它们允许你使用空间关系作为连接键(join...Extended 9-Intersection Model”(DE9IM)是一个用于建模两个空间对象如何交互框架。...11.使用触发器追踪历史编辑操作 生产环境下数据库一个常见要求是能够跟踪用户编辑数据历史:数据在两个日期之间如何变化,是谁操作,以及它们哪些内容变化了?

    5.7K50

    POSTGIS 总结

    )可以重叠,可以相互包含,并且可以排列在二维(更多维数)空间中,因此无法使用B树索引有效地索引它们。...)实现 1.3 空间函数 空间函数构建于SQL语言中,用于进行空间属性和空间关系查询,空间函数大部分可以被归纳为以下五类: 转换 —— 在geometry(PostGIS中存储空间信息格式)和外部数据格式之间进行转换函数...发出VACUUM命令不会更新数据库统计信息;同样,执行ANALYZE命令也不会清理未使用空间。这两个命令都可以针对整个数据库、单个表单个列运行。...**ST_Intersection(geometry A, geometry B)**函数返回两个参数共有的空间区域(直线,点)。...如果多点中有两个两个以上点重合(也就是坐标一致),那么它就不是简单,但是确是有效 7.2 线串简单性与有效性 7.2.1 单线串 单线串(LINESTRING)如果有重叠、相交就不是简单(除了端点相交

    6.1K10

    超融合时序数据库YMatrixDB与PostGIS案例

    4、提供简单空间分析函数,同时也提供其他一些具有复杂分析功能函数。 5、支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。...7、能对矢量数据和栅格数据做处理,能通过 SQL 调用栅格、矢量数据投影函数。...2、其中f_table_schema字段表示空间表所在模式,f_table_name字段表示空间表名,f_geometry_column字段表示是该空间表中几何字段名称,srid字段表示是该空间空间参考...计算两点之间距离 -- 两个之间距离,距离单位是mselect ST_Distance(ST_GeographyFromText('SRID=4326;POINT(114.017299 22.537126...以下使用高级窗口函数统计出费率每个类型个数。

    1.5K10

    【翻译】GeoJSON格式规范-RFC7946

    这些几何类型实例GeoJSON表示类似于在同一规范中描述WKB和WKT表示。...使用wkt和wkb能够很好到和其他系统进行数据交换,目前大部分支持空间数据存储数据库构造空间数据都采用这两种方式。...一个position是一个数值数组,必须有两个更多元素。头两个元素是经度和纬度,或者是东距北距(应该是测量学上概念),按照这个顺序并且使用十进制。海拔可能被作为可选第三个元素。...LineString 对于类型“LineString”, “coordinates”成员是两个更多position数组。 3.1.5....一个带有两个坐标值和一个不存在或是为0不确定参数 ‘geo' URI, 和一个GeoJSON Point几何对象之间可以互相映射。

    6.9K80

    SQL2008空间数据类型--欧氏几何1基础

    1  基础 在SQL2008中增加了对地理空间数据类型支持,该类型分为2种:欧式(平面)几何geometry 和地理空间(椭圆体)几何geography 。...欧式几何大家基本上都学过,是以坐标来表示,而地理空间就是使用经度和纬度来表示,由于平面几何比较简单(我记得好像是初中时候学,高中学立体几何),所以我就从简单学起,先学习geometry 数据类型。...SRID是空间引用标识符简称,主要用于地理数据类型,在平面几何数据类型中SRID默认是0,关于SRID具体作用在地理数据类型时候再研究,只需要知道,不同SRID2个实例是不能进行运算,运算结果都是...,但是由于空间数据类型是CLR定义出来,可以理解为是用C#写一个数据类型,所以在使用时候是要区分大小写,不能写成parse('POINT(1 2)')了!...这两个函数区别就在于ToString除了坐标外还返回了对象中仰角和度量(如果定义了的话),而STAsText是只返回定义中坐标。 今天学了对平面几何类型定义,下次就开始学习使用了。

    63120

    【C++】开源:Boost库常用组件配置使用

    通过使用 boost::serialization 命名空间 >> 运算符,您可以从输入流中读取字节并重建对象。...通过为自定义类型添加 serialize 函数,可以指定如何将对象转换为字节流和从字节流中恢复。...Boost.Time特性 boost::posix_time:提供了对时间点和时间间隔进行操作类和函数。它支持高精度时间表示,并提供了各种算术和比较运算符,以及格式化和解析时间能力。...例如,它支持多种不同日历系统,如 Julian 日历、季节日历等;支持多种不同时区表示和转换;还提供了更复杂日期和时间算法,如计算某个日期之前之后工作日,计算某个日期所在周是当年第几周等。...// 创建两个Point p1{0.0, 0.0}; Point p2{1.0, 1.0}; // 计算两个之间欧几里得距离 double distance =

    42210

    3分钟了解Mysql空间搜GeoHash

    简单介绍: Mysql 内置函数方案,适合于已有业务,新增加LBS功能,增加经纬度字段方可,避免数据迁移,在5.7.5后实现更多功能实现INNODB空间搜方法,之前版本主要是对MYISAM支持。...新版本MySQL中,InnoDB支持空间索引,通过R树来实现,使得空间搜索变得高效,如使用内置函数(MBRWITHIN MBRCONTAINS)效率非常好。但目前空间索引只支持两个维度数据。...应用场景介绍:     公司新业务需求,希望能够实现当前位置快速显示共享信息数据,针对5.7新特性支持度调研,利用GeoHash封装成内置数据库函数简易方案,实现前期初期业务。...  5、问题:      如果直接在WHERE采用一系列表达式,这样会导致无法使用空间索引,如图所示: ?...其他SQL写法补充:      表示3公里范围内点:       DDL:     CREATE TABLE `shop_id` (       `id` int(11) NOT NULL AUTO_INCREMENT

    2.1K20

    MySQL中地理位置数据扩展geometry使用心得

    2.5 MultiPoint, MultiLineString, MultiPolygon, GeometryCollection   这4种类型都是集合类,是多个PointLineStringPolygon...0个多个表示内部边界LineString组成,最简单就是只有一个外边界情况:POLYGON((0 0,10,0 10 10, 0 10)) 3.1.4 集合类格式   MULTIPOINT(0...这里主要讲解使用WKT格式函数,对于集合类对象创建函数由于较少使用也不再列举   GeomFromText(wkt): 创建一个任何类型几何对象Geometry   PointFromText(wkt...121.475442678789 31.2318642395248, 121.472655 31.230357, 121.471898134093 31.2302649098516)) 6.3 几何对象之间空间关系函数...8.2 MySQL中计算距离,长度,面积等绝对数值空间计算函数(area(), GLength(), st_distance())存在一定误差,尽量不要使用

    3K10

    地理空间数据库复习笔记:关系数据库标准语言、几何对象模型与查询

    线段(Line): 折线特例,只有两个线串 环线(LineRing): 由折线派生而来,闭合、不自相交相切折线 面(Surface): 二维几何对象类,代表一个外边界、零到多个内边界组成几何对象...在三维空间中,可能是一个同构曲面 多边形(Polygon) 二维坐标空间中由一个外边界、零到多个内边界定义平坦表面,由一个一个以上线环聚合而成,如省份 仅支持由折线串围成多边形...): 由一个多个几何对象组成集合,其中元素必须具有相同空间参考系和测量参考系 多点(MultiPoint): 零维几何类集合,由多个点聚合而成,代表空间多个点,例如多个岛屿 多面(...LocateAlong用于选取几何中M值为mValue点,并构造成一个新几何对象 LocateBetween用于选取几何中M值在mStart和mEnd之间点,并构造一个新几何对象 几何对象逻辑模型与物理模型...给出了一种较为紧凑几何数据二进制方式存储格式 WKT表达:一种基于文本格式几何数据交汇标准表达方式 举例: POINT(0 0) LINESTRING(0 0, 1 1, 1 2)

    1.1K20

    PostgreSQL与PostGIS基础入门

    支持更多数据类型,除了支持SQL基本数据类型以外,还支持uuid,monetary, enumerated,geometric,binary,network address,bit string,text...最重要只要接触过SQL语言,就可以利用PostGISSQL语法便捷操纵装载着空间信息数据框(数据表),这些二维表除了被设定了一个特殊空间地理信息字段(带有空间投影信息、经纬度信息等)之外,与主流数据管理系统所定义各种字段并无两样...PostGIS提供了一系列二元谓词(如Contains、Within、Overlaps和Touches)用于检测空间对象之间空间关系,同时返回布尔值来表征对象之间符合这个关系。...数据库坐标变换 球体长度运算 三维几何类型 空间聚集函数 栅格数据类型 二、安装 如何安装PostgreSQL + PostGIS请参考:《如何安装PostgreSQL + PostGIS请点击》。...这里坐标是无法阅读 16 进制格式。要以WKT文本显示,使用ST_AsText(the_geom)ST_AsEwkt(the_geom)函数

    5.7K31

    MySQL 大对象(BLOB)和字符串分身术

    Field_geom 通过类实例属性 geom_type 区分字段类型是 GEOMETRY、POINTLINESTRING、POLYGON、GEOMETRYCOLLECTION、MULTIPOINT...json 1.10 空间类型(spatial type) 空间类型是一个大类,有 8 种字段类型: GEOMETRY,该类型字段存储内容可以是 POINTLINESTRING、POLYGON 这 3...LINESTRING表示一条由多个点连成线(可以是直线曲线),如 LINESTRING(0 0, 10 10, 20 25, 50 60) 是 x = y = 0;x = y = 10;x = 20...GEOMETRYCOLLECTION,该类型字段存储是一个图形集合,可以是 POINTLINESTRING、POLYGON 中任意一个多个,如 GEOMETRYCOLLECTION(POINT(...field_length 表示字段内容实际长度,length_bytes 表示存储字段内容长度占用字节数(1 字节 2 字节)。

    1.2K40
    领券