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

如何从Postgis中实际位于多边形内部的多边形中获取最近点

从PostGIS中获取最近点的方法可以通过以下步骤实现:

  1. 首先,使用ST_Within函数来确定哪些多边形实际位于指定多边形内部。ST_Within函数接受两个几何对象作为参数,如果第一个几何对象完全位于第二个几何对象内部,则返回true,否则返回false。
  2. 示例查询语句:
  3. 示例查询语句:
  4. 接下来,使用ST_Distance函数来计算每个位于内部的多边形与指定多边形之间的距离。ST_Distance函数接受两个几何对象作为参数,并返回它们之间的最短距离。
  5. 示例查询语句:
  6. 示例查询语句:
  7. 最后,使用LIMIT子句来限制结果集的大小,以获取最近的多边形。
  8. 示例查询语句:
  9. 示例查询语句:

这样,你就可以从PostGIS中获取实际位于多边形内部的多边形中的最近点了。

关于PostGIS的更多信息和使用方法,你可以参考腾讯云的云数据库PostgreSQL文档:PostGIS

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

相关·内容

POSTGIS 总结

参考:  https://zhuanlan.zhihu.com/p/67232451 空间数据存储 二、空间数据存储 使用geography这种数据类型时,PostGIS内部计算是基于实际地球球体来计算...与直觉相反,执行空间索引搜索并不总是更快:如果搜索将返回表每条记录,则遍历索引树以获取每条记录实际上比从一开始线性读取整个表要慢(注意这句话)。...ST_PointOnSurface(geometry) —— 返回保证在输入多边形计算上讲,它比centroid操作代价要大得多。...多边形简单性与有效性 7.3.1 单多边形 有效性: 多边形环必须闭合 内环应该处于外环内部 环不能自相交(它们不能相互接触,也不能交叉) 环不能与其他环接触,除非在某个相切(只能有一个在一个相切...**边界框(矩形)**相同,则图形相等 九、最近领域搜索 执行最近邻域搜索简单方法是按与要查询几何图形距离对候选表进行排序,然后获取最小距离对应表记录 SELECT streets.gid, streets.nameFROM

5.7K10

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

,将其替换为点将强制它位于一侧或另一侧,而不是与两侧多边形都相交 ST_Centroid(geometry) —— 返回大约位于输入几何图形质心上。...ST_PointOnSurface(geometry) —— 返回保证在输入多边形计算上讲,它比centroid操作代价要大得多。...对线段:内部是以端点为界限线那一部分;边界是线性要素端点;外部是平面内部和边界外所有其他部分。 对于点来说,更奇怪:内部,边界是空集,外部是平面上除以外所有其他部分。...注意上面有一个dim参数,规则是:对于上例多边形内部交集是二维区域,因此矩阵对应部分用"2"填充。边界仅在零维处相交,因此对应矩阵部分用"0"填充。 再举一个栗子。...关于它们交集DE9IM矩阵如下: 请注意,以上两个要素边界实际上根本不相交(线端点与多边形内部相交,而不是与多边形边界相交,反之亦然),因此B/B单元用"F"填充。

2.7K50

PostGIS空间数据库简明教程

将其视为 OOP 世界基类。 这意味着我们可以在同一列组合、线、多边形和其他矢量对象。 如果我们事先知道我们将处理哪些几何图形,我们可以将其指定为列类型定义一部分。...它在某种程度上类似于栅格,表示离散数据集,由单个而不是形状组成。 然而,与光栅不同是,它没有分辨率或密度,因此可以位于 3D 空间中任何位置。...每当我们平移或缩放地图时,系统都需要确定应从存储获取哪些对象并在屏幕上呈现。 这通常是通过将对象与代表地图可见部分矩形相交来完成。...它包括有关坐标系信息、(0, 0) 点在地球上位置、坐标的分辨率以及地图上坐标如何与地球上实际相对应。...ST_Transform 将所有坐标源 SRID 转换为目标 SRID,并输出一个 SRID 为 4326 多边形,该多边形可以与另一个多边形相交而不会出现错误。

2.8K30

PostGIS特性

PostGIS特性 1、PostGIS支持所有的空间数据类型,这些类型包括:(POINT)、线(LINESTRING)、多边形(POLYGON)、多点 (MULTIPOINT)、多线(MULTILINESTRING...6、PostGIS提供了空间操作符(如Union和Difference)用于空间数据操作。 比如,Union操作符融合多边形之间边界。...两个交迭多边形通过Union运算就会形成一个新多边形,这个新多边形边界为两个多边形中最大边界。...在OpenGIS几何类型都将SRID作为自身结构一部分,但不知什么原因,在OpenGISSFSQL规范,并没有引入Transform。...例如,即便 所有几何对象内部都以三维形式存储,纯粹二维交叉通常还是以二维形式返回。此外,还提供几何对象在不同维度间转换功能。

1.7K30

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

YMatrix适用于各种规模设备数据融合与物联网时序应用场景,本案例以具体案例来说明YMatrix在PostGIS数据加载、处理和分析能力以及时空数据具体使用方法,首先我们先了解下PostGIS...ST_GeometryN(geometry,int)获取多几何对象第N个对象ST_NumPoints(geometry)获取几何对象点个数ST_PointN(geometry,integer)获取几何对象第...N个ST_ExteriorRing(geometry)获取多边形外边缘ST_NumInteriorRings(geometry)获取多边形内边界个数ST_NumInteriorRing(geometry...(geometry)获取X坐标ST_Y(geometry)获取Y坐标ST_Z(geometry)获取Z坐标ST_M(geometry)获取M值类型转换函数函数返回类型描述示例结果box(...postgis扩展,postgis适用于当前session数据库,如果其他数据库使用,请切换到其他数据库再次创建即可。

1.7K30

深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis实现精准地理数据存储与检索技巧

在这个全面的GIS技术指南中,我们将一起揭开数据背后世界,发现地理空间查询在大数据分析无限可能!我们将探讨如何有效存储地理空间数据,实现高效地理空间数据查询,以及如何进行精准空间数据分析。...在实际应用,我们可能需要查询某个区域(多边形)内所有点。...注意事项 在使用多边形查询时,要确保多边形是闭合,即开始点和结束是同一个。 在使用空间索引时,要通过 EXPLAIN 语句来检查索引是否被正确使用,并在必要时调整查询条件。...2.3 多边形查询 PostGIS 还允许我们对多边形进行查询。例如,我们可以查询一个是否位于一个多边形内,或者找出与一个多边形相交所有其他多边形。...在这个过程,我们不仅要关注各个数据库在地理空间查询上功能特性,更要理解它们背后工作原理和适用场景,这样我们才能在实际应用做出明智技术选择。

50110

TW洞见 | 可视化你足迹

最近又在重新整理之前GIS知识,重新把这个作为例子来练手。当然,这次会涉及一些地图编辑,空间计算内容。...插入一些由六边形组成图层(设置合适大小) 计算落在各个多边形个数,并生成新图层heatmap 使用MapServer来渲染基本地图 数据抽取 Mac上Photos会将照片元数据存储在一个...SQLite3格式数据库,文件名为Library.apdb,通常位于这个位置~/Pictures/Photos\ Library.photoslibrary/Database/apdb/Library.apdb...这个过程可能会花费一时间,根据需要计算集合多边形格式(也就是地图上区域)。 完成之后会得到一个Shapefile(其实是一组,具体可以参看这里)。...其实在这个过程,绝大多数多边形是不包含任何数据,我们需要过滤掉这些多余多边形,这样可以缩减绘制地图时间。 我们可以将这个文件导入到PostGIS中进行简化: ?

2K120

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

YMatrix适用于各种规模设备数据融合与物联网时序应用场景,本案例以具体案例来说明YMatrix在PostGIS数据加载、处理和分析能力以及时空数据具体使用方法,首先我们先了解下PostGIS...(geometry A, geometry B) 获取两个几何对象不相交部分(A、B可互换) ST_Difference(geometry A, geometry B) A去除和B相交部分后返回...(geometry,int) 获取多几何对象第N个对象 ST_NumPoints(geometry) 获取几何对象点个数 ST_PointN(geometry,integer) 获取几何对象第N...个 ST_ExteriorRing(geometry) 获取多边形外边缘 ST_NumInteriorRings(geometry) 获取多边形内边界个数 ST_NumInteriorRing(geometry...ST_X(geometry) 获取X坐标 ST_Y(geometry) 获取Y坐标 ST_Z(geometry) 获取Z坐标 ST_M(geometry) 获取M值 类型转换函数 函数

1.4K10

Mongodb GeoJSON 地理数据处理 其实我也很厉害

4 地理数据索引 1 首先我们需要代入如下一些地理概念 point , linestring 线 , polygon 多边形 , MultiPoint 多点 , MultiLineString...],[45,3]} 3 polygon 多边形多边形是通过多个描述通过线来最终组成一个形状,特点是第一个与最后一个一定是一样,否则无法组成闭合图形。...这个存储地理数据JSON标准是由IETF 在2016年发布RFC7946规定的如何存储地理数据。...或者比较多多边形 此外一个document location信息应该集中存放,例如一个人详细信息包含他地址 和 单位地址,如下方经纬度数据存放 db.records.save...下面的查询语句值直接 restaurants collection 查询经纬度在[ -73.9667, 40.78 ] 与这个周围1 公里 到 5 公里存在其他 restaurants 有哪些

1.8K20

Mapinfo高阶-判断点是否位于多边形

主流算法: (1)面积和判别法:判断目标点与多边形每条边组成三角形面积和是否等于该多边形,相等则在多边形内部。...(2)夹角和判别法:判断目标点与所有边夹角和是否为360度,为360度则在多边形内部。 (3)引射线法:目标点出发引一条射线,看这条射线和多边形所有边交点数目。...如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部。 具体做法:将测试点Y坐标与多边形每一个进行比较,会得到一个测试点所在行与多边形交点列表。...Layer4G 是图层 Buildings 是面图层 该查询意思是获取位于多边形元素”,点击确定,查询完毕后返回一张表格; 4、表->导出,选择刚才查询结果 query,保存类型选择...另外算法: 1、将设置为红色; 2、将多边形设置为黑色; 3、查询颜色,黑色则说明位于多边形内,红色则说明位于多边形外。

1.7K20

如何使用postgis做一个高可用附近的人服务?

GIS方面,支持: 空间数据类型,包括:(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、 多线(MULTILINESTRING)、多多边形(MULTIPOLYGON...我们以下几个方面探讨如何做一个可伸缩高可用附近XX。...用户每次请求都需要实际计算,这注定了CPU将成为系统主要争夺。由于RDBMS特性,在内存有限环境,IO也会成为瓶颈,建议有条件尽量挂载SSD硬盘。...路由表可以使用geohash进行分块或者按照实际城市区域代码进行分片映射。...热点取决于你对geohash划分粒度,你可以通过挂载多个库或者将一批cluster进行拆分 2 复制效率和一致性如何解决? 数据库采用standby WAL日志进行复制,速度很快,延迟小。

2.6K50

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

内部:几何对象除边界外所有直接位置(direct position)集合 直接位置是用坐标参考系一组坐标描述位置 几何维数与其本身维数一致 所有几何对象都有内部,即几何对象形状减去其边界后部分...M值:类除了x, y, z坐标外,还有一个M坐标 M值是线性参考系统一个重要度量值 例如,高速公路上里程碑可用其M值表示从高速公路起点到当前位置距离 由于体表面违反了“多边形元素只能相交在有限数量上...LocateAlong用于选取几何M值为mValue,并构造成一个新几何对象 LocateBetween用于选取几何M值在mStart和mEnd之间,并构造一个新几何对象 几何对象逻辑模型与物理模型...类型及其相关方法与函数,并用该扩展几何类型实现空间数据存储和管理 扩展几何类型解释和维护由定义者负责 Oracle SpatialSDO_GEOMETRY、PostGISGeometry...(PostGIS 1.5前测试实际相等性) boolean ST_Equals(geometry A, geometry B);几何在空间上相等则返回true,不考虑顺序。

1.1K20

hover 背后数学和图形学

所以在 Canvas 2D 技术领域也通常会借鉴 WebGL 实现方案,即通过数学方法判断一个是否位于一个不规则多边形内。...WebGL 实现某个图形 hover 以及click、mouseover、mouseout等鼠标事件根本就是上文提到判断一个是否位于一个不规则多边形内。...射线法可以适用于任意多边形,包括有洞(hole)多边形,具体推导过程就不贴了,感兴趣的话可以自己查一下相关资料。 射线法涉及以下三个问题: 如何获取多边形各条边端坐标?...如果多边形某条边是曲线怎么办? 如何判断两条线段有交点? 如何获取多边形各条边端坐标? 这其实并不是一个图形绘制领域问题,而是数据制备领域问题。...所以WebGL任何图形本质上都是多边形,既然是多边形就可以按照上文方案解决多边形相对位置判断问题。 如何判断两条线段有交点?

1.3K10

Google Earth Engine(GEE)——使用 GeoPandas 和 Uber H3 空间索引进行快速多边形分析

在这篇文章,我将向你展示如何创建使用密度图geopandas和h3-py库在Python。 国家地理空间情报局海事安全信息门户以反航运活动消息形式提供所有海盗事件形状文件。...实际数据层是一个ASAM_events.shp位于文件夹内shapefile ASAM_data_download。该数据集包含全球 8000 多个已记录盗版事件位置。...这是原始点图层在 QGIS 可视化效果。 我们将通过在 H3 提供六边形网格上聚合事件点来创建密度图。我们导入库开始。...由于落在网格单元所有点都具有相同 id,我们可以简单地聚合具有相同网格 id 所有行,以找到落在网格多边形所有点。...因此,通过使用基于网格索引系统 - 复杂空间“多边形”操作变成了对表简单聚合。

21810

DE-9IM 空间关系模型

维度扩展九交模型(DE-9IM)是一种拓扑模型和标准,用于描述两个区域(二维两个几何图形,R2)空间关系,在几何学、集拓扑、地理空间拓扑、以及与计算机空间分析相关领域。...如上图所示,淡紫色多边形为条件几何对象(A),淡红色多边形为 测试几何对象(B),图中 黑色 部分表示两个几何对象对应部分(内部、边界、外部)之间相交(或者说重合)部分( A....Contains T*****FF* 被测试几何对象B位于条件几何对象A内部(A Contains B)。...,并且相交部分维度数小于A或B至少一个维度数。...not Disjoint Covers (涵盖了) T*****FF* 或 *T****FF* 或 ***T**FF* 或 ****T*FF* A Covers B:A至少一个位于B,A任何都不位于

6310

Google Earth Engine(GEE)——点线面运算及其交集并集等

根据奇偶规则,如果该点到已知在多边形外部某个线与奇数个其他边相交,则该点在多边形内部多边形内部是壳内所有东西,而不是孔内。...作为一个简单例子,圆形多边形一个必须正好穿过一条边才能脱离多边形。如有必要,几何图形可以选择使用“左内”规则。想象一下按照给定顺序走环内部将在左侧。...为了演示使用“左向内”规则 ( ) 创建几何与使用“奇偶”规则创建几何之间区别,以下示例将一个与两个不同多边形进行比较:evenOdd: false // 创造一个左侧几何图形用来验证是不是包含在里面...Polygon构造左多边形时,提供给构造函数坐标顺序如何 影响结果。...具体来说,该位于左内多边形之外,但位于奇数多边形内。 以下示例基于两个多边形之间关系计算和可视化派生几何:也就是两个几何图形之间交、并、非集。

16510

你被追尾了

只需要找出 矩形上离圆心最近,然后通过判断该与圆心距离是否小于圆半径,若小于则为碰撞。 那么如何找出矩形上离圆心最近呢?...这就是分离轴定理名字由来. ? 但是程序遍历所有光源角度是不现实,那如何确定 投影轴 呢?其实投影轴数量与多边形边数相等即可。 ?...注意,投影过程,我们就能看出为什么 SAT 定理只能针对凸多边形有效,因为凸多边形有一个凹多边形不具备性质.就是凸多边形在它任何一条边同侧,而凹多边形可能在它某条边异侧....我们只需将圆形投射到一条投影轴上即可,这条轴就是圆心与多边形顶点中最近连线,如图所示: ? 因此,该投影轴和多边形自身投影轴就组成了全部待检测投影轴了。...context.beginPath() context.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false) } // 获取和圆心最近多边形一个

4.6K30

一个R语言中操纵矢量空间数据标准化工具—sf

在使用ggplot2绘图时,先利用fortify函数将sp对象转化成数据框(该数据框里存放着每一个多边形构成信息),以此来尝试“简化”多边形对象,这样既不优雅,也不高效。...POLYGON:多个数据矩阵(每行由多点组成)组成列表(多边形边界内部可能嵌套若干个孔洞) MULTILINRSTRING:多个数值矩阵(每行由多点组成)组成列表 MULTIPLOYGON:POLYGON...与其他计算系统连接和可伸缩性 在许多情况下,使用R分析空间数据导入数据开始,或者文件或数据库导出数据结束。...目前主要通过RPostgreSQL来与PostGIS一起工作,当然,使用RPostgres以及DBI来读写空间数据库功能仍然进一步开发完善。...一篇关于在sf设置空间索引博文 描述了如何使用索引操纵大内存空间数据集。对于球面数据,还需要研究liblwgeom或s2提供索引。

4.1K51
领券