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

POSTGIS 总结

(九)PostGIS-几何图形的相等 PostGreSQL(十)PostGIS-最近领域搜索 PostGreSQL(十一)PostGIS-其他函数 一、PostGIS介绍 PostGIS是一个空间数据库...以下语句分辨检查了2个几何对象的正确性,显然,(0, 0)点和(1,1)点可以构成一条线,但是(0, 0)点和(0, 0)点则不能构成,这个语句执行以后的得出的结果是TRUE,FALSE。...这将强制统计系统收集所有索引列的统计信息。 ANALYZE命令要求PostgreSQL遍历该表并更新用于查询操作而估算的内部统计信息。...) 多边形的环只要不自相交,则该多边形就是简单的 7.3.2 多多边形 多多边形里只要各个子元素(单多边形)是简单的、有效的,而且子元素之间只在有限的点上接触,那么它就是简单的、有效的。...**边界框(矩形)**相同,则图形相等 九、最近领域搜索 执行最近邻域搜索的简单方法是按与要查询的几何图形的距离对候选表进行排序,然后获取最小距离对应的表记录 SELECT streets.gid, streets.nameFROM

6.2K10

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

第二张表(实际上是视图-view)geometry_columns —— 提供了数据库中所有空间数据表的描述信息 通过查询该表,GIS客户端和数据库可以确定检索数据时的预期内容,并可以执行任何必要的投影...但是这个哥们只表示了二维,而PostGIS扩展了3维、4维的表示。 说人话,就是可以表示:点、线串、多边形、图形集合(Collection)。 举一个图形集合的例子。...SELECT name, ST_AsText(geom) FROM geometries WHERE name = 'Collection'; 返回结果就是一个点和一个多边形的集合。...SELECT code, ST_X(geog::geometry) AS longitude FROM airports; 3.几何图形创建函数 目前我们看到的所有函数都可以处理已有的几何图形并返回结果...几何图形创建函数"以几何图形作为输入并输出新的图形。 3.1 以点代形 组成空间查询时的一个常见需求是将多边形要素替换为要素的点表示。

7.6K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    能通过 SQL 调用 KML、GML、GeoJSON、GeoHash、WKT 等标准文本类型的矢量数据的函数。矢量或栅格操作函数,包括按区域伸缩栅格像元值、局域统计、按矢量图形裁剪栅格、矢量化栅格等。...(geometry set)返回一系列几何对象的合并结果ST_MemUnion(geometry set)用较少的内存和较长的时间完成合并操作,结果和ST_Union几何对象存取函数函数说明ST_AsText...(geometry)获取点的X坐标ST_Y(geometry)获取点的Y坐标ST_Z(geometry)获取点的Z坐标ST_M(geometry)获取点的M值类型转换函数函数返回类型描述示例结果box(...借助YMatrix提供的丰富SQL能力,可以快速检测并清除这些无效错误数据。 一种错误情况是下车时间早于或者等于上车时间,我们把is_valid字段设置成false表示该数据无效。...,需要将纬度和经度点转换为几何坐标,来根据该经纬度的位置统计出租车的数量。

    1.8K30

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

    PostGIS的特点 1、PostGIS 具有强大的功能,具有以下的特点 2、PostGIS支持空间数据类型,包括点(POINT)、线(LINESTRING)、面(POLYGON)、多点 (MULTIPOINT...ST_Union(geometry, geometry) 返回两个几何对象的合并结果 ST_Union(geometry set) 返回一系列几何对象的合并结果 ST_MemUnion(geometry...mxadmin用户登录到数据库并创建postgis扩展,postgis适用于当前session数据库,如果其他的数据库使用,请切换到其他数据库中再次创建即可。...借助YMatrix提供的丰富SQL能力,可以快速检测并清除这些无效错误数据。一种错误情况是下车时间早于或者等于上车时间,我们把is_valid字段设置成false表示该数据无效。...,需要将纬度和经度点转换为几何坐标,来根据该经纬度的位置统计出租车的数量。

    1.5K10

    如何在Ubuntu 14.04上安装和配置PostGIS

    PostGIS允许您使用几何和地理数据类型存储空间数据,使用空间函数执行空间查询以确定区域,距离,长度和周长,并在数据上创建空间索引以加速空间查询。...我们现在可以连接到PostgreSQL并集成PostGIS。 第二步 - 使用PostGIS启用Spacial功能 必须先基于每个数据库激活PostGIS的功能,然后才能存储空间数据。...第五步 - 查询空间数据 假设我们要找到世界上十个最北方的国家。使用PostGIS和我们导入的数据很容易。 重新登录test1数据库。...ORDER BY latitude DESC LIMIT 10; 我们按降序排列结果,因为最偏北的国家将拥有最高的纬度。...结论 现在,您已为空间查询配置了一个空间启用的数据库,并且您可以在该数据库中使用一些数据进行进一步探索。

    2.5K00

    pgrouting 路径规划_路径分析是什么意思

    该扩展库依托PostGIS自身的gist索引,丰富的坐标系与图形类型,强大的几何处理能力,如空间查询,空间处理,线性参考等优势,能保障在较大数据级别下的网络分析效果更快更好。   ...PostGIS早已奠定了最优秀的开源空间数据库地位,在新时代GIS中的应用将会越来越普遍。...最后,路径分析不仅仅是最短路径,在实际应用中还有最短耗时,最近距离,道路对车辆类型限制,道路对速度限制等因素,交通事故、市政事故导致的交通障碍点等问题,所有的问题本质其实是对路径分析权重(Weight)...,图的长度一般设置为权重,路网分析中,具体到此交通领域,也分为双向通行道路,单向通行道路,交通师父导致的临时交通阻塞无法通行(障碍点),不同等级道路对车辆类型限制,以下是不同条件下如何设置通行成本权重的相关示例...pgrouting官网 3.结果查看 可以将查询到的数据生成到一个新表,然后通过udig查看路径分析的结果是否正确 参考资料 1.https://www.jianshu.com/p/34c8378c3da9

    1.3K30

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

    基本数据结构如下: 有三个比较重要的点 通过create extension语句创建postgis插件,每个库只能创建一次 创建一个gis类型字段,支持POINT、POLYGON等多种数据类型,我们后续的排序和计算都将使用此字段...为loc字段创建空间索引(GIST索引),可以进行排序、计算距离等 如图,我们要查询某个用户最近N天附近的人,根据距离有近到远进行排序,查询第一页,每页25条 使用planar degrees 4326...坐标系计算两个点之间的距离(Point(x,y)) 将查询的结果转换为meters 26986坐标系表示的距离,此即普通单位米。...单表300W+数据,2k+ QPS下,执行只花费了7ms(24核、32G、SATA),算得上是非常神奇了。 实现/集群 分布式计算第一定律:如果不是真正需要就不要让系统分布式。...、区块包含查询 要求大部分查询能够在100ms内返回,部分长尾请求不超过1s 要求支持集群环境基本的failover、SLB功能 分析 系统实时性要求比较高,所以并不能通过折衷方案进行结果缓存。

    2.7K50

    如何在Ubuntu 14.04上安装和配置PostGIS

    PostGIS允许您使用几何和地理数据类型存储空间数据,使用空间函数执行空间查询以确定区域,距离,长度和周长,并在数据上创建空间索引以加速空间查询。...我们现在可以连接到PostgreSQL并集成PostGIS。 第2步 - 使用PostGIS启用Spacial功能 必须先基于每个数据库激活PostGIS的功能,然后才能存储空间数据。...类型 \q 退出SQL会话并返回到终端提示符。 然后切换回您的主用户帐户: su sammy 我们现在有一个安装了PostGIS的数据库,但让我们调整一些PostgreSQL设置以顺利进行下一步。...ORDER BY latitude DESC LIMIT 10; 我们按降序排列结果,因为最偏北的国家将拥有最高的纬度。...\q 结论 现在,您已为空间查询配置了一个空间启用的数据库,并且您可以在该数据库中使用一些数据进行进一步探索。

    1.6K00

    geotrellis使用(三十)使用geotrellis读取PostGIS空间数据

    之前看geotrellis源码看到有关geotrellis.slick的相关部分,仅大概浏览了一番,知道是用于读取PostGIS数据库的,未做深入研究,又恰巧前几日有老外在gitter上问了如何读取PostGIS...JDBC方式我是亲自测试过的,在geotrellis使用(十一)实现空间数据库栅格化以及根据属性字段进行赋值一文中,我详细讲述了如何从PostGIS中读取空间数据并进行栅格化操作;然而我也有极度强迫症,...2.3 创建数据库表与实体类映射 首先要在PostGIS中创建一个数据库(此处假设为test),此数据库要选择空间模板以使该数据库支持空间操作。...在创建映射之前,需要先创建一个类使得程序能够正确识别此类映射并加入相应PostGIS扩展。...q.result.statements) db.run(q.result).futureValue.toList } 上述函数中直接对geom对象进行asEWKT操作,将Point转化为WKT语言,并输出查询结果

    1.7K70

    PostGIS空间数据库简明教程

    如果我们在使用 Google 地图应用程序时想一想它是如何工作的——缩放、平移、单击对象,我们可以推断出对空间数据最常用的操作是交集。...它包括有关坐标系的信息、(0, 0) 点在地球上的位置、坐标的分辨率以及地图上的坐标如何与地球上的实际点相对应。...,ST_Transform 将所有坐标从源 SRID 转换为目标 SRID,并输出一个 SRID 为 4326 的多边形,该多边形可以与另一个多边形相交而不会出现错误。...处理此问题的一种方法是在将所有对象插入数据库时对所有对象执行 ST_Transform,并始终保持 SRID 之间的一致性。...如果精度对软件至关重要,那么将原始对象和转换后的对象都存储在数据库中并交替使用它们可能是个好主意。

    3.1K30

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

    在这个全面的GIS技术指南中,我们将一起揭开数据背后的世界,发现地理空间查询在大数据分析中的无限可能!我们将探讨如何有效存储地理空间数据,实现高效的地理空间数据查询,以及如何进行精准的空间数据分析。...我们可以通过ST_Distance_Sphere函数计算两点间的距离,并结合ORDER BY和LIMIT进行筛选。...我们可以用 ST_Distance 函数来计算两个地理空间对象之间的最短2D路径(在地球表面的最短距离),并结合 ORDER BY 和 LIMIT 对查询结果进行排序和筛选。...在执行查询时,要确保你的坐标数据的顺序和坐标系是正确的,以避免出现错误的查询结果。...例如,在一个基于位置的推荐系统中,我们可以将地理位置信息和用户喜好信息存储在不同的数据结构中,并通过组合查询来获得推荐结果。

    87510

    空间索引 - 各数据库空间索引使用报告

    如果在 lon,lat 上创建多列索引,查询到同一经度、纬度相近的数据固然快,但附近的点并不只是经度相同。 如此下来,就要用到空间索引了。...但是测试发现,mongo 有以下问题: 在进行大量数据时,性能会急剧下降,特别在符合条件的结果很多时,查询时间简直没法看。...Mongo 对分词模糊查询的支持不太好,要进行按地点名字模糊查询还需要想办法。 Mongo 的安全性配置是个问题。...PostGIS 实现了 Open Geospatial Consortium 所提出的基本要素类(点、线、面、多点、多线、多面等)的 SQL 实现参考。...来切换是否显示命令执行时间; 结论 postgreSQL 对空间查询的支持非常灵活,足以支持多种复杂的空间查询,PostGIS 能计算不同投影坐标系下的真实空间距离,且查询效率极高,在大量数据时也不会像

    7.6K81

    《增强你的PostgreSQL:最佳扩展和插件推荐》

    最近,有不少伙伴在搜索“PostgreSQL 扩展推荐”、“PostgreSQL插件增效” 等词条,想要找到一些能够增强自己数据库能力的利器。...查询工具:pgAdmin 提供了一个内置的 SQL 查询工具,允许用户执行 SQL 查询并查看结果。...以下是一个示例,展示如何安装名为 extension_name 的扩展: CREATE EXTENSION extension_name; 这将在当前数据库中安装并启用扩展。...常见的使用场景与最佳实践 5.1 使用 PostGIS 进行地理查询 当需要进行地理信息系统 (GIS) 查询时,安装和使用 PostGIS 扩展非常有用。...它允许你在 PostgreSQL 中存储、查询和分析地理和空间数据,例如范围查询、距离计算、地理坐标转换等。最佳实践包括: 学习 PostGIS 的基本概念和函数,以充分利用其功能。

    1.4K10

    【实战】如何通过PostGIS实现附近的人

    |导言:PostGIS是业界功能最全面,能力最强大的空间地理数据库引擎。现实业务开发中,经常会遇到有附近的某某的需求,如何快速实现呢,PostGIS+PostgreSQL可以帮到你。...本文就讲解如何通过PostGIS实现附近的对象这个功能,实际很简单就一条SQL可以搞定。...首先,我们准备一个PostgreSQL数据库实例,并且此数据库实例需要支持PostGIS插件,版本不挑剔,此为基本能力。...此处用 天安门广场的坐标作为示例:116.404177,39.909652 第五步:明确好要查询的坐标,就直接在数据库中找到这个坐标最近的5个对象,并且输出这五个对象离此地的距离,此处单位是 百公里。...GPS是基于WGS84的,所以通常我们得到的坐标数据都是WGS84的。一般我们在存储数据时,就仍然按WGS84存储。

    2.1K40

    postgresql安装时there has been an error error. running win10下安装postgresql打开报错

    但…一运行还是报同样的错 然后我在网上查询windows安装postgreSQL有没有其他方式 结果找到了一个windows下安装PostgreSQL的另外一种方式...: 1.windows用户名含中文的创建一个新用户 链接 2.换个postgresql其他版本安装 2020.7更新:找到一个网址讨论该问题的,看看别人的解决方法点击此处跳转...PostGIS通过向PostgreSQL添加对空间数据类型、空间索引和空间函数的支持,将PostgreSQL数据库管理系统转换为空间数据库。.../details/52014737 注:创建数据库后,需要通过添加postgis插件,才可以转换为空间数据库,才可以导入空间数据,具体操作见postGIS教程 ArcGIS连接PostgreSQL...'D:/data.txt'; 1 注:写入路径不能含中文 分别查询点坐标的x、y值 select st_y(geom),st_assvg(geom),st_astext(geom) from

    8K51

    PostGIS导入导出栅格数据

    上一篇博文PostGIS导入导出ESRI Shapefile数据介绍了如何导入空间矢量数据到PostgreSQL中,紧接上一篇,本文将介绍如何使用PostGIS导入导出空间栅格数据。...可以看到有一个rid和rast的列,rid是以一个整形对插入的栅格数据进行的标示,rast列的类型是raster存储了具体数据。 ---- 如果想要导出数据,可以使用PostGIS提供的内置函数。...我使用如下命令进行修改: sudo vim /etc/postgresql/9.5/main/postgresql.conf 在该配置文件后面添加: postgis.gdal_enabled_drivers...第二个问题是:这些内置函数提供的导出结果是PostgreSQL的bytea (byte array)数据类型,我们需要自己写程序进行转换成实际的图像文件。...---- 下面我使用Python的Psycopg库连接PostgreSQL数据库,进行查询并导出最终的结果。

    4.6K20

    如何使用DNS和SQLi从数据库中获取数据样本

    服务器将接收该主机的查询,允许我提取来自请求的数据。...在下面的示例中,红框中的查询语句将会为我们从Northwind数据库中返回表名。 ? 在该查询中你应该已经注意到了有2个SELECT语句。...内部SELECT语句(在上面截图中调用的)返回Northwind数据库中表名的前10个结果,并按升序字母顺序排序。然后,外部(第一个)SELECT语句选择按字母顺序降序排序的结果集的第一个结果。...如下所示,完整的查询只返回第10个表的名称。这是因为我们首先返回了10个结果,并按升序字母顺序排序,然后我们又执行了第二个SELECT,其中只返回按降序字母顺序排序的第一个结果。...这样一来查询结果将只会为我们返回表名列表中的第10个结果。 ? 知道了这一点后,我们就可以使用Intruder迭代所有可能的表名,只需修改第二个SELECT语句并增加每个请求中的结果数即可。 ?

    11.5K10
    领券